install_referrer намерение устареть и обновить библиотеки - PullRequest
8 голосов
/ 26 февраля 2020

Я получил электронное письмо от google:

Недавно мы объявили, что не будем использовать механизм намеренной трансляции install_referrer. Поскольку одно или несколько ваших приложений используют это намерение для отслеживания рефералов, мы хотели убедиться, что вы сделаете переход до 1 марта 2020 года. После этой даты новые версии приложения Play Store больше не будут передавать намерение install_referrer после установки приложения.

Я проверил этот ответ в стеке: install_referrer намерение устарело и следую советам дождаться обновления библиотек Firebase, и теперь я обновляю свой проект до последних версий, но все еще получаю INSTALL_REFERRER в моем манифесте слияния в package = "com.google.firebase.measurement_impl"

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.firebase.measurement_impl" >

<uses-sdk android:minSdkVersion="14" />

<!-- Required permission for App measurement to run. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />

<application>
    <receiver
        android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
        android:enabled="true"
        android:exported="true"
        android:permission="android.permission.INSTALL_PACKAGES" >
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
    </receiver>
</application>

здесь версии Firebase, которые я использую в своем проекте

    implementation 'com.google.firebase:firebase-messaging:20.1.0'
    implementation 'com.google.firebase:firebase-analytics:17.2.2'
    implementation 'com.google.firebase:firebase-crash:16.2.1'
    implementation 'com.google.android.gms:play-services-location:17.0.0'
    implementation 'com.google.firebase:firebase-crashlytics:17.0.0-beta01'
    implementation 'com.google.firebase:firebase-config:19.1.1'
    implementation 'com.google.firebase:firebase-auth:19.2.0'

и вот через 5 дней наступит 1 марта и я не нашел решения этой проблемы

1 Ответ

3 голосов
/ 04 марта 2020

Библиотека Google installreferrer решает эту проблему.

implementation 'com.android.installreferrer:installreferrer:1.1'

Перейдите по этой ссылке , чтобы понять реализацию. Инициализируйте клиента при запуске вашего приложения.

InstallReferrerClient referrerClient;
referrerClient = InstallReferrerClient.newBuilder(this).build();
referrerClient.startConnection(
    .... 
);

При успешной инициализации клиента вы можете сохранить данные реферера, полученные из приведенного ниже кода.

ReferrerDetails response = referrerClient.getInstallReferrer();
String referrerUrl = response.getInstallReferrer();

По данным Google :

Информация о реферере установки будет доступна в течение 90 дней и не изменится, если приложение не будет переустановлено. Чтобы избежать ненужных вызовов API в вашем приложении, вы должны вызывать API только один раз во время первого выполнения после установки.

...