Adjust Android SDKを実装することで、アトリビューション、イベント、さらにその他のさまざまなデータをAndroidアプリで記録できます。Adjust SDKをアプリに実装するには、以下の手順に従ってください。
1. Adjust SDKを取得する
AndroidアプリでAdjust SDKを使うには、プロジェクトに追加する必要があります。GitHubのリリースページ から最新バージョンをダウンロードできます。
Maven を使用している場合は、build.gradle
ファイルに以下を追加します:
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
ファイルに以下を追加します:
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
アプリセットIDを収集する
アプリセットID は、ユーザーがデバイスにインストールしたアプリの情報を計測するための一意の識別子です。同じ開発者のアプリは全て同じアプリセットIDを共有しているため、全てのアプリユーザーから有意義なインサイトを収集できます。デバイスのApp Set IDを記録するには、以下のパーミッションを build.gradle
ファイルに追加してください。
implementation 'com.google.android.gms:play-services-appset:16.0.2'
このパーミッションが有効な場合、アプリセットIDはデバイス情報ペイロードの一部としてAdjustのサーバーに送信されます。
3. パーミッションを追加する
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" />
Adjust SDKには、デフォルトでcom.google.android.gms.AD_ID
が含まれています。アプリがCOPPA(児童オンラインプライバシー保護法)に準拠する必要がある場合、またはアプリがGoogle Play ストアを対象としていない場合は、remove
ディレクティブを使用してこのパーミッションを削除する必要があります。
< uses-permission android:name = "com.google.android.gms.permission.AD_ID" tools:node = "remove" />
4. Proguardを設定する
Proguardを使ってアプリを最適化する場合は、Proguardがクラスを削除しないようにルールを追加する必要があります。
-keep class com .adjust.sdk.** { * ; }
-keep class com .google.android.gms.common.ConnectionResult {
-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 ストアでアプリを公開していない場合は、以下のルールを追加します:
-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
ファイルに以下を追加します:
implementation 'com.android.installreferrer:installreferrer:2.2'
Proguardを使用している場合は、依存関係が削除されないように、忘れずにルールを追加してください。
-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ストアを対象とするアプリのインストールリファラー値を記録できます。インストール情報については、プラグインドキュメントを参照してください。
Adjust SDKはv4.36.0以降でMetaインストールリファラー をサポートしています。この機能を有効にする方法:
App Dashboard でMetaアプリIDを検索します。詳しくはMetaのApp Dashboardのドキュメント をご覧ください。
AdjustConfig.setFbAppId
メソッドにString
引数としてアプリIDをパスします。
val config = AdjustConfig ( this , appToken, environment)
config. setFbAppId ( < fb_app_id_string > )
AdjustConfig config = new AdjustConfig ( this , appToken, environment);
config. setFbAppId ( < fb_app_id_string > );
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アプリケーションクラス 内です。まだこれをアプリに設定していない場合は、以下の手順に従ってください:
Application
を継承したクラスを作成します。
AndroidManifest.xml
ファイルを開き、 <application>
エレメントを確認します。
android:name
アトリビュートを<application>
要素に追加し、アプリケーションクラスの名前に設定します。例えば、Application
クラスの名前がGlobalApplication
の場合、以下を設定します:
< application android:name = ".GlobalApplication" >
Application
クラスでonCreate
メソッドを見つけるか、存在しない場合は追加してください。以下のパラメーターをパスしてAdjust SDKを初期化します。
チーム編成 appToken
アプリを実行したいenvironment
記録したいLogLevel
import com.adjust.sdk.Adjust ;
import com.adjust.sdk.AdjustConfig ;
class GlobalApplication : Application () {
override fun onCreate () {
val appToken = "{YourAppToken}"
val environment = AdjustConfig.ENVIRONMENT_SANDBOX;
val config = AdjustConfig ( this , appToken, environment)
config. setLogLevel (LogLevel.VERBOSE)
import com.adjust.sdk.Adjust;
import com.adjust.sdk.AdjustConfig;
public class GlobalApplication extends Application {
String appToken = "{YourAppToken}" ;
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig ( this , appToken, environment);
config. setLogLevel (LogLevel.VERBOSE)
Adjust Web View SDKを実装する
アプリがWeb viewを使用している場合、Adjust Web View SDKを使って情報を記録する必要があります。WebView
オブジェクトへのリファレンスを取得する必要があります。これが完了したら、以下の手順に従ってください:
webView.getSettings().setJavaScriptEnabled(true)
を呼び出して、WebビューでJavascriptを有効にします。
AdjustBridge.registerAndGetInstance(getApplication(), webview)
を呼び出して、デフォルトのAdjustBridgeInstance
を起動します。これにより、AdjustブリッジがJavascriptインターフェイスとしてWeb viewに登録されます。
AdjustBridge.setWebView()
を呼び出し、新しいWebView
を設定します。
AdjustBridge.unregister()
を呼び出し、AdjustBridgeInstance
とWebView
の登録を解除します。
以下は完全な設定の例です。
class MainActivity : Activity () {
override fun onCreate (savedInstanceState: Bundle ?) {
super . onCreate (savedInstanceState)
setContentView (R.layout.activity_main)
val webView = findViewById < webview >(R.id.webView)
webView.settings.javaScriptEnabled = true
webView.webChromeClient = WebChromeClient ()
webView.webViewClient = WebViewClient ()
AdjustBridge. registerAndGetInstance (application, webView)
webView. loadUrl ( "file:///android_asset/AdjustExample-WebView.html" )
override fun onDestroy () {
AdjustBridge. unregister ()
public class MainActivity extends Activity {
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 ( new WebChromeClient ());
webView. setWebViewClient ( new WebViewClient ());
AdjustBridge. registerAndGetInstance ( getApplication (), webview);
webView. loadUrl ( "file:///android_asset/AdjustExample-WebView.html" );
protected void onDestroy () {
AdjustBridge. unregister ();
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 >
appToken
とenvironment
をAdjustConfig
クラスにパスすることで、Web viewでAdjust SDKを初期化することができます:
let yourAppToken = "{YourAppToken}" ;
let environment = AdjustConfig.EnvironmentSandbox;
let adjustConfig = new AdjustConfig (yourAppToken, environment);
adjustConfig. setLogLevel (AdjustConfig.LogLevelVerbose);
Adjust. onCreate (adjustConfig);
セッション情報を記録するには、アプリのアクティビティライフサイクル のさまざまな段階でメソッドを呼び出す必要があります。これらのステージは、アプリが対象とするAPIレベルによって異なります。
APIレベルが14以上
APIレベルが14以上のセッション記録を設定するには:
アクティビティに対してAdjust.onResume
とAdjust.onPause
のコールがある場合は、それらを削除してください。
ActivityLifecycleCallbacks
インターフェイスを実装するプライベートクラスを追加します。
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 ;
class GlobalApplication : Application () {
override fun onCreate () {
val appToken = "{YourAppToken}"
val environment = AdjustConfig.ENVIRONMENT_SANDBOX;
val config = AdjustConfig ( this , appToken, environment)
config. setLogLevel (LogLevel.VERBOSE)
registerActivityLifecycleCallbacks ( AdjustLifecycleCallbacks ())
private class AdjustLifecycleCallbacks : Application . ActivityLifecycleCallbacks {
override fun onActivityResumed (activity: Activity ) {
override fun onActivityPaused (activity: Activity ) {
import com.adjust.sdk.Adjust;
import com.adjust.sdk.AdjustConfig;
public class GlobalApplication extends Application {
String appToken = "{YourAppToken}" ;
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig ( this , appToken, environment);
config. setLogLevel (LogLevel.VERBOSE)
registerActivityLifecycleCallbacks ( new AdjustLifecycleCallbacks ());
private static final class AdjustLifecycleCallbacks implements ActivityLifecycleCallbacks {
public void onActivityResumed (Activity activity ) {
public void onActivityPaused (Activity activity ) {
APIレベルが9~13
APIレベルが13以下のアプリでセッション記録を設定するには、以下の手順に従ってください:
アクティビティのonResume
メソッドにAdjust.onResume()
への呼び出しを追加します。
アクティビティのonPause
メソッドにAdjust.onPause()
への呼び出しを追加します。
これと同じ手順をアプリの全てのアクティビティに行ってください。コーディングスタイルの違いによって、全てのアクティビティに対する共通のスーパークラスにこれを追加するという方法もあります。
import com.adjust.sdk.Adjust ;
class YourActivity : Activity () {
override fun onResume () {
import com.adjust.sdk.Adjust;
public class YourActivity extends Activity {
protected void onResume () {
protected void onPause () {
8. 本番用にアプリをビルドする
テストが終わったら、本番用にアプリをビルドできます。そのためには、configオブジェクトを更新する必要があります。
必要なものだけを返すようにログレベルを調整します。
environment
をAdjustConfig.ENVIRONMENT_PRODUCTION
に設定します。
val appToken = "{YourAppToken}"
val environment = AdjustConfig.ENVIRONMENT_PRODUCTION;
val config = AdjustConfig ( this , appToken, environment)
config. setLogLevel (LogLevel.WARN)
String appToken = "{YourAppToken}" ;
String environment = AdjustConfig.ENVIRONMENT_PRODUCTION;
AdjustConfig config = new AdjustConfig ( this , appToken, environment);
config. setLogLevel (LogLevel.WARN)