install_referrer intent deprecation

13,459

Solution 1

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.

Solution 2

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.

Solution 3

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

Solution 4

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.

Solution 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

Share:
13,459

Related videos on Youtube

Pavel Poley
Author by

Pavel Poley

www.pavelpoley.com

Updated on August 22, 2022

Comments

  • Pavel Poley
    Pavel Poley almost 2 years

    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?

    • user12514252
      user12514252 over 4 years
      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?
    • Mahmoud abualamrien
      Mahmoud abualamrien over 4 years
      I received this message today but i don't understand what can i do !! I am using unity3d and i have used (Admob & Firebase)
    • Smeet
      Smeet over 4 years
      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.
    • Imran
      Imran over 4 years
      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.
    • sohel.eco
      sohel.eco over 4 years
      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 ?
    • Jay Sidri
      Jay Sidri over 4 years
      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?
    • sohel.eco
      sohel.eco over 4 years
      @Jay Exactly Correct
    • MauroAlexandro
      MauroAlexandro over 4 years
      Same here... Not directly using, but using Firebase!
    • A92
      A92 over 4 years
      I have the same letter, News?
    • Mouaad Abdelghafour AITALI
      Mouaad Abdelghafour AITALI over 4 years
      Same issue here
    • Pavel Poley
      Pavel Poley over 4 years
      @A92 check my answer from firebase support
    • Anigif
      Anigif over 4 years
      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.
    • Style-7
      Style-7 over 4 years
      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
    • A92
      A92 over 4 years
      is there any news from firebase?
    • Manu Ram V
      Manu Ram V over 4 years
      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_REFERR‌​ER_SERVICE
    • Wils
      Wils over 4 years
      Any updates on this? I still see references on Firebase Analytics 17.2.1.
  • Jay Sidri
    Jay Sidri over 4 years
    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
  • Anigif
    Anigif over 4 years
    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.
  • Mouaad Abdelghafour AITALI
    Mouaad Abdelghafour AITALI over 4 years
    In my case, I do not use any Firebase libraries, and INSTALL_REFERRER still appear
  • Mouaad Abdelghafour AITALI
    Mouaad Abdelghafour AITALI over 4 years
    @Pavel Poley can you please tell me how I can check for install_referrer if I do not use Firebase
  • Pavel Poley
    Pavel Poley over 4 years
    @MouaadAbdelghafourAITALI open merged manifest and try to find install_referrer, right click go to declaration, you can see the package name of the service
  • AndrewS
    AndrewS over 4 years
    @MouaadAbdelghafourAITALI There should ve some other library using deprecated API in your case then.
  • Mouaad Abdelghafour AITALI
    Mouaad Abdelghafour AITALI over 4 years
    thank you, so the main issue comes from Firebase Library
  • Romain Barbier
    Romain Barbier over 4 years
    Looking at merged Manifest shows install_referrer from Firebase. Should be the accepted answer! Saved my day! Thanks
  • Anigif
    Anigif over 4 years
    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.
  • Tim Kist
    Tim Kist over 4 years
    Check the merged manifest tab in your app's AndroidManifest.xml and look for <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter>. Then if you select that line, it'll tell you which library it comes from. In our case it was play-services-ads.
  • Sailendu
    Sailendu over 4 years
    I am using Unity3D and I am not sure how I can use this info, do you know a solution for Unity3D as well?
  • Guykun
    Guykun over 4 years
    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.
  • valerybodak
    valerybodak over 4 years
  • A92
    A92 over 4 years
    is there any news from firebase?
  • Neo
    Neo over 4 years
    is there any news from firebase, I updated it to version 17.2.2 but still find com.android.vending.INSTALL_REFERRER
  • Neo
    Neo over 4 years
    I updated it to version 17.2.2 but still find com.android.vending.INSTALL_REFERRER @AndrewS
  • Neo
    Neo over 4 years
    I updated it to version 17.2.2 but still find com.android.vending.INSTALL_REFERRER, how you solve the problem?
  • AndrewS
    AndrewS over 4 years
    @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.
  • Neo
    Neo over 4 years
    I just updated to latest version I thought they must fix the issue because we are passed 1 march already @AndrewS
  • Wils
    Wils over 4 years
    Yeah, same situation, Faxriddin Abdullayev have heard back from the support agent? thank you!
  • Wils
    Wils about 4 years
    Alright, we finally have an update, they removed on: Analytics version 17.4.0.
  • Snowirbis
    Snowirbis over 3 years
    @Jey Sidri It helped me, stackoverflow is not only about the OP you know ?