install_referrer 意图弃用

Pav*_*ley 78 android firebase

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

我们最近宣布将弃用 install_referrer 意图广播机制。由于您的一个或多个应用使用此 Intent 来跟踪引荐,我们希望确保您在 2020 年 3 月 1 日之前进行切换。在此日期之后,Play 商店应用的新版本将不再在应用安装后广播 install_referrer Intent。

我没有install_referrer直接使用,但是在浏览合并的清单时,我发现一些以包名命名的 firebase 服务com.google.firebase.measurement使用它。

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

我应该关心它吗?

Pav*_*ley 39

来自 Firebase 支持:

这是一个很好的收获。谢谢让我们注意到这个。到目前为止,您无需 [采取] 行动,我已经创建了一个内部请求,因此我们可以在弃用之前为 install_referrer 意图广播提供替代方案。截至目前,我们尚未找到有关何时实施的任何细节或时间表。您可以不时查看我们的发行说明,了解有关 Firebase 功能及其服务的任何更新。

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

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

要查找install_referrer包含在哪个库中,打开合并清单并搜索install_referrer,检查install_referrer包含的服务的包名称 。

  • 查看合并的清单显示来自 Firebase 的 install_referrer。应该是公认的答案!拯救了我的一天!谢谢 (3认同)
  • 有没有来自 firebase 的消息,我将其更新到版本 17.2.2 但仍然找到 com.android.vending.INSTALL_REFERRER (3认同)

And*_*ewS 14

com.google.firebase:firebase-core:17.2.1com.google.firebase:firebase-analytics:17.2.1添加INSTALL_REFERRERAndroidManifest. 可能需要等到 Firebase 团队更新这些包才能使用新的 API。

  • @MouaadAbdelghafourAITALI 那么在您的情况下应该有一些其他库使用已弃用的 API。 (2认同)
  • 谢谢,所以主要问题来自 Firebase 库 (2认同)
  • 检查应用程序的“AndroidManifest.xml”中的合并清单选项卡,然后查找“<intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter>”。然后,如果您选择该行,它会告诉您它来自哪个库。在我们的例子中,它是“播放服务广告”。 (2认同)

小智 9

各种 SDK 可以为安装引用注册接收器。

对于不确定哪个 SDK 将接收器添加到您的清单的开发人员,查看清单合并指责文件很有用。通常,在build/有一个文件intermediates/manifest_merge_blame_file/release/manifest-merger-blame-release-report.txt

在该文件中,您需要找到具有

<action android:name="com.android.vending.INSTALL_REFERRER" />
Run Code Online (Sandbox Code Playgroud)

在它的意图过滤器中,它之前的行将指示该行的来源在您的清单中。

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

44        <receiver
44-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:29:9-35:20
45            android:name="com.appbrain.ReferrerReceiver"
45-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:30:13-57
46            android:exported="true" >
46-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:31:13-36
47            <intent-filter>
47-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:32:13-34:29
48                <action android:name="com.android.vending.INSTALL_REFERRER" />
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            </intent-filter>
50        </receiver>

Run Code Online (Sandbox Code Playgroud)

这表明 AppBrain SDK(我是其中的一名开发人员)为安装引用添加了一个接收器。我们博客文章中的以下图片解释了究竟发生了什么变化(https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc)阐明了谷歌正在改变的内容: Google Play 引用 API 的更改


Sof*_*uni 5

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

 implementation ('com.google.firebase:firebase-ads:17.2.0')
{
    exclude group: 'com.google.firebase', module: 'firebase-core'
    exclude group: 'com.google.firebase', module: 'firebase-analytics'
    exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
}
Run Code Online (Sandbox Code Playgroud)

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

另一方面,如果您使用跟踪分析,Google 会要求在 2020 年 3 月之前切换到 Install Referrer API https://developer.android.com/google/play/installreferrer/library.html


Fax*_*yev 5

我针对此问题检查了 Firebase 支持代理。Firebase 库正在使用 install_referrer,我从 Firebase 支持代理收到以下响应:

这是一个很好的收获。谢谢让我们注意到这个。我目前正在与我们的分析专家进行讨论,并将在 48 小时内或在获得更多信息后立即回复。目前,您无需采取任何行动,请等待 Firebase 团队的下一次更新。

我相信我们需要等待 Firebase 的下一个版本。Firebase 团队更新这些包以使用新的 API。

如果您自己在代码中使用了这个 API,那么您需要立即更改它,因为您不依赖于 firebase 或任何其他第三方库提供者。