Adjust Android SDKを実装することで、アトリビューション、イベント、さらにその他のさまざまなデータをAndroidアプリで記録できます。Adjust SDKをアプリに実装するには、以下の手順に従ってください。
事前準備
SDK v5にアップデートする前に、以下を行ってください。
SDK v5はSDKシグネチャーの検証 をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。
アプリがバージョン21 以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります。
1. 環境を設定する
Adjust SDKを使い始めるには、SDKをdependencyとしてプロジェクトに追加してください。Adjust SDKはMaven で利用可能です。
プロジェクトにAdjust SDKを追加する方法:
Adjust SDKとAndroidリファラーの実装をbuild.gradle
ファイルに追加します。アプリでWeb viewを使用する場合、オプションでAdjust Web viewブリッジを追加します。
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-identifier
AARをプロジェクトに追加する必要があります。
Mavenを使用している場合は、build.gradle
ファイルに以下を追加します:
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
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デバイスを対象とするアプリで使用できます。Adjust SDKは、Adjust Huawei Referrerプラグインを使用して、Huaweiデバイスでのインストールを記録します。
このプラグインをインストールするには、build.gradle
ファイルに以下のdependencyを追加します:
implementation : "com.adjust.sdk:adjust-android-huawei-referrer:5.0.0"
Xiaomiリファラープラグイン
Xiaomiリファラープラグインを使用すると、Xiaomiデバイスを対象とするアプリのインストールリファラー値を記録できます。インストール情報については、プラグインに関するドキュメント を参照してください。
Samsungリファラープラグイン
Samsungリファラープラグインを使用すると、Samsung Galaxyストアを対象とするアプリのインストールリファラー値を記録できます。インストール情報については、プラグインに関するドキュメント を参照してください。
AdjustSDKはAdjustのMetaインストールリファラーを使用してMetaインストールリファラー をサポートしています。連携の詳細については、ドキュメントをご覧ください 。
6. SDKシグネチャーを設定する
SDK v5には、 SDKシグネチャーライブラリ が含まれています。連携が正常に機能することを確認するためには、テストガイド を参照してください。
シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、以下の手順に従ってください
シグネチャーの検証を有効化します 。
テスト前にアプリのSHA-1フィンガープリントを提供してください 。
7. Adjust SDKを実装する
Adjust SDKを初期化するには以下の情報が必要です:
appToken
: お客様のAdjustアプリトークン 。
environment
: アプリの実行環境。アプリをローカルでテストするには、これをAdjustConfig.ENVIRONMENT_SANDBOX
に設定します。
Adjust SDKを初期化する推奨の方法は、グローバルAndroidアプリケーションクラス 内です。まだこれをアプリに設定していない場合は、以下の手順に従ってください:
Application
を継承したクラスを作成します。
AndroidManifest.xml
ファイルを開き、 <application>
エレメントを確認します。
android:name
アトリビュートを<application>
要素に追加し、アプリケーションクラスの名前に設定します。例えば、Application
クラスの名前がGlobalApplication
の場合、以下を設定します:
< application android:name = ".GlobalApplication" >
Application
クラスでinitSdk
メソッドを見つけるか、存在しない場合は追加してください。以下のパラメーターをパスして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. initSdk (adjustConfig);
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)