Android Manifest 中不能有多个 INSTALL_REFFERER 接收器

发布于 2024-10-19 08:37:42 字数 559 浏览 0 评论 0原文

我在我的 Android Manifest 文件中使用 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 不会被调用。

无论如何,我可以让两个人都被叫吗?

谢谢

I am using the AdMob install receiver in my Android Manifest file, e.g.

<!-- 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>

However, I also wish to use my own INSTALL_REFFERER receiver. The problem is, when I include my own receiver after the AdMob one, it never gets called. If I include mine before the AdMob receiver in the manifest file, mine gets called but the AdMob one doesn't.

Is there anyway I can get both to be called?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泪意 2024-10-26 08:37:42

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);
    }
}

Android app cannot have multiple receivers which have the same intent-filtered action.

Make the proxy receiver like this:

in 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>

in 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);
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文