install_referrer意向弃用


76

我收到了Google的电子邮件:

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

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

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

我应该在乎吗?


7
我有同一封信,我不使用firebase。我没有使用install_referrer。我使用ADMOB(谁可以使用install_referrer?)。那么,如果我们不install_referrer自己使用,我们需要改变什么?
user12514252 '19

2
我今天收到此消息,但我不知道该怎么办!我正在使用unity3d,并且已经使用过(Admob和Firebase)
Mahmoud abualamrien 19/12/10

5
我收到了这封电子邮件,并查看了我的合并清单,似乎是Firebase触发了该清单。因此,基本上等到Firebase修复其代码并发布更新?
杰伊·西德里

3
@ A92从Firebase支持处检查我的答案
Pavel Poley19年

3
奇怪的是,我在两个应用程序中都使用了Firebase,但在邮件中却只说明了其中一个应用程序,尽管它是Firebase集成最少的应用程序。
Anigif

Answers:


37

从Firebase支持:

这是一个很大的收获。谢谢让我们注意到这个。到目前为止,您无需从头开始采取任何措施,我创建了一个内部请求,因此我们可以为弃用install_referrer意向广播提供一个替代方法。到目前为止,我们尚未找到何时实施的任何详细信息或时间表。您可以不时查看我们的发行说明,以获取有关Firebase功能及其服务的任何更新。

奇怪的是Google的产品未同步。

但是,如果您不使用Firebase,并且您的应用程序包含第三方库,install_referrer请直接使用它们进行检查。

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


1
希望不久后发布解决方案,我想与安装应用相关的所有事件(例如可能是first_open事件)都不会在2020年3月1日之后发送。在他们发布解决方案之后,所有使用Firebase SDK应该发布新的应用程序-否则Firebase将不会收到任何受影响的事件。
Anigif

1
@Pavel Poley能否请您告诉我,如果我不使用Firebase,该如何检查install_referrer
Mouaad Abdelghafour AITALI

1
@MouaadAbdelghafourAITALI打开合并的清单并尝试查找install_referrer,右键单击声明,您可以看到该服务的软件包名称
Pavel Poley

3
查看合并的清单,显示Firebase的install_referrer。应该是公认的答案!拯救了我的一天!谢谢
Romain Barbier

3
从firebase有任何新闻,我将其更新到版本17.2.2,但仍然找到com.android.vending.INSTALL_REFERRER
Neo

12

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


1
就我而言,我不使用任何Firebase库,并且INSTALL_REFERRER 仍然会出现
Mouaad Abdelghafour AITALI

2
@MouaadAbdelghafourAITALI您的情况下还应该使用不推荐使用的API编写一些其他库。
AndrewS

2
谢谢你,所以主要的问题来自火力地堡图书馆
Mouaad Abdelghafour AITALI

2
检查应用程序中的合并清单标签,AndroidManifest.xml然后查找<intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter>。然后,如果您选择该行,它将告诉您它来自哪个库。就我们而言play-services-ads
蒂姆·基斯特

我将其更新到版本17.2.2,但仍然找到com.android.vending.INSTALL_REFERRER @AndrewS
新Neo

9

各种SDK可以为安装引荐来源网址注册一个接收方。

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

在该文件中,您需要查找具有以下内容的接收器:

<action android:name="com.android.vending.INSTALL_REFERRER" />

在它的intent-filter中,它前面的行将指示清单中该行的来源。

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

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>

这表明AppBrain SDK(我是其中的开发人员之一)为安装引荐来源网址添加了收件人。下一篇来自我们博客文章的图片解释了确切的变化(https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc)正在阐明Google的变化: Google Play推荐人API的更改


太棒了!我不知道这个文件,它帮助我弄清楚了到底在使用什么install_referrer。为了澄清起见,我在app-modules build/文件夹中找到它,而不是在根build/文件夹中。
Anigif

我正在使用Unity3D,但不确定如何使用此信息,您也知道Unity3D的解决方案吗?
Sailendu

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'
}

然后通过分析APk再次重新检查我的清单已定义文件,安装参考广播将消失。

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


我使用Firebase Analytics如何解决它?
A92

5

我检查了Firebase支持代理是否存在此问题。Firebase库正在使用install_referrer,我得到了Firebase支持代理的以下响应:

这是一个很大的收获。谢谢让我们注意到这个。目前,我正在与我们的Google Analytics(分析)专家进行讨论,我们会在48小时内或在我获得更多信息后尽快给您答复。目前,不需要您采取任何措施,请等待Firebase团队的下一次更新。

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

如果您是自己在代码中使用此API的,那么您就需要立即对其进行更改,因为您不必依赖Firebase或任何其他第三方库提供程序。


我将其更新到版本17.2.2,但仍然找到com.android.vending.INSTALL_REFERRER,您如何解决该问题?

是的,同样的情况,Faxriddin Abdullayev听到了支持代理的回复吗?谢谢!
威尔斯

2

Android开发人员博客上有一篇关于此的文章

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


7
OP提到他没有直接集成到该API中……鉴于其相对晦涩的用例,很有可能大多数开发人员都不直接使用此API
Jay Sidri

0

INSTALL_REFERRER不仅带有,Firebase而且带有ADMOB。我可以确认Admob v3.18.3已获得此许可,但不再可以使用Admob v4.2.1。我尚未测试其他版本,但听说某些早期版本,例如4.2.04.1.0也未携带此权限。

但是这里的问题是我们是否需要删除权限,还是需要确保如果我们的应用程序正在使用,Play Install Referrer LibraryINSTALL_REFERRER必须包含。因为所需的操作不是删除它,而是迁移到它。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.