Вы можете использовать API Install Referrer в Google Play Store для безопасного получения реферального контента из Google Play. Клиентская библиотека Play Install Referrer API написана на языке программирования Java и представляет собой оболочку для файла языка определения интерфейса Android (AIDL), который определяет интерфейс службы Install Referrer. Вы можете использовать клиентскую библиотеку Play Install Referrer API, чтобы упростить процесс разработки.
В этом руководстве описаны основы получения реферальной информации из Google Play с помощью библиотеки Play Install Referrer Library.
Обновление зависимостей вашего приложения
 Добавьте следующую строку в раздел зависимостей файла build.gradle вашего приложения: 
классный
dependencies { ... implementation "com.android.installreferrer:installreferrer:2.2" }
Котлин
dependencies { ... implementation("com.android.installreferrer:installreferrer:2.2") }
Подключение к Google Play
Прежде чем вы сможете использовать библиотеку API-интерфейса Play Install Referrer, вам необходимо установить соединение с приложением Play Store, выполнив следующие действия:
-  Вызовите метод newBuilder(), чтобы создать экземпляр классаInstallReferrerClient.
- Вызовите - startConnection(), чтобы установить соединение с Google Play.
- Метод - startConnection()является асинхронным, поэтому необходимо переопределить- InstallReferrerStateListenerчтобы получить обратный вызов после завершения- startConnection().
- Переопределите метод - onInstallReferrerSetupFinished()чтобы получать уведомления о завершении обратного вызова. Этот метод вызывается с кодом ответа, который необходимо использовать для обработки различных состояний.- OKозначает, что соединение прошло успешно. Каждая из остальных констант- InstallReferrerResponseпредназначена для разных типов ошибок.
- Переопределите метод - onInstallReferrerServiceDisconnected()для обработки потерянных подключений к Google Play. Например, клиент библиотеки Play Install Referrer может потерять соединение, если служба Play Store обновляется в фоновом режиме. Клиент библиотеки должен вызвать метод- startConnection(), чтобы перезапустить соединение, прежде чем отправлять дальнейшие запросы.
Следующий код демонстрирует, как запустить и проверить подключение к приложению Play Store:
Котлин
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. } })
Ява
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. } });
Получение реферера установки
После того как вы установили соединение с приложением Play Store, получите подробную информацию от источника установки, выполнив следующие шаги:
- Используйте синхронизированный метод - getInstallReferrer()чтобы вернуть экземпляр- ReferrerDetails.
- Используйте методы, предоставляемые классом - ReferrerDetails, чтобы получить подробную информацию об реферере установки.
Следующий код демонстрирует, как можно получить доступ к информации о реферере установки:
Котлин
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
Ява
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 .
,Вы можете использовать API Install Referrer в Google Play Store для безопасного получения реферального контента из Google Play. Клиентская библиотека Play Install Referrer API написана на языке программирования Java и представляет собой оболочку для файла языка определения интерфейса Android (AIDL), который определяет интерфейс службы Install Referrer. Вы можете использовать клиентскую библиотеку Play Install Referrer API, чтобы упростить процесс разработки.
В этом руководстве описаны основы получения реферальной информации из Google Play с помощью библиотеки Play Install Referrer Library.
Обновление зависимостей вашего приложения
 Добавьте следующую строку в раздел зависимостей файла build.gradle вашего приложения: 
классный
dependencies { ... implementation "com.android.installreferrer:installreferrer:2.2" }
Котлин
dependencies { ... implementation("com.android.installreferrer:installreferrer:2.2") }
Подключение к Google Play
Прежде чем вы сможете использовать библиотеку API-интерфейса Play Install Referrer, вам необходимо установить соединение с приложением Play Store, выполнив следующие действия:
-  Вызовите метод newBuilder(), чтобы создать экземпляр классаInstallReferrerClient.
- Вызовите - startConnection(), чтобы установить соединение с Google Play.
- Метод - startConnection()является асинхронным, поэтому необходимо переопределить- InstallReferrerStateListenerчтобы получить обратный вызов после завершения- startConnection().
- Переопределите метод - onInstallReferrerSetupFinished()чтобы получать уведомления о завершении обратного вызова. Этот метод вызывается с кодом ответа, который необходимо использовать для обработки различных состояний.- OKозначает, что соединение прошло успешно. Каждая из остальных констант- InstallReferrerResponseпредназначена для разных типов ошибок.
- Переопределите метод - onInstallReferrerServiceDisconnected()для обработки потерянных подключений к Google Play. Например, клиент библиотеки Play Install Referrer может потерять соединение, если служба Play Store обновляется в фоновом режиме. Клиент библиотеки должен вызвать метод- startConnection(), чтобы перезапустить соединение, прежде чем отправлять дальнейшие запросы.
Следующий код демонстрирует, как запустить и проверить подключение к приложению Play Store:
Котлин
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. } })
Ява
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. } });
Получение реферера установки
После того как вы установили соединение с приложением Play Store, получите подробную информацию от источника установки, выполнив следующие шаги:
- Используйте синхронизированный метод - getInstallReferrer()чтобы вернуть экземпляр- ReferrerDetails.
- Используйте методы, предоставляемые классом - ReferrerDetails, чтобы получить подробную информацию об реферере установки.
Следующий код демонстрирует, как можно получить доступ к информации о реферере установки:
Котлин
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
Ява
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 .
