adjust-icon

Android SDK連携ガイド

Adjust Android SDKを実装することで、アトリビューション、イベント、さらにその他のさまざまなデータをAndroidアプリで記録できます。Adjust SDKをアプリに実装するには、以下の手順に従ってください。

1. Adjust SDKを取得する

AndroidアプリでAdjust SDKを使うには、プロジェクトに追加する必要があります。GitHubのリリースページから最新バージョンをダウンロードできます。

Mavenを使用している場合は、build.gradleファイルに以下を追加します:

build.gradle
dependencies {
implementation 'com.adjust.sdk:adjust-android:4.38.5'
implementation 'com.android.installreferrer:installreferrer:2.2'
// Add the following if you're using the Adjust SDK inside web views on your app
implementation 'com.adjust.sdk:adjust-android-webbridge:4.38.5'
}

2. Google Play 開発者サービスを追加する

Google Playストアを対象とするアプリは、gps_adid(Google広告ID)を使用してデバイスを識別する必要があります。gps_adidにアクセスするには、play-services-ads-identifier AARをプロジェクトに追加する必要があります。

Mavenを使用している場合は、build.gradleファイルに以下を追加します:

build.gradle
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
}

アプリセットIDを収集する

アプリセットID は、ユーザーがデバイスにインストールしたアプリの情報を計測するための一意の識別子です。同じ開発者のアプリは全て同じアプリセットIDを共有しているため、全てのアプリユーザーから有意義なインサイトを収集できます。デバイスのApp Set IDを記録するには、以下のパーミッションを build.gradleファイルに追加してください。

build.gradle
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.0.2'
}

このパーミッションが有効な場合、アプリセットIDはデバイス情報ペイロードの一部としてAdjustのサーバーに送信されます。

3. パーミッションを追加する

Adjust SDKがデバイス情報にアクセスできるようにするには、アプリが必要とするパーミッションを宣言する必要があります。これを行うには、AndroidManifest.xmlファイルにパーミッションを追加します。

オンライン機能にアクセスするには、以下のパーミッションを追加してください:

AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

アプリがGoogle Play ストアを対象としていない場合、デバイスのネットワーク状態にアクセスするために以下のパーミッションを追加してください:

AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

Adjust SDKには、デフォルトでcom.google.android.gms.AD_IDが含まれています。アプリがCOPPA(児童オンラインプライバシー保護法)に準拠する必要がある場合、またはアプリがGoogle Play ストアを対象としていない場合は、removeディレクティブを使用してこのパーミッションを削除する必要があります。

AndroidManifest.xml
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>

4. Proguardを設定する

Proguardを使ってアプリを最適化する場合は、Proguardがクラスを削除しないようにルールを追加する必要があります。

Proguard.pro
-keep class com.adjust.sdk.** { *; }
-keep class com.google.android.gms.common.ConnectionResult {
int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
java.lang.String getId();
boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.** { *; }

Google Play ストアでアプリを公開していない場合は、以下のルールを追加します:

Proguard.pro
-keep public class com.adjust.sdk.** { *; }

5. インストールリファラーを設定する

インストールリファラーは、インストールをソースにアトリビュートするために使用される一意の識別子です。Adjust SDKは、アトリビューションを実行するためにこの情報を必要とします。インストールのリファラー情報を取得するには、以下のいずれかの方法を使用します:

Google Play Referrer API

Google Play Referrer APIは、Google Play ストアを対象とするアプリで使用できます。

Google Play Referrer APIをサポートするには、build.gradleファイルに以下を追加します:

build.gradle
dependencies {
implementation 'com.android.installreferrer:installreferrer:2.2'
}

Proguardを使用している場合は、依存関係が削除されないように、忘れずにルールを追加してください。

Proguard.pro
-keep public class com.android.installreferrer.** { *; }

Huawei Referrer API

Huawei Referrer APIは、Huaweiデバイスを対象とするアプリで使用できます。バージョン10.4以降、Adjust SDKはHuawei App GalleryのHuaweiデバイスへのインストールを記録できます。このAPIをサポートするために設定を変更する必要はありません。

Xiaomiリファラープラグイン

Xiaomiリファラープラグインを使用すると、Xiaomiデバイスを対象とするアプリのインストールリファラー値を記録できます。インストール情報については、プラグインドキュメントを参照してください。

Samsungリファラープラグイン

Samsungリファラープラグインを使用すると、Samsung Galaxyストアを対象とするアプリのインストールリファラー値を記録できます。インストール情報については、プラグインドキュメントを参照してください。

Metaとのリファラー連携

v4.36.0に追加

Adjust SDKはv4.36.0以降でMetaインストールリファラーをサポートしています。この機能を有効にする方法:

  1. App DashboardでMetaアプリIDを検索します。詳しくはMetaのApp Dashboardのドキュメントをご覧ください。
  2. AdjustConfig.setFbAppIdメソッドにString引数としてアプリIDをパスします。

6. Adjust SDKを実装する

Adjust SDKを初期化するには以下の情報が必要です:

  • appToken: Your Adjust app token.
  • environment: The environment your app is running in. Set this to AdjustConfig.ENVIRONMENT_SANDBOX to test your app locally.

Adjust SDKを初期化する推奨の方法は、グローバルAndroidアプリケーションクラス内です。まだこれをアプリに設定していない場合は、以下の手順に従ってください:

  1. Applicationを継承したクラスを作成します。
  2. AndroidManifest.xml ファイルを開き、 <application>エレメントを確認します。
  3. android:nameアトリビュートを<application>要素に追加し、アプリケーションクラスの名前に設定します。例えば、Applicationクラスの名前がGlobalApplicationの場合、以下を設定します:
AndroidManifest.xml
<application android:name=".GlobalApplication">
<!-- ... -->
</application>
  1. ApplicationクラスでonCreateメソッドを見つけるか、存在しない場合は追加してください。以下のパラメーターをパスしてAdjust SDKを初期化します。

    • チーム編成 appToken
    • アプリを実行したいenvironment
    • 記録したいLogLevel

Adjust Web View SDKを実装する

アプリがWeb viewを使用している場合、Adjust Web View SDKを使って情報を記録する必要があります。WebViewオブジェクトへのリファレンスを取得する必要があります。これが完了したら、以下の手順に従ってください:

  1. webView.getSettings().setJavaScriptEnabled(true)を呼び出して、WebビューでJavascriptを有効にします。
  2. AdjustBridge.registerAndGetInstance(getApplication(), webview)を呼び出して、デフォルトのAdjustBridgeInstanceを起動します。これにより、AdjustブリッジがJavascriptインターフェイスとしてWeb viewに登録されます。
  3. AdjustBridge.setWebView()を呼び出し、新しいWebViewを設定します。
  4. AdjustBridge.unregister()を呼び出し、AdjustBridgeInstanceWebViewの登録を解除します。
  5. 以下は完全な設定の例です。
  1. HTMLにAdjust Javascriptファイルをインポートします:
<script type="text/javascript" src="adjust.js"></script>
<script type="text/javascript" src="adjust_event.js"></script>
<script type="text/javascript" src="adjust_third_party_sharing.js"></script>
<script type="text/javascript" src="adjust_config.js"></script>
  1. appTokenenvironmentAdjustConfigクラスにパスすることで、Web viewでAdjust SDKを初期化することができます:
let yourAppToken = "{YourAppToken}";
let environment = AdjustConfig.EnvironmentSandbox;
let adjustConfig = new AdjustConfig(yourAppToken, environment);
adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose);
Adjust.onCreate(adjustConfig);

7. セッションの記録を設定する

セッション情報を記録するには、アプリのアクティビティライフサイクルのさまざまな段階でメソッドを呼び出す必要があります。これらのステージは、アプリが対象とするAPIレベルによって異なります。

APIレベルが14以上

APIレベルが14以上のセッション記録を設定するには:

  1. アクティビティに対してAdjust.onResumeAdjust.onPauseのコールがある場合は、それらを削除してください。
  2. ActivityLifecycleCallbacksインターフェイスを実装するプライベートクラスを追加します。
  3. onActivityResumed(Activity activity)メソッドを編集し、 Adjust.onResume()へのコールを追加します。
  4. onActivityPaused(Activity activity)メソッドを編集し、 Adjust.onPause()へのコールを追加します。
  5. Adjust SDKの設定ステップにonCreate()メソッドを追加します。
  6. 作成されたActivityLifecycleCallbacksクラスのインスタンスで registerActivityLifecycleCallbacksを呼び出します:

APIレベルが9~13

APIレベルが13以下のアプリでセッション記録を設定するには、以下の手順に従ってください:

  1. アクティビティのonResumeメソッドにAdjust.onResume()への呼び出しを追加します。
  2. アクティビティのonPauseメソッドにAdjust.onPause()への呼び出しを追加します。
  3. これと同じ手順をアプリの全てのアクティビティに行ってください。コーディングスタイルの違いによって、全てのアクティビティに対する共通のスーパークラスにこれを追加するという方法もあります。

8. 本番用にアプリをビルドする

テストが終わったら、本番用にアプリをビルドできます。そのためには、configオブジェクトを更新する必要があります。

  1. 必要なものだけを返すようにログレベルを調整します。
  2. environmentAdjustConfig.ENVIRONMENT_PRODUCTIONに設定します。