В манифесте Android не может быть более одного получателя INSTALL_REFFERER - PullRequest
4 голосов
/ 27 февраля 2011

Я использую приемник установки AdMob в моем файле манифеста Android, например,

<!-- AdMob Install Receiver -->     
    <receiver android:name="com.admob.android.ads.analytics.InstallReceiver" android:exported="true">
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
    </receiver>

Однако я также хочу использовать свой собственный приемник INSTALL_REFFERER. Проблема в том, что когда я включаю свой собственный получатель после AdMob, он никогда не вызывается. Если я включу мой перед получателем AdMob в файл манифеста, мой будет вызван, а AdMob нет.

Могу ли я в любом случае вызвать обоих?

Спасибо

1 Ответ

1 голос
/ 19 августа 2011

Android-приложение не может иметь несколько получателей, которые имеют одно и то же действие с фильтром намерений.

Сделайте прокси-получатель следующим образом:

в AndroidManifest.xml:

<receiver android:name="com.example.app.TrackingReceiver" android:    exported="true">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER"     />
    </intent-filter>
</receiver>

в TrackingReceiver.java:

public class TrackingReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // call AdMob tracker
        com.google.ads.InstallReceiver ir = new com.google.ads.InstallReceiver();
        ir.onReceive(context, intent);

        // call Analytics tracker
        com.google.android.apps.analytics.AnalyticsReceiver ar = new com.google.android.apps.analytics.AnalyticsReceiver();
        ar.onReceive(context, intent);
    }
}
...