Google Play Referrer APIを使ってインストール元を追跡しよう
Google Play Referrer APIを使用すれば、Google Playから以下の情報を取得できます。 * アプリがインストールされた時の参照元URL * そのURLがクリックされた時間 * アプリをインストール開始した時間 ユーザーがどの経路で流入しているかを正確に知ることで広告の効果をより正確に計測することができます。
使い方をみていきましょう。
セットアップ
build.gradleに以下の記述を追加します。
dependencies { implementation 'com.android.installreferrer:installreferrer:1.0' }
Google Play Storeアプリに接続する
Google Play Referrer APIを使用するには以下の手順でPlay Storeアプリに接続します。
- newBuilderメソッドを使用し、InstallReferrerClientインスタンスを生成する
- startConnectionメソッドを呼び出し、Google Playに接続する。
- startConnectionメソッドは非同期のため、接続完了はInstallReferrerStateListener に通知されます。
- InstallReferrerStateListener のonInstallReferrerSetupFinishedをオーバーライドして接続の結果を受け取ります。
引数のresponseCodeで接続の成否を確認できます。
参照元の取得
Google Play Storeとの接続したのち以下を実施 1. getInstallReferrerメソッドをコールし ReffererDetailsを取得する 2. ReffererDetailsのメソッドで必要な情報を取得する
サンプルコード
private InstallReferrerClient mReferrerClient; ... mReferrerClient = InstallReferrerClient.newBuilder(this).build(); mReferrerClient.startConnection(this); ... @Override public void onInstallReferrerSetupFinished(int responseCode) { switch (responseCode) { case InstallReferrerClient.InstallReferrerResponse.OK: try { // 接続完了 ReferrerDetails response = mReferrerClient.getInstallReferrer(); String referrerUrl = response.getInstallReferrer(); long clickTimestampSeconds = response.getReferrerClickTimestampSeconds(); long installBeginTimestampSeconds = response.getInstallBeginTimestampSeconds(); mReferrerClient.endConnection(); } catch (RemoteException e) { e.printStackTrace(); } break; case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED: // APIがサポートされていない break; case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE: // Play Storeアプリのアップデート中などで接続できなかった break; default: // 不明だけど接続できない } }
参考
Android Developers Blog: Google Play Referrer API: Track and measure your app installs easily and securely Play Install Referrer Library | Android Developers