Wordpress-android: Not allowed to bind to service Intent (com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE)

Created on 19 Dec 2018  Â·  3Comments  Â·  Source: wordpress-mobile/WordPress-Android

It seems that in many cases, we're not able to use Google's download attribution.

We're not crashing because of it – but we are handling a java.lang.SecurityException thrown from

https://github.com/wordpress-mobile/WordPress-Android/blob/develop/WordPress/src/main/java/org/wordpress/android/util/analytics/service/InstallationReferrerServiceLogic.java#L119-L127

Stack trace:

Non-fatal Exception: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.finsky.BIND_GET_INSTALL_REFERRER_SERVICE cmp=com.android.vending/com.google.android.finsky.externalreferrer.GetInstallReferrerService }
       at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1480)
       at android.app.ContextImpl.bindService(ContextImpl.java:1434)
       at android.content.ContextWrapper.bindService(ContextWrapper.java:636)
       at com.android.installreferrer.api.InstallReferrerClientImpl.startConnection(InstallReferrerClientImpl.java:135)
       at org.wordpress.android.util.analytics.service.InstallationReferrerServiceLogic.performTask(InstallationReferrerServiceLogic.java:120)
       at org.wordpress.android.util.analytics.service.InstallationReferrerService.onStartCommand(InstallationReferrerService.java:48)
       at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3394)
       at android.app.ActivityThread.-wrap21(ActivityThread.java)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1632)
       at android.os.Handler.dispatchMessage(Handler.java:110)
       at android.os.Looper.loop(Looper.java:203)
       at android.app.ActivityThread.main(ActivityThread.java:6284)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1094)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)

It appears all that's required to fix this is the addition of the com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE permission, but that may or may not be something we want to add to the bundle?
(source: https://stackoverflow.com/questions/47706419/installreferrerclient-startconnection-throwing-error)

(someone else with the same issue: https://issuetracker.google.com/issues/70193614)

reference: 5bab95e3f8b88c29636353be-fabric
impact: we're not able to receive in-app attribution for downloads

Analytics [Type] Bug

Most helpful comment

All 3 comments

Was this page helpful?
0 / 5 - 0 ratings