Вы можете использовать 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. Для этого выполните следующие действия:
- Вызовите метод
newBuilder(), чтобы создать экземпляр классаInstallReferrerClient. Вызовите
startConnection(), чтобы установить подключение к Google Play.Метод
startConnection()является асинхронным, поэтому вам нужно переопределитьInstallReferrerStateListener, чтобы получить обратный вызов после завершенияstartConnection().Переопределите метод
onInstallReferrerSetupFinished(), чтобы получать уведомления о завершении обратного вызова. Этот метод вызывается с кодом ответа, который необходимо использовать для обработки различных состояний.OKозначает, что подключение выполнено успешно. Остальные константыInstallReferrerResponseпредназначены для разных типов ошибок.Переопределите метод
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 получите сведения от источника перехода для установки, выполнив следующие действия:
Используйте синхронизированный метод
getInstallReferrer(), чтобы вернуть экземплярReferrerDetails.Чтобы получить информацию об источнике установки, используйте методы, предоставляемые классом
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.