2012-05-14 2 views
0

Я создал приложение, которое имеет BroadcastReceiver, которое захватывает широковещательную передачу INSTALL_REFERRER.BroadcastReceiver не поймал сообщение INSTALL_REFERRER

Когда я устанавливаю приложение с помощью eclipse и создаю трансляцию с помощью adb, я вижу, что все работает нормально, LogCat отображает все, что должно быть. Но когда я устанавливаю приложение из магазина воспроизведения, ничего не отображается на логарифме. Если я правильно понимаю, приложение магазина воспроизведения должно создать трансляцию, которую приложение, которое предполагается установить, должно поймать, не так ли?

То поясню, что им делать:

public class SDK_Referrer extends BroadcastReceiver 
{ 
    public void onReceive(Context context, Intent intent) 
    { 
     if (intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) 
     { 
      String referrer = intent.getStringExtra("referrer"); 
      if (!(referrer == null || referrer.length() == 0)) 
      { 
       // extracting the relevant data to Map 
       Log.d("SAMPLE", "Generating Ymid from referrel"); 
       Map<String, String> referralmap = 
        createHashMapFromQueryString(referrer); 
       Log.d("SAMPLE", "Ymid is: " + referralmap.get("ymid")); 
      } 
     } 
    } 
} 

я только хочу, чтобы отправить коснуться к серверу во время установки приложения. Спасибо!

ответ

1

Вам нужно добавить приемник в свой манифест, чтобы ваше приложение узнало, что у вас есть что-то, что прослушивает трансляцию. Что-то вроде этого:

<receiver android:name="com.company.cool.SDK_Referrer" android:exported="true"> 
    <intent-filter> 
     <action android:name="com.android.vending.INSTALL_REFERRER" /> 
    </intent-filter> 
    </receiver> 
Смежные вопросы