Библиотека Play Install Referrer

Вы можете использовать Install Referrer API в Google Play, чтобы безопасно получать реферальный контент из Google Play. Клиентская библиотека Play Install Referrer API написана на языке программирования Java и является оболочкой для файла языка описания интерфейсов Android (AIDL), который определяет интерфейс сервиса Install Referrer. Чтобы упростить процесс разработки, вы можете использовать клиентскую библиотеку Play Install Referrer API.

В этом руководстве рассказывается, как получать информацию о переходах из Google Play с помощью библиотеки Play Install Referrer.

Обновление зависимостей приложения

Добавьте в раздел зависимостей файла build.gradle приложения следующую строку:

Яркий

dependencies {
    ...
    implementation "com.android.installreferrer:installreferrer:2.2"
}

Kotlin

dependencies {
    ...
    implementation("com.android.installreferrer:installreferrer:2.2")
}

Подключение к Google Play

Чтобы использовать библиотеку Play Install Referrer API, необходимо установить подключение к приложению Google Play. Для этого выполните следующие действия:

  1. Вызовите метод newBuilder(), чтобы создать экземпляр класса InstallReferrerClient.
  2. Вызовите startConnection(), чтобы установить подключение к Google Play.

  3. Метод startConnection() является асинхронным, поэтому вам нужно переопределить InstallReferrerStateListener, чтобы получить обратный вызов после завершения startConnection().

  4. Переопределите метод onInstallReferrerSetupFinished(), чтобы получать уведомления о завершении обратного вызова. Этот метод вызывается с кодом ответа, который необходимо использовать для обработки различных состояний. OK означает, что подключение выполнено успешно. Остальные константы InstallReferrerResponse предназначены для разных типов ошибок.

  5. Переопределите метод onInstallReferrerServiceDisconnected(), чтобы обрабатывать потерю связи с Google Play. Например, клиент Play Install Referrer Library может потерять подключение, если сервис Google Play обновляется в фоновом режиме. Чтобы возобновить подключение, клиент библиотеки должен вызвать метод startConnection().

В следующем примере кода показано, как запустить и протестировать подключение к приложению Google Play:

Kotlin

private lateinit var referrerClient: InstallReferrerClient

referrerClient = InstallReferrerClient.newBuilder(this).build()
referrerClient.startConnection(object : InstallReferrerStateListener {

    override fun onInstallReferrerSetupFinished(responseCode: Int) {
        when (responseCode) {
            InstallReferrerResponse.OK -> {
                // Connection established.
            }
            InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> {
                // API not available on the current Play Store app.
            }
            InstallReferrerResponse.SERVICE_UNAVAILABLE -> {
                // Connection couldn't be established.
            }
        }
    }

    override fun onInstallReferrerServiceDisconnected() {
        // Try to restart the connection on the next request to
        // Google Play by calling the startConnection() method.
    }
})

Java

InstallReferrerClient referrerClient;

referrerClient = InstallReferrerClient.newBuilder(this).build();
referrerClient.startConnection(new InstallReferrerStateListener() {
    @Override
    public void onInstallReferrerSetupFinished(int responseCode) {
        switch (responseCode) {
            case InstallReferrerResponse.OK:
                // Connection established.
                break;
            case InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                // API not available on the current Play Store app.
                break;
            case InstallReferrerResponse.SERVICE_UNAVAILABLE:
                // Connection couldn't be established.
                break;
        }
    }

    @Override
    public void onInstallReferrerServiceDisconnected() {
        // Try to restart the connection on the next request to
        // Google Play by calling the startConnection() method.
    }
});

Как получить источник установки

После подключения к приложению Google Play получите сведения от источника перехода для установки, выполнив следующие действия:

  1. Используйте синхронизированный метод getInstallReferrer(), чтобы вернуть экземпляр ReferrerDetails.

  2. Чтобы получить информацию об источнике установки, используйте методы, предоставляемые классом ReferrerDetails.

В следующем примере кода показано, как получить доступ к информации об источнике установки:

Kotlin

val response: ReferrerDetails = referrerClient.installReferrer
val referrerUrl: String = response.installReferrer
val referrerClickTime: Long = response.referrerClickTimestampSeconds
val appInstallTime: Long = response.installBeginTimestampSeconds
val instantExperienceLaunched: Boolean = response.googlePlayInstantParam

Java

ReferrerDetails response = referrerClient.getInstallReferrer();
String referrerUrl = response.getInstallReferrer();
long referrerClickTime = response.getReferrerClickTimestampSeconds();
long appInstallTime = response.getInstallBeginTimestampSeconds();
boolean instantExperienceLaunched = response.getGooglePlayInstantParam();

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

Закрытие подключения к сервису

Получив информацию о реферере, вызовите метод endConnection() для экземпляра InstallReferrerClient, чтобы закрыть подключение. Закрытие соединения поможет избежать утечек и проблем с производительностью.

Дополнительную информацию можно найти в справочнике по библиотеке Play Install Referrer.