Android向けAdjust SDKの使用を開始する
Adjustは新しいバージョンのAndroid SDKをリリースしました。
現在お試しいただける新機能と特長は以下のとおりです:
スーパーアプリまたは個別のBIシステムをご利用のお客様へのサポートを向上
adid
の情報を柔軟に取得できるようになり、イベントの重複排除の制限が引き上げられ、SDKからの情報のキャッシュとリプレイが改善
より詳細なアトリビューションコールバック情報、簡素化されたデバッグ、より直感的なメソッド名
ご興味のある方は、お気軽にお申し込みください。
Adjust Android SDKを実装することで、アトリビューションやイベントなどのさまざまなデータをAndroidアプリで計測できます。以下の手順に従って、Adjust SDKをアプリに実装してください。併せて、GitHub にあるAdjustのサンプルアプリもご覧ください。
Adjust SDKを使い始めるには、SDKをdependencyとしてプロジェクトに追加してください。
Adjust SDKの実装をサポートする最小のAndroid APIレベルは9(Gingerbread)です。Web view拡張機能をサポートする最小のAndroid APIレベルは17(Jelly Bean)です。
全て展開する
以下をbuild.gradle
ファイルに追加します:
dependencies {
implementation 'com.adjust.sdk:adjust-android:4\.33\.5'
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:4\.33\.5'
}
Android SDKはAARアーカイブ、web view SDKはJARとして提供されています。これらはリリースページ よりダウンロードできます。
Google Play ストアのアプリは、 Google広告ID を使用してデバイスを識別する必要があります。SDKでGoogle広告IDを有効化するには、 Google Play Services を連携してくださ。これを行うには、Google Play 開発者サービスのライブラリをプロジェクトに追加します。以下のdependencyをbuild.gradle
ファイルの dependencies
セクションに追加してください。
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
}
Adjust SDKは、
play-services-analytics
dependencyのどのバージョンとも関連付けられていません。Google Play 開発者サービスのライブラリの任意のバージョンを使用できます。
App Set IDは、Adjust SDK v4.33.5以降で利用が可能です。
アプリセットID は、ユーザーがデバイスにインストールしたアプリの情報を計測するための一意の識別子です。同じ開発者のアプリはすべて同じアプリセットIDを共有しているため、全てのアプリのユーザーから有意義なインサイトを収集できます。デバイスのApp Set IDを記録するには、以下のパーミッションを build.gradle
ファイルに追加する必要があります。
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.0.2'
}
子供向けのアプリの場合は、
AD_ID
パーミッションを削除して、Adjust SDKがそれを読み取らないようにする必要があります。手順については、
子供向けアプリの設定 を参照してください。
Adjust SDKには以下のパーミッションが必要です。まだ存在しない場合は、AndroidManifest.xml
ファイルに追加してください。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Google Play ストアをターゲティングしていない場合は、以下のパーミッションを追加する必要があります。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
アプリでProguardを使用している場合は、以下をProguardファイルに追加してください。
-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 ストアでアプリを公開していない場合は、以下の com.adjust.sdk
ルールを追加します。
-keep public class com.adjust.sdk.**{ *; }
インストールリファラーは、アプリインストールをソースにアトリビュートするために使用できる一意の識別子です。Adjust SDKは、アトリビューションを実行するためにこの情報を必要とします。この情報を収集するには、4つの方法があります。
全て展開する
この機能は、Adjust SDKバージョン4.12.0以降でサポートされています。
Google Play Referrer APIをサポートするには、 build.gradle
ファイルに以下が含まれていることを確認してください。
dependencies {
implementation 'com.android.installreferrer:installreferrer:2.2'
}
Proguardを使用している場合は、Proguardファイルに以下の設定が含まれていることを確認してください。
-keep public class com.android.installreferrer.**{ *; }
INSTALL_REFERRER
インテントをサポートしているストアを使用している場合は、ブロードキャストレシーバーでこれをキャプチャできます。AndroidManifest.xml
のapplication
タグ内に、以下のreceiver
を追加します。
<receiver android:name="com.adjust.sdk.AdjustReferrerReceiver" android:permission="android.permission.INSTALL_PACKAGES" android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
このレシーバーはインストールリファラーを取得し、Adjustバックエンドに渡します。
他のブロードキャストレシーバーを使用している場合、Adjustと通信するための設定を行います。Adjustのブロードキャストレシーバーとの通信を有効化するには、こちらの手順 に従ってください。
バージョン4.21.1以降より、Adjust SDKはHuawei App Galleryバージョン10.4以降のHuaweiデバイスへのインストール計測をサポートしています。Huawei Referrer APIの使用を開始するために行う設定変更はありません。
Adjust SDKはv4.36.0以降でMetaインストールリファラー をサポートしています。この機能を有効にする方法:
App Dashboard でMetaアプリIDを検索します。詳しくはMetaのApp Dashboardのドキュメント をご覧ください。AdjustConfig.setFbAppId
メソッドに 文字列 の引数としてアプリIDをパスします。
adjustConfig.setFbAppId(<fb_app_id_string>);
Adjust SDKは、v4.33.0以降でSamsungリファラープラグイン を使用したSamsung Galaxyストアのインストールリファラー値の計測をサポートしています。
Adjust SDKは、v4.31.0以降でXiaomiリファラープラグイン を使用したXiaomiインストールリファラー値の計測をサポートしています。
標準的なアプリにAdjust SDKを実装する場合は、標準的なSDK設定手順 に従ってください。Web viewにSDKを実装する場合は、Web view SDK設定手順 に従ってください。
全て展開する
Adjust SDKの初期化には、AndroidのグローバルApplication クラスを使用することを推奨します。この設定がない場合は、以下の手順に従ってください。
Application
を拡張するクラスを作成します。AndroidManifest.xml
ファイルを開き、 <application>
エレメントを確認します。android:name
アトリビュートを追加し、アプリケーションクラスの名前に設定します。例えば、 Application
クラスの名前がGlobalApplication
の場合:
<application
android:name=".GlobalApplication"
<!-- ... -->
</application>
Applicationクラスで、 onCreate
メソッドを見つけるか追加します。以下のコードを追加してAdjust SDKを初期化します。
import com.adjust.sdk.Adjust;
import com.adjust.sdk.AdjustConfig;
public class GlobalApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
String appToken = "{YourAppToken}";
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig(this, appToken, environment);
Adjust.onCreate(config);
}
}
アプリトークンは、Adjustダッシュボードで確認できます。
environment
変数をサンドボックスモードまたはプロダクションモードに設定します。
テストを実行する際は、環境が
AdjustConfig.ENVIRONMENT_SANDBOX
に設定されていることを確認してください。アプリをApp Storeに提出する前に、これを
AdjustConfig.ENVIRONMENT_PRODUCTION
に変更してください。
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
String environment = AdjustConfig.ENVIRONMENT_PRODUCTION;
始める前に、WebView
オブジェクトへのリファレンスを取得する必要があります。設定が完了したら、次の手順を実行します。
webView.getSettings().setJavaScriptEnabled(true)
を呼び出して、WebビューでJavascriptを有効にします。AdjustBridge.registerAndGetInstance(getApplication(), webview)
を呼び出して、AdjustBridgeInstance
のデフォルトのインスタンスを起動します。これにより、AdjustブリッジがJavascriptインターフェイスとしてWeb viewに登録されます。必要に応じてAdjustBridge.setWebView()
を呼び出し、新しいWebView
を設定します。 AdjustBridge.unregister()
を呼び出し、AdjustBridgeInstance
とWebView
の登録を解除します。これらの手順が完了すると、アクティビティは以下のように記述されます。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(newWebChromeClient());
webView.setWebViewClient(newWebViewClient());
AdjustBridge.registerAndGetInstance(getApplication(),webview);
try {
webView.loadUrl("file:///android_asset/AdjustExample-WebView.html");
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void onDestroy() {
AdjustBridge.unregister();
super.onDestroy();
}
}
これで、Adjustブリッジのアプリへの追加が完了しました。Javascriptブリッジにより、ページとAdjust SDK間の通信が可能になります。
HTMLファイルでSDKから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>
Javascriptファイルにリファレンスを追加したら、HTMLファイル内でそれを使ってAdjust SDKを初期化します。
let yourAppToken = '{YourAppToken}';
let environment = AdjustConfig.EnvironmentSandbox;
let adjustConfig = new AdjustConfig(yourAppToken, environment);
Adjust.onCreate(adjustConfig);
アプリトークンは、Adjustダッシュボードで確認できます。
テストを実行する際は、環境が
AdjustConfig.EnvironmentSandbox
に設定されていることを確認してください。アプリをApp Storeに提出する前に、これを
AdjustConfig.EnvironmentProduction
に変更してください。
let environment = AdjustConfig.EnvironmentSandbox;
let environment = AdjustConfig.EnvironmentProduction;
SDKがセッション情報をAdjustバックエンドに渡せるようにするには、セッショントラッキングを設定する必要があります。アプリでこれを設定するには、以下の手順に従ってください。
全て展開する
ActivityLifecycleCallbacks
インターフェイスを実装するプライベートクラスを追加します。このインターフェイスにアクセスできない場合、アプリのAndroid APIレベルは14未満を対象としています。各アクティビティを更新するには、以下の手順 に従ってください。アプリのアクティビティに対してAdjust.onResume
と Adjust.onPause
のコールがある場合は、それらを削除してください。onActivityResumed(Activity activity)
メソッドを編集し、 Adjust.onResume()
へのコールを追加します。onActivityPaused(Activity activity)
メソッドを編集し、 Adjust.onPause()
へのコールを追加します。Adjust SDKの設定ステップにonCreate()
メソッドを追加します。作成されたActivityLifecycleCallbacks
クラスのインスタンスで registerActivityLifecycleCallbacks
を呼び出します:
import com.adjust.sdk.Adjust;
import com.adjust.sdk.AdjustConfig;
public class GlobalApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
String appToken = "{YourAppToken}";
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig(this, appToken, environment);
Adjust.onCreate(config);
registerActivityLifecycleCallbacks(new AdjustLifecycleCallbacks());
}
private static final class AdjustLifecycleCallbacks implements ActivityLifecycleCallbacks {
@Override
public void onActivityResumed(Activity activity) {
Adjust.onResume();
}
@Override
public void onActivityPaused(Activity activity) {
Adjust.onPause();
}
//...
}
}
GradleファイルのminSdkVersion
が9〜13の間の場合、14以上に変更することを検討してください。これにより、連携プロセスが簡素化されます。Android のダッシュボードで、主要バージョンの市場シェアを確認してください。
アクティビティを停止または再開する時は、特定のメソッドを呼び出す必要が
あります。これは、Adjust SDKがセッションの始まりと終わりを見逃さないようにするためです。アプリの全てのアクティビティに対して以下の手順を行ってください。
アクティビティの onResume
メソッドで Adjust.onResume()
を呼び出します。必要に応じてメソッドを作成します。 アクティビティの onPause
メソッドで Adjust.onPause()
を呼び出します。必要に応じてメソッドを作成します。 これらの手順を行うと、アクティビティは以下のように記述されます。
import com.adjust.sdk.Adjust;
public class YourActivity extends Activity {
protected void onResume() {
super.onResume();
Adjust.onResume();
}
protected void onPause() {
super.onPause();
Adjust.onPause();
}
}
これと同じ手順をアプリの全てのアクティビティに行ってください。コーディングスタイルの違いによって、全てのアクティビティに対する共通のスーパークラスにこれを追加するという方法もあります。
Verboseログを設定するには、configインスタンスでsetLogLevel
メソッド を呼び出してください。
adjustConfig.setLogLevel(LogLevel.WARN);
全てのログを無効にする場合は、ログレベルを suppress
に設定してください。
AdjustConfig config = new AdjustConfig(this, appToken, environment, true);
config.setLogLevel(LogLevel.SUPRESS);
Adjust.onCreate(config);
設定が完了しました。これでアプリの構築と実行が可能になります。ログを有効化して、問題がないかを確認してください。Adjust SDKを使ってユーザーのアトリビューションを開始することができます。