Найти в Дзене
Иван Петров

Как пользоваться Google Play Install Referrer

Понимание того, как люди находят ваше приложение и что они делают, когда его устанавливают, очень важно для хорошего маркетинга. Особенно в том случае, если вы проводите свою рекламную компанию. Сегодня многие компании и рекламные сети предлагают решения на основе реферальных данных, которые позволяют определить, сколько было переход по ссылкам на приложение и откуда. С этой целью Google выпустил новый API под названием Google Play Install Referrer, с помощью которого ваше приложение получит точную и безопасную информацию о содержимом реферала прямо из Google Play. В частности, вы можете узнать следующие данные: Новый API работает на любых устройствах, однако для его работы требуется версия Google Play 8.3.73 и выше. Также должна иметься учётная запись в Developer Console для использования Google Play Install Referrer. Добавление Google Play Install Referrer в своё приложение Для того, чтобы начать работу с API, вам нужно будет добавить в зависимости проекта бибилотеку Inst

Понимание того, как люди находят ваше приложение и что они делают, когда его устанавливают, очень важно для хорошего маркетинга. Особенно в том случае, если вы проводите свою рекламную компанию. Сегодня многие компании и рекламные сети предлагают решения на основе реферальных данных, которые позволяют определить, сколько было переход по ссылкам на приложение и откуда.

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

  • URL-адрес реферала
  • Временная отметка в секундах, когда произошёл клик по реферальной ссылке
  • Временная отметка в секундах, когда началась установка приложения

Новый API работает на любых устройствах, однако для его работы требуется версия Google Play 8.3.73 и выше. Также должна иметься учётная запись в Developer Console для использования Google Play Install Referrer.

Добавление Google Play Install Referrer в своё приложение

Для того, чтобы начать работу с API, вам нужно будет добавить в зависимости проекта бибилотеку InstallReferrerLibrary. Библиотека доступна на репозитории Maven, чтобы использовать её, откройте файл build.gradle модуля приложения и добавьте следующую строчку в блок dependencies.

dependencies {
...
compile 'com.android.installreferrer:installreferrer:1.0'
}

Теперь вам нужно установить связь между приложением и Google Play, поскольку приложение и магазин общаются через сервис. Для этого в коде активности, например MainAcivity, нужно создать экземпляр класса InstallReferrerClient и вызвать метод startConnection().

private InstallReferrerClient mReferrerClient;
...
mReferrerClient = InstallReferrerClient.newBuilder(this).build();
mReferrerClient.startConnection(installReferrerStateListener);

В качестве параметра в метод startConnection() нужно передать слушатель InstallReferrerStateListener, который будет отлавливать результат выполнения операции. В данном примере мы объявили слушатель отдельно и передали его в параметры, однако можно сделать это и иначе, используя implements.

Затем нужно обработать результаты выполнения операций, для этого нужно переопределить метод onInstallReferrerSetupFinished(). Это нужно также для того, чтобы отслеживать потерю соединения с Google Play, например, когда он обновляется в фоновом режиме.

Код слушателя выглядит следующим образом:

private InstallReferrerStateListener installReferrerStateListener =
new InstallReferrerStateListener() {
@Override public void onInstallReferrerSetupFinished(int responseCode) {
switch (responseCode) {
case InstallReferrerClient.InstallReferrerResponse.OK:
// Соединение установлено
try {
if (BuildConfig.DEBUG) Log.d("InstallReferrerState", "OK");
ReferrerDetails response = mReferrerClient.getInstallReferrer();
response.getInstallReferrer();
response.getReferrerClickTimestampSeconds();
response.getInstallBeginTimestampSeconds();
mReferrerClient.endConnection();
} catch (RemoteException e) {
e.printStackTrace();
}
break;
case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
if (BuildConfig.DEBUG) Log.d("InstallReferrerState", "FEATURE_NOT_SUPPORTED");
// API не поддерживается текущей версией Google Play
break;
case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
if (BuildConfig.DEBUG) Log.d("InstallReferrerState", "SERVICE_UNAVAILABLE");
// Соединение не может быть установлено
break;
}
}

@Override public void onInstallReferrerServiceDisconnected() {
// Попробуйте перезапустите соединение, заново вызвав метод startConnection()
mReferrerClient.startConnection(installReferrerStateListener);
}
};

В методе onInstallReferrerSetupFinished() приходит результат выполнения операции соединения. Если соединение установлено, мы можем получить данные о реферале, вызвав метод клиента getInstallReferrer() и передав в экземпляр класса ReferrerDetails. С помощью этого объекта мы уже может получить конкретные данные, о которых говорили в начале статьи (url-адрес и временные отметки).

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

Полученную информацию уже можно обрабатывать так, как вам угодно. Например, выводить всплывающее сообщение, в котором будет указано, откуда пользователь перешёл в Google Play.

К примеру, добавим реферальную ссылку для приложения Фонарик. При переходе по этой ссылке вы попадёте в Google Play, затем, установив приложение и запустив его, увидите во всплывающем сообщении, что в источнике указан наш сайт.

-2

На этом всё. Если хотите, вы также можете изучить официальную документацию для дополнительных сведений.