4

AndroidマニフェストファイルでAdMobインストールレシーバーを使用しています。例:

<!-- 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レシーバーは呼び出されません。

とにかく両方を呼び出せるようにすることはできますか?

ありがとう

4

1 に答える 1

1

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);
    }
}
于 2011-08-18T22:47:01.850 に答える