adjust-icon

Android SDK連携ガイド

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

事前準備

SDK v5にアップデートする前に、以下を行ってください。

  1. SDK v5はSDKシグネチャーの検証をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。
  2. アプリがバージョン21以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります。

1. 環境を設定する

Adjust SDKを使い始めるには、SDKをdependencyとしてプロジェクトに追加してください。Adjust SDKはMavenで利用可能です。

プロジェクトにAdjust SDKを追加する方法:

  1. Adjust SDKとAndroidリファラーの実装をbuild.gradleファイルに追加します。アプリでWeb viewを使用する場合、オプションでAdjust Web viewブリッジを追加します。

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

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

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

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

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

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デバイスを対象とするアプリで使用できます。Adjust SDKは、Adjust Huawei Referrerプラグインを使用して、Huaweiデバイスでのインストールを記録します。

このプラグインをインストールするには、build.gradleファイルに以下のdependencyを追加します:

build.gradle
dependencies {
implementation: "com.adjust.sdk:adjust-android-huawei-referrer:5.0.0"
}

Xiaomiリファラープラグイン

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

Samsungリファラープラグイン

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

Metaとのリファラー連携

AdjustSDKはAdjustのMetaインストールリファラーを使用してMetaインストールリファラーをサポートしています。連携の詳細については、ドキュメントをご覧ください

6. SDKシグネチャーを設定する

SDK v5には、 SDKシグネチャーライブラリが含まれています。連携が正常に機能することを確認するためには、テストガイドを参照してください。

シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、以下の手順に従ってください

  1. シグネチャーの検証を有効化します
  2. テスト前にアプリのSHA-1フィンガープリントを提供してください

7. Adjust SDKを実装する

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

  • appToken: お客様のAdjustアプリトークン
  • environment: アプリの実行環境。アプリをローカルでテストするには、これをAdjustConfig.ENVIRONMENT_SANDBOXに設定します。

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

  1. Applicationを継承したクラスを作成します。

  2. AndroidManifest.xml ファイルを開き、 <application>エレメントを確認します。

  3. android:nameアトリビュートを<application>要素に追加し、アプリケーションクラスの名前に設定します。例えば、Applicationクラスの名前がGlobalApplicationの場合、以下を設定します:

    AndroidManifest.xml
    <application android:name=".GlobalApplication">
    <!-- ... -->
    </application>
  4. ApplicationクラスでinitSdkメソッドを見つけるか、存在しない場合は追加してください。以下のパラメーターをパスして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>
  2. appTokenenvironmentAdjustConfigクラスにパスすることで、Web viewでAdjust SDKを初期化することができます:

    let yourAppToken = "{YourAppToken}";
    let environment = AdjustConfig.EnvironmentSandbox;
    let adjustConfig = new AdjustConfig(yourAppToken, environment);
    adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose);
    Adjust.initSdk(adjustConfig);

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

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

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