Вы можете использовать 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 .