Google разрешила сторонним разработчикам отслеживать установки приложений

API Google Play Referrer позволит разработчикам легко и надёжно отслеживать популярность их приложений.
Google Play Referrer API

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

Google Play Referrer API

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

  • URL-реферер установленного пакета;
  • временную метку (в секундах) перехода по реферальной ссылке;
  • временную метку (в секундах) начала установки.

Google Play Referrer API работает с приложением Play Store версий 8.3.73 и выше и доступен абсолютно всем разработчикам. Для лёгкой интеграции нового API программисты Google подготовили также Install Referrer Library 1.0 для Android. Эта библиотека доступна в репозитории Maven.

Начало работу

Чтобы начать использование нового API, добавьте следующую зависимость в файл build.gradle:

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

Вся коммуникация с приложением Play Store происходит через Service. Поэтому первым делом необходимо установить связь между ними. Кроме того, для получения результата подключения и обновлений необходимо реализовать слушатель InstallReferrerStateListener. Он может быть описан в вашем текущем Activity, либо в любом другом классе, который вы используете:

public class MainActivity extends AppCompatActivity 
    implements InstallReferrerStateListener {
    …
}

Теперь всё готово для установки связи между вашим приложением и магазином. Для этого создайте экземпляр InstallReferrerClient и вызовите метод startConnection():

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

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

@Override
public void onInstallReferrerSetupFinished(int responseCode) {
   switch (responseCode) {
       case InstallReferrerResponse.OK:
           try {
               Log.v(TAG, "InstallReferrer conneceted");
               ReferrerDetails response = mReferrerClient.getInstallReferrer();
               handleReferrer(response);
               mReferrerClient.endConnection();
           } catch (RemoteException e) {
               e.printStackTrace();
           }
           break;
       case InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
           Log.w(TAG, "InstallReferrer not supported");
           break;
       case InstallReferrerResponse.SERVICE_UNAVAILABLE:
           Log.w(TAG, "Unable to connect to the service");
           break;
       default:
           Log.w(TAG, "responseCode not found.");
   }
}

Узнать больше

Познакомиться поближе с функциональностью нового API можно, посетив официальную страницу библиотеки Install Referrer Client и прочитав документацию. Также, если вы столкнулись с проблемами использования нового API, Google советует использовать AIDL-интерфейс (Android Interface Definition Language) для установления связи с Play Store. Подробная информация доступна на странице сервиса.

Источник: блог Android Developers