安装 referrer 意图弃用

共6个回答, 标签: android firebase

我收到了谷歌的电子邮件:

我们最近宣布将否决 install_referrer 意图广播机制。因为你的一个或多个应用程序使用这种意图来跟踪推荐,我们希望确保你在 2020 年 3 月 1 日之前进行转换。在此日期之后,新版本的 Play Store 应用程序将在应用程序安装后不再广播 install_referrer 意图。

我没有使用install_referrer directly, but while browsing merged manifest i discovered that some firebase service named with package name com.google.firebase.measurement使用它。

我的 firebase 依赖关系更新到最新版本。

我应该关心它吗?

第1个答案

从 Firebase 支持:

这是一个伟大的陷阱。谢谢你让我们注意到这一点。 没必要 [采取] 行动的结束,至目前为止,我制造了一款 内部请求,以便我们可以为 Install_referrer 意图广播之前,其否决。截至目前, 我们还没有找到任何细节或时间表 已实施。您可以随时查看我们的发行说明 关于 Firebase 功能及其服务的更新。

奇怪的是谷歌的产品没有同步。

但是,如果您没有使用 Firebase,并且您的应用程序包含使用的第三方库install_referrer请直接与他们核实。

第2个答案

com.google.firebase:firebase-core:17.2.1 and com.google.firebase:firebase-analytics:17.2.1 add INSTALL_REFERRER to AndroidManifest。可能需要等到 Firebase 团队更新这些包才能使用新的 API。

第3个答案

在检查了我构建的 apk 上的清单文件后,我发现了 firebase Core Analytics 上的 Firebase-测量-连接器模块使用的安装 refeer 广播,所以我排除了它们:

实现 ('com.google.firebase: firebase-ads: 17.2.0')
{
排除组: “com.google.Firebase”,模块: “firebase-core”
排除组: “com.google.Firebase”,模块: “firebase-analytics”
排除组: “com.google.Firebase”,模块: “firebase-测量-连接”
}

然后通过分析 APk 再次检查我的清单 mereged 文件,安装 refeer 广播消失了。

另一方面,如果你使用 track analytics,Google 会要求切换到 Install Referrer APIHttps://developer.android.com/google/play/installreferrer/library.html2020 年 3 月之前

第4个答案

安卓开发者博客上有一篇关于这个的文章

Https://android-developers.googleblog.com/2019/11/still-using-installbroadcast-switch-to.html

同样在这篇文章中,他们提到了 install_referrer 意图广播机制的旧实现,并提供了完整的信息。所以我们可以在现有代码中找到这一点。

Https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-campaigns

第5个答案

各种 SDKs 可以为安装推荐人注册一个接收器。

对于那些不确定哪个 SDK 在清单中添加了接收器的开发人员来说,查看清单合并责任文件是有用的。 通常,在build/ there's a file intermediates/manifest_merge_blame_file/release/manifest-merger-blame-release-report.txt

在那个文件中,你需要找到有

在它的意图过滤器中,它之前的行将表明该行的来源在你的清单中。

例如,我的一个应用程序的相关行如下所示:

44[Com.appbrain: appbrain-sdk: 15.10]./jetified-appbrain-sdk-15.10/AndroidManifest.xml: 29: 9-35: 20
45 android: name = "com.appbrain.Referrreceiver"
45-> [com.appbrain: appbrain-sdk: 15.10]./jetified-appbrain-sdk-15.10/AndroidManifest.xml: 30: 13-57
46 安卓: 导出 = "true">
46-> [com.appbrain: appbrain-sdk: 15.10]./jetified-appbrain-sdk-15.10/AndroidManifest.xml: 31: 13-36
47
47-> [com.appbrain: appbrain-sdk: 15.10]./jetified-appbrain-sdk-15.10/AndroidManifest.xml: 32: 13-34: 29
48
48-> [com.appbrain: appbrain-sdk: 15.10]./jetified-appbrain-sdk-15.10/AndroidManifest.xml: 33: 17-79
48-> [com.appbrain: appbrain-sdk: 15.10]./jetified-appbrain-sdk-15.10/AndroidManifest.xml: 33: 25-76
49
50

这表明 AppBrain SDK (我是其中的开发人员之一) 为安装引用添加了一个接收器。下面的图片从我们的博客中解释了到底发生了什么变化 (Https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc) 正在澄清谷歌正在改变什么: Change in Google Play referrer API

第6个答案

在我的情况下,当我分析我的调试APK是的,我看到了INSTALL_REFERRER inside the receiver of com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver。我附上下面的 SS。

enter image description here

所以,我在我的项目中添加了以下代码AndroidManifest.xml移除它。这解决了我的问题。

希望这对某人有所帮助。谢谢。

相关问题

无法通过新项目从 jcenter 获取依赖项 [已关闭] 注意: 无法读取获取 [Ljava.lang.Object;@79d6c4df 的 kotlin 元数据 我的单身可以被多次调用 库未加载: @ rpath/fblemises.框架/fblemises iOS 13.3.1 如何在 Flutter 中连接来自两个 Firestore 集合的数据? 安装 referrer 意图弃用