78

I have received email from google:

We recently announced that we’ll be deprecating the install_referrer intent broadcast mechanism. Because one or more of your apps uses this intent to track referrals, we wanted to ensure you make the switch before March 1, 2020. After this date, new versions of the Play Store app will no longer broadcast the install_referrer intent after app installs.

I am not using install_referrer directly, but while browsing merged manifest i discovered that some firebase service named with package name com.google.firebase.measurement use it.

My firebase dependencies updated to latest version.

Should I care about it?

Jay Sidri
  • 6,271
  • 3
  • 43
  • 62
Pavel Poley
  • 5,307
  • 4
  • 35
  • 66
  • 7
    I have the same letter, I don't use firebase. I am not using `install_referrer`. I use ADMOB (who may use `install_referrer`?). So what do we need to change if we are not using `install_referrer` by ourselves? – user12514252 Dec 10 '19 at 21:19
  • 2
    I received this message today but i don't understand what can i do !! I am using unity3d and i have used (Admob & Firebase) – Mahmoud abualamrien Dec 10 '19 at 22:27
  • Same here, We also received it even we are not using any direct referral API. I also not sure which third party lib using it. – Smeet Dec 11 '19 at 05:01
  • Even I got the notification. I am not sure where I used it. It may be the third party libraries that we have integrated. If that is the case then it's gonna painful. – Imran Dec 11 '19 at 05:06
  • I have also received this email. I have not used any third party library. Yes I have use Admob in my App. What should we change ? – sohel.eco Dec 11 '19 at 05:20
  • 5
    I got this email and looked at my merged manifest and it looks like Firebase is the cause for this to trigger. So basically wait until Firebase fixes their code and issues an update? – Jay Sidri Dec 11 '19 at 06:11
  • @Jay Exactly Correct – sohel.eco Dec 11 '19 at 07:40
  • Same here... Not directly using, but using Firebase! – MauroAlexandro Dec 11 '19 at 08:49
  • I have the same letter, News? – A92 Dec 11 '19 at 09:31
  • 3
    @A92 check my answer from firebase support – Pavel Poley Dec 11 '19 at 13:29
  • 3
    The strange thing is I use Firebase in two of my apps, but in the mail it only stated one of the apps, despite it was the app with the least Firebase-integration. – Anigif Dec 11 '19 at 16:45
  • I can not answer, but if somebody uses com.google.android.gms then just update to " implementation 'com.google.android.gms:play-services-ads:18.3.0' " and it will fixed the problem – Style-7 Dec 13 '19 at 08:22
  • is there any news from firebase? – A92 Jan 22 '20 at 15:14
  • Same here, I also got this install_referrer notification from Google. I have 2 apps on the play store both are using firebase but Google mentioned only one app got affected. I am totally clueless about this. I extracted my APK and had a look on the manifest file and found this com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE – Manu Ram V Jan 28 '20 at 05:00
  • 1
    Any updates on this? I still see references on Firebase Analytics 17.2.1. – Wils Mar 05 '20 at 21:43

7 Answers7

38

From Firebase support:

This is a great catch. Thanks for bringing this to our attention. There's no need [to take] action from your end as of now, I've created an internal request so we could provide an alternative for the install_referrer intent broadcast before its deprecation. As of now, we are yet to find out any details or timelines as to when it will be implemented. You can check our release notes from time to time for any updates about Firebase features and its services.

Strange that Google's products are not synchronized.

However if you are not using Firebase and your app contains third party libraries that use install_referrer kindly check directly with them.

To find in which library install_referrer included, open merged manifest and search for install_referrer, check the package name of the service in which the install_referrer included.

Pavel Poley
  • 5,307
  • 4
  • 35
  • 66
  • 1
    Hope it won't be too long before they release a solution, I guess all events related to installing an app (it might e.g. be the `first_open` event) won't be sent after March 1st 2020. And after they release the solution all apps using Firebase SDK should release new apps - or else Firebase won't receive any of the affected events. – Anigif Dec 11 '19 at 16:38
  • 1
    @Pavel Poley can you please tell me how I can check for install_referrer if I do not use Firebase – Mouaad Abdelghafour AITALI Dec 11 '19 at 21:17
  • 1
    @MouaadAbdelghafourAITALI open merged manifest and try to find `install_referrer`, right click go to declaration, you can see the package name of the service – Pavel Poley Dec 11 '19 at 21:29
  • 3
    Looking at merged Manifest shows install_referrer from Firebase. Should be the accepted answer! Saved my day! Thanks – Romain Barbier Dec 13 '19 at 10:16
  • 1
    Has anyone created a github issue for this yet? It's a bit frustrating to leave it hanging and not be notified when a fix is available while being pestered by Google emails to stop using it. – Guykun Dec 16 '19 at 11:51
  • Issue has been created: https://github.com/FirebaseExtended/flutterfire/issues/1594 – valerybodak Jan 15 '20 at 05:58
  • is there any news from firebase? – A92 Jan 22 '20 at 15:14
  • 3
    is there any news from firebase, I updated it to version 17.2.2 but still find com.android.vending.INSTALL_REFERRER –  Feb 16 '20 at 08:46
13

com.google.firebase:firebase-core:17.2.1 and com.google.firebase:firebase-analytics:17.2.1 add INSTALL_REFERRER to AndroidManifest. Probably need to wait till Firebase team updates these packages to use the new API.

AndrewS
  • 2,679
  • 2
  • 14
  • 23
  • 1
    In my case, I do not use any **Firebase libraries**, and `INSTALL_REFERRER` still appear – Mouaad Abdelghafour AITALI Dec 11 '19 at 21:14
  • 2
    @MouaadAbdelghafourAITALI There should ve some other library using deprecated API in your case then. – AndrewS Dec 11 '19 at 21:33
  • 2
    thank you, so the main issue comes from Firebase Library – Mouaad Abdelghafour AITALI Dec 11 '19 at 21:37
  • 2
    Check the merged manifest tab in your app's `AndroidManifest.xml` and look for ` `. Then if you select that line, it'll tell you which library it comes from. In our case it was `play-services-ads`. – Tim Kist Dec 13 '19 at 18:16
  • I updated it to version 17.2.2 but still find com.android.vending.INSTALL_REFERRER @AndrewS –  Mar 03 '20 at 12:05
  • @Neo Why did you decide that 17.2.2 has this issue fixed? As far as I can see from changelog it doesn't contain the fix. It means that Firebase team hasn't yet fixed the issue. – AndrewS Mar 03 '20 at 13:48
  • I just updated to latest version I thought they must fix the issue because we are passed 1 march already @AndrewS –  Mar 04 '20 at 08:08
9

Various SDKs can register a receiver for the install referrer.

For developers who are unsure about which SDK added a receiver to your manifest it's useful to look at the manifest merge blame file. Typically, in build/ there's a file intermediates/manifest_merge_blame_file/release/manifest-merger-blame-release-report.txt

In that file you'll need to find receivers that have

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

in it's intent-filter, and the line before it will indicate what the source of that line is in your manifest.

For instance, the relevant lines for one of my apps looks like this:

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>

This shows that the AppBrain SDK (of which I'm one of the developers) adds a receiver for the install referrer. The following image from our blogpost explaining what exactly changes (https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc) is clarifying what Google is changing: Change in Google Play referrer API

  • Awesome! I was not aware of this file, it helped me figuring out what exactly is using `install_referrer`. Just to clarify, I found it in the app-modules `build/` folder and not in the root `build/` folder. – Anigif Dec 13 '19 at 13:17
  • I am using Unity3D and I am not sure how I can use this info, do you know a solution for Unity3D as well? – Sailendu Dec 14 '19 at 11:17
5

After checking the manifest file on my builded apk, i found the install refeer broadcast used by the firebase-measurement-connector module on Firebase Core Analytics so i exclude them :

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

And then recheck again my manifest mereged file by Analyzing APk and the Install refeer broadcast is disappeared.

On other side, if you use track analytics, Google ask to switch to the Install Referrer API https://developer.android.com/google/play/installreferrer/library.html before March 2020

Sofien Rahmouni
  • 4,354
  • 1
  • 21
  • 22
5

I checked Firebase support agent for this issue. Firebase libraries are using install_referrer, and I got below response from Firebase support agent:

This is a great catch. Thanks for bringing this to our attention. I'm currently in discussion with our Analytics experts and will get back within 48 hours, or as soon as I have more information. For now, no need for any action from your end, wait for the next update from the Firebase team.

I believe we need to wait Firebase's next release. And Firebase team updates these packages to use the new API.

If you have used this API in your code by yourself, then you need to change it immediately as you are not depending on firebase or any other third party library provider.

Fakhriddin Abdullaev
  • 4,169
  • 2
  • 35
  • 37
  • I updated it to version 17.2.2 but still find com.android.vending.INSTALL_REFERRER, how you solve the problem? –  Mar 03 '20 at 12:08
  • Yeah, same situation, Faxriddin Abdullayev have heard back from the support agent? thank you! – Wils Mar 05 '20 at 21:45
  • 1
    Alright, we finally have an update, they removed on: Analytics version 17.4.0. – Wils May 28 '20 at 15:08
3

There is one article on Android developer blog about this

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

Also in this article they mention old implementation of install_referrer intent broadcast mechanism and provide complete information. So we can find this in our existing code.

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

sohel.eco
  • 337
  • 2
  • 12
  • 7
    OP mentioned that he's not directly integrating into this API... it's very likely the majority of developers here do not use this directly given its relatively obscure use case – Jay Sidri Dec 11 '19 at 06:17
  • @Jey Sidri It helped me, stackoverflow is not only about the OP you know ? – Snowirbis Nov 24 '20 at 12:48
0

INSTALL_REFERRER comes not only with Firebase but also withADMOB. I can confirm that Admob v3.18.3 has this permission but it is no longer coming in Admob v4.2.1. I have not tested other versions but i have heard that some previous versions like 4.2.0 & 4.1.0 also not carrying this permission.

But the question here is whether we need to remove the permission or we need to make sure that if our app is using Play Install Referrer Library then the INSTALL_REFERRER must be included. Because action required is not to remove it but migrate to it.

enter image description here

gameDev_Unity
  • 371
  • 1
  • 8