これはネイティブadjust™のAndroid SDKガイドです。adjust™についての詳細はadjust.comをご覧ください。
Read this in other languages: English, 中文, 日本語, 한국어.
- Push トークン (uninstall tracking)
- アトリビューションコールバック
- 広告収益の計測
- イベントとセッションのコールバック
- ユーザーアトリビューション
- デバイス ID
- プレインストールのトラッカー
- オフラインモード
- トラッキングの無効化
- イベントバッファリング
- バックグラウンドでのトラッキング
- GDPR消去する権利(忘れられる権利)
- "Session failed (Ignoring too frequent session. ...)"というエラーが出る
- ブロードキャストレシーバーがインストールリファラを受信していない
- アプリ起動時にイベントを始動したい
Android サンプルアプリがexample ディレクトリ (example-app-java) および (example-app-kotlin directories)にあります。Webviewに使用するサンプルアプリは(example-webbridge) 、Android TVのサンプルは (example-app-tv)をご覧ください。をご覧ください。SDK実装の際は、Androidプロジェクトを開き、このサンプルをご参照ください。
Adjust SDKをAndroidプロジェクトに実装する手順を説明します。ここでは、Androidアプリケーションの開発にAndroid Studioが使用されていること、対象はAndroid APIレベル 9(Gingerbread) 以降であることを条件に説明します。
Mavenを使用している場合は、以下の内容をbuild.gradle
ファイルに追加します。file:
implementation 'com.adjust.sdk:adjust-android:4.26.1'
implementation 'com.android.installreferrer:installreferrer:2.2'
アプリの WebView内で Adjust SDK を使用したい場合は、以下のdependencyを追加してください。
implementation 'com.adjust.sdk:adjust-android-webbridge:4.26.1'
Adjust SDK およびWebView拡張機能をJAR ファイルとして追加し、Adjust リリースページからダウンロードすることもできます。
2014年8月1日より、Google Playストアのアプリには、端末をユニーク判別するためにGoogle Advertising IDの使用が義務付けられました。Adjust SDKでGoogle広告ID(gps_adid / Google Play Services Advertising ID)を使用するには、Google Playサービスを導入する必要があります。導入済みではい場合は、以下の手順に沿って設定してください。
- アプリの
build.gradle
ファイルを開き、dependencies
ブロックに次の行を追加してください。
implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
注意: Adjust SDKは、Google Playサービスの一つであるplay-services-analytics
ライブラリの特定のバージョンとは紐付いていませんので、必要に応じて最新バージョンをご使用ください。
AndroidManifest.xml
ファイルにAdjust SDKに必要なパーミッションが存在しない場合は、以下を追加してください。
<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はインストールリファラの情報を必要とします。そのためにGoogle Play リファラ APIかブロードキャストレシーバーを使用して、Google Playストアのインテントを取得します。
重要:Google Play リファラ APIは、Androidのインストールリファラをより安全に提供し、またクリックインジェクションの不正に対抗する目的でGoogleが新たに導入したものです。アプリケーションでこれをサポートすることを強く推奨します。Google Playストアのインテントは、インストールのリファラ情報を取得する上で安全性が低い方法です。当面、新しいGoogle Play Referrer APIと並行して引き続き存在しますが、将来廃止される予定となっています。
アプリでこのAPIをサポートするには、SDKをプロジェクトに追加する の章の手順に適切に従って、以下の行をbuild.gradle
ファイルに追加していることを確認してください。
implementation 'com.android.installreferrer:installreferrer:2.2'
また、Proguardの設定の章をよく読んで、記載されているすべてのルール、特に、この機能に必要なルールが追加されていることを確認してください。
-keep public class com.android.installreferrer.** { *; }
この機能は、Adjust SDK v4.12.0以降を使用している場合にサポートされます。
Google Play ストアのINSTALL_REFERRER
インテントは、ブロードキャストレシーバーを使用して受信することをおすすめします。ブロードキャストレシーバーを使用せずにINSTALL_REFERRER
インテントを取得したい場合、以下のreceiver
タグをAndroidManifest.xml
のapplication
タグ内に追加してください。
<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はこのブロードキャストレシーバーを使用して、インストールのリファラ情報を取得し、バックエンドに転送します。
INSTALL_REFERRER
インテントに対して既に他のブロードキャストレシーバーを使用している場合、こちらの説明に従って、Adjust ブロードキャストレシーバーを追加してください。
Adjust SDKv4.21.1以降、Huawei端末におけるインストール計測のサポートは、バージョン10.4かそれ以降のAppGalleryがインストールされたHuawei端末のみに可能です。アプリでHuawei リファラAPIをサポートするのに必要な追加作業はありません。
まず最初に、基本的なセッショントラッキングを設定します。
ネイティブアプリにSDK を実装する場合は、以下の ネイティブアプリSDK に示す手順に従ってください。SDK を アプリ内のWebViewで使用する場合は、以下の WebView SDK に示す手順に従ってください。
SDKの初期化には、Android アプリケーション のグローバルクラスを使用することを推奨します。アプリ内に存在しない場合、以下の手順に従ってください。
-
Application
を継承したクラスを作成します。 -
アプリの
AndroidManifest.xml
ファイルを開き、<application>
エレメントを確認します。 -
android:name
属性を追加し、先頭にドット(.)を付けて新規アプリケーションのクラス名をセットします。サンプルアプリの場合、
GlobalApplication
という名前のApplication
クラスを使用しているため、マニフェストファイルの設定は以下の通りになります。<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); } }
{YourAppToken}
にアプリトークンを代入してください。アプリトークンは管理画面で確認することができます。
アプリのビルドをテスト用(Sandbox)か本番用(Production)に分けるためには、SDK内の環境environment
をいずれかにセットする必要があります。
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
String environment = AdjustConfig.ENVIRONMENT_PRODUCTION;
重要: リリース前のテスト段階では、AdjustConfig.ENVIRONMENT_SANDBOX
に設定してください。アプリをストアに申請する前に、SDKの環境をAdjustConfig.ENVIRONMENT_PRODUCTION
にご変更ください。再度開発やテストを行う場合は、設定をAdjustConfig.ENVIRONMENT_SANDBOX
に戻してください。
Adjustはこの環境設定を使用して、本番用の計測数値とテスト端末からのテスト計測を区別してレポート画面に表示します。この値の設定には常に注意が必要ですが、課金イベントを計測する場合は特に気をつけてください。
WebView
オブジェクトのリファレンスを取得後:
webView.getSettings().setJavaScriptEnabled(true)
を呼び出して、JavaScriptをWebViewで有効化しますAdjustBridge.registerAndGetInstance(getApplication(), webview)
をコールしてAdjustBridgeInstance
のデフォルトインスタンスを起動します- これにより、Adjust ブリッジがWebViewの JavaScript Interface として登録されます
以上の手順を完了すると、アクティビティは次のようになります:
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(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
AdjustBridge.registerAndGetInstance(getApplication(), webview);
try {
webView.loadUrl("file:///android_asset/AdjustExample-WebView.html");
} catch (Exception e) {
e.printStackTrace();
}
}
}
この手順が完了すると、アプリに Adjust ブリッジが追加されます。JavaScript ブリッジは、Adjust のネイティブAndroid SDK と、WebViewにロードされるページの間での通信が可能となります。
HTMLファイルに、アセットのルートフォルダにある Adjust JavaScript をインポートしてください。HTML ファイルが同じ場所にある場合は、以下のような形でインポートできます:
<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);
{YourAppToken}
をアプリトークンに置き換えます。これは管理画面から確認できます。
次に、テスト中か本番用かに応じてenvironment
の値を設定します。
let environment = AdjustConfig.EnvironmentSandbox;
let environment = AdjustConfig.EnvironmentProduction;
重要: アプリのテスト中は(その場合に限り)、値を AdjustConfig.EnvironmentSandbox
に設定してください。アプリをストアに申請する前に、対象環境が AdjustConfig.EnvironmentProduction
と設定されていることを確認してください。開発やテストを再開する場合は、値を AdjustConfig.EnvironmentSandbox
に戻してください。
Adjustはこの環境設定を使用して、本番用の計測数値とテスト端末からのテスト計測を区別してレポート画面に表示します。
注意:この手順は非常に重要です。必ずアプリに正しく実装されていることを確認してください。この実装を行うことにより、アプリ内のAdjust SDKで適切なセッション計測が可能になります。
-
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公式管理画面にて、最新バージョン関する情報をご確認ください。
セッショントラッキングを正しく行うためには、Acticityの開始または停止ごとにAdjust SDKの該当メソッドをコールする必要があります。この設定を行わないと、SDKはセッション開始やセッション終了を見落とす可能性があります。適切にセッションをトラッキングするには、全てのActivityに対して以下の作業を行なってください。
- Activityの
onResume
メソッド中にAdjust.onResume()
へのコールを追加してください。必要に応じてメソッドを作成してください。 - Activityの
onPause
メソッド中にAdjust.onPause()
へのコールを追加してください。必要に応じてメソッドを作成してください。
これらの手順を行うと、Activityは以下のように記述されます。
import com.adjust.sdk.Adjust;
// ...
public class YourActivity extends Activity {
protected void onResume() {
super.onResume();
Adjust.onResume();
}
protected void onPause() {
super.onPause();
Adjust.onPause();
}
// ...
}
これと同じ手順をアプリのすべてのActivityに行なってください。将来新しいActivityを作成する場合、この手順を忘れないでください。コーディングスタイルの違いによって、すべてのActivityに対する共通のスーパークラスにこれを実装するという方法もあります。
Adjust SDK シグネチャーの有効化は、Adjustのアカウントマネージャーが行います。ご利用をご希望のクライアント様は、Adjust サポート ([email protected]) までご連絡ください。
アカウントで SDK シグネチャーが既に有効化され、Adjust 管理画面にあるアプリシークレット にアクセスする必要がある場合は、以下の方法でアプリに SDK シグネチャーを実装してください。
アプリシークレットは、設定するインスタンスで setAppSecret
を呼び出して登録されます。
Native App SDK |
AdjustConfig config = new AdjustConfig(this, appToken, environment);
config.setAppSecret(secretId, info1, info2, info3, info4);
Adjust.onCreate(config); |
Web View SDK |
let adjustConfig = new AdjustConfig(yourAppToken, environment);
adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);
Adjust.onCreate(adjustConfig); |
ConfigインスタンスのsetLogLevel
に設定するパラメータを変更することによって、記録するログのレベルを調節できます。
Native App SDK |
config.setLogLevel(LogLevel.VERBOSE); // enable all logs
config.setLogLevel(LogLevel.DEBUG); // disable verbose logs
config.setLogLevel(LogLevel.INFO); // disable debug logs (default)
config.setLogLevel(LogLevel.WARN); // disable info logs
config.setLogLevel(LogLevel.ERROR); // disable warning logs
config.setLogLevel(LogLevel.ASSERT); // disable error logs
config.setLogLevel(LogLevel.SUPRESS); // disable all logs |
Web View SDK |
adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose); // enable all logs
adjustConfig.setLogLevel(AdjustConfig.LogLevelDebug); // disable verbose logs
adjustConfig.setLogLevel(AdjustConfig.LogLevelInfo); // disable debug logs (default)
adjustConfig.setLogLevel(AdjustConfig.LogLevelWarn); // disable info logs
adjustConfig.setLogLevel(AdjustConfig.LogLevelError); // disable warning logs
adjustConfig.setLogLevel(AdjustConfig.LogLevelAssert); // disable error logs
adjustConfig.setLogLevel(AdjustConfig.LogLevelSuppress); // disable all logs |
すべてのログの出力を無効にする場合、ログレベルをsuppressに設定する他に、configオブジェクトのコンストラクタを使用してください (抑制されたログレベルがサポートされるべきかどうかを判定するboolean値が得られます)。
Native App SDK |
AdjustConfig config = new AdjustConfig(this, appToken, environment, true);
config.setLogLevel(LogLevel.SUPRESS);
Adjust.onCreate(config); |
Web View SDK |
let adjustConfig = new AdjustConfig(yourAppToken, environment, true);
adjustConfig.setLogLevel(AdjustConfig.LogLevelSuppress);
Adjust.onCreate(adjustConfig); |
Androidアプリをビルドして実行します。LogCat
ビューアにてtag:Adjust
フィルタを設定し、他のすべてのログを非表示にすることができます。アプリが起動された後、Install tracked
のログが出力されるはずです。
URLからアプリへのディープリンクを使ったAdjustトラッカーURLをご利用の場合、ディープリンクURLとその内容の情報を得られる可能性があります。 ユーザーがすでにアプリをインストールしている状態でそのURLに訪れた場合(スタンダード・ディープリンキング)と、 アプリをインストールしていないユーザーがURLを開いた場合(ディファード・ディープリンキング)が有り得ます。 スタンダード・ディープリンキングの場合、Androidのプラットフォームにはディープリンクの内容を取得できる仕組みがあります。 ディファード・ディープリンキングに対してはAndroidプラットフォームはサポートしていませんので、 Adjust SDKがディープリンクの内容を取得するメカニズムを提供します。
アプリをすでにインストールしているユーザーがdeep_link
パラメータのついたAdjustのトラッカーURLを叩いた後でアプリを立ち上げたい場合、 アプリのディープリンキングを有効化する必要があります。ユニークスキーム名を選択し、リンクがクリックされてアプリが開いた時に起動したいアクティビティを 指定することで有効化できます。これはAndroidManifest.xml
内で設定できます。マニフェストファルの該当のアクティビティ定義に intent-filter
セクションを追加し、該当のスキーム名にandroid:scheme
プロパティを指定してください。
<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="adjustExample" />
</intent-filter>
</activity>
この設定をすると、トラッカーURLがクリックされた時にアプリを開くには、AdjustトラッカーURLのdeep_link
パラメータにあるスキーム名を指定する必要があります。 ディープリンクに情報を追加していないトラッカーURLは次のようになります。
https://app.adjust.com/abc123?deep_link=adjustExample%3A%2F%2F
deep_link
パラメータの値はURLエンコードされる必要があります。
トラッカーURLをクリック後、アプリが上記の設定をされていれば、アプリはMainActivity
インテントの通りに起動します。 MainActivity
クラス内でdeep_link
パラメータの内容が自動的に提供されます。 届けられたこの情報はエンコードされていませんが、URL内ではエンコードされています。
AndroidManifest.xml
ファイルのアクティビティのandroid:launchMode
設定によっては、deep_link
パラメータの内容情報は アクティビティファイルの適切な箇所に届けられます。android:launchMode
のとり得る値について詳しくはAndroid公式資料をご確認ください。
指定のアクティビティにIntent
オブジェクトを介してディープリンクの内容情報を送ることができる場所は2か所あります。 アクティビティのonCreate
メソッドかonNewIntent
メソッドのいずれかです。アプリが起動してこれらのどちらかのメソッドが呼ばれると、 クリックURL中のdeep_link
パラメータ内の実際に渡されたディープリンクを取得することができます。 この情報はロジックを追加する際に使うことができます。
これらのメソッドからディープリンク情報を抽出する方法は以下の通りです。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
Uri data = intent.getData();
// data.toString() -> This is your deep_link parameter value.
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Uri data = intent.getData();
// data.toString() -> This is your deep_link parameter value.
}
ユーザーがdeep_link
パラメータのついたトラッカーURLをクリックし、アプリ未インストールの場合はディファード・ディープリンキングが作動します。クリックしたユーザーはアプリストアにリダイレクトされます。アプリをダウンロードし初回起動したタイミングで、deep_link
パラメータの内容がアプリに送信されます。
Adjust SDKはデフォルトでディファード・ディープリンクを開きます。追加設定の必要はありません。
コールバック関数を用いて、SDKがディファードディープリンクを開くかどうかを決めることができます。
Native App SDK |
AdjustConfig config = new AdjustConfig(this, appToken, environment);
// Evaluate the deeplink to be launched.
config.setOnDeeplinkResponseListener(new OnDeeplinkResponseListener() {
@Override
public boolean launchReceivedDeeplink(Uri deeplink) {
// ...
if (shouldAdjustSdkLaunchTheDeeplink(deeplink)) {
return true;
} else {
return false;
}
}
});
Adjust.onCreate(config); Adjust SDKがサーバーからディープリンク情報を受信すると、リスナ内のディープリンク内容の情報を送信しますので、
|
Web View SDK |
let adjustConfig = new AdjustConfig(yourAppToken, environment);
adjustConfig.setDeferredDeeplinkCallback(function (deeplink) {});
Adjust.onCreate(adjustConfig); このディファード・ディープリンクのシナリオでは、Configオブジェクトにもう1つの設定を追加できます。Adjust SDK がディファード・ディープリンクに関する情報を入手すると、SDK で URL を開くかどうかを選択できます。このオプションについては、Configオブジェクトで // ...
function deferredDeeplinkCallback(deeplink) {}
let adjustConfig = new AdjustConfig(yourAppToken, environment);
adjustConfig.setOpenDeferredDeeplink(true);
adjustConfig.setDeferredDeeplinkCallback(deferredDeeplinkCallback);
Adjust.start(adjustConfig); コールバックを設定しない場合、Adjust SDK はデフォルトで常に URL を立ち上げようとすることにご注意ください。 |
Adjustはディープリンクを使ったリエンゲージメントキャンペーンをサポートしています。 詳しくは公式資料をご覧ください。
ディープリンクご利用の場合、ユーザーが正しくリアトリビューションされるために、Adjust SDKへのコールを追加してください。
アプリでディープリンクの内容データを受信したら、Adjust.appWillOpenUrl(Uri, Context)
メソッドへのコールを追加してください。 このコールによって、Adjust SDKはディープリンクの中に新たなアトリビューションが存在するかを調べ、あった場合はAdjustサーバーにこれを送信します。 ディープリンクのついたAdjustトラッカーURLのクリックによってユーザーがリアトリビュートされる場合、 アトリビューションコールバック がこのユーザーの新しいアトリビューションデータで呼ばれます。
Adjust.appWillOpenUrl(Uri, Context)
のコールは下記のようになります。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
Uri data = intent.getData();
Adjust.appWillOpenUrl(data, getApplicationContext());
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Uri data = intent.getData();
Adjust.appWillOpenUrl(data, getApplicationContext());
}
注: Android SDK v4.14.0よりAdjust.appWillOpenUrl(Uri)
メソッドはdeprecated(推奨されていません) と表示されます。代わりにAdjust.appWillOpenUrl(Uri, Context)
メソッドを使用してください。
Web viewに関する注意:このコールは、webviewから関数Adjust.appWillOpenUrl
をJavascript でこのように作成することもできます:
Adjust.appWillOpenUrl(deeplinkUrl);
Adjustを使ってアプリ内のイベントをトラッキングすることができます。ここではあるボタンのタップを毎回トラックするケースを想定して説明します。 管理画面にてイベントトークンを作成します。そのイベントトークンは仮にabc123
とします。 タップをトラックするため、ボタンのonClick
メソッドに以下のような記述を追加します。
Native App SDK |
AdjustEvent adjustEvent = new AdjustEvent("abc123");
Adjust.trackEvent(adjustEvent); |
Web View SDK |
let adjustEvent = new AdjustEvent('abc123');
Adjust.trackEvent(adjustEvent); |
広告をタップはもちろん、アプリ内課金の発生時もトラッキングできます。 1回のタップで1ユーロセントの報酬と仮定すると、報酬イベントは以下のようになります。
Native App SDK |
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setRevenue(0.01, "EUR");
Adjust.trackEvent(adjustEvent); |
Web View SDK |
let adjustEvent = new AdjustEvent('abc123');
adjustEvent.setRevenue(0.01, 'EUR');
Adjust.trackEvent(adjustEvent); |
もちろんこれはコールバックパラメータと紐付けることができます。
通貨トークンを設定する場合、Adjustは自動的に収益を任意の報酬に変換します。 詳しくは通貨の変換をご覧ください。
アプリ内課金のトラッキングをする際は、課金が完了し、アイテムが購入された後にtrackEvent
をコールするようにしてください。実際に発生しなかった収益イベントをトラッキングしてしまうのを防ぐためです。
収益とイベントトラッキングについてはイベントトラッキングガイドもご参照ください。
オプションとしてオーダーIDを追加することにより、収益イベントが重複してトラッキングされるのを防ぐことができます。これを実行すると、10個前までのオーダーIDが記憶され、収益イベントに紐づけられたオーダーIDが重複している場合、そのイベントを排除します。以下の例をご参照ください。
Native App SDK |
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setRevenue(0.01, "EUR");
adjustEvent.setOrderId("{OrderId}");
Adjust.trackEvent(adjustEvent); |
Web View SDK |
let adjustEvent = new AdjustEvent('abc123');
adjustEvent.setRevenue(0.01, 'EUR');
adjustEvent.setOrderId('{OrderId}');
Adjust.trackEvent(event); |
Adjustのサーバーサイドのレシート検証ツール、課金検証(Purchase Verification)を使ってアプリ内で行われたアプリ内課金の妥当性を調べる際は、 Android purchase SDKをご利用ください。詳しくはこちらをご覧ください。
Adjust SDK が標準仕様で取得するパラメータ(IDFAなど)に加え、Adjust SDK を使ってカスタム値(クライアント様が保有するユーザー ID、商品 ID など)をイベントまたはセッションに追加することができます。カスタムパラメータは、コールバック経由でのみ送信が可能で、Adjust 管理画面のレポートに表示されることはありません。
コールバックパラメータはクライアント様だけがご利用可能です。外部パートナーにデータが送信されるパートナーパラメータに関しては、情報を共有するパートナーとの間で利用されなければなりません。内部と外部のパートナー双方の利用目的で値をトラッキングする場合は(例えば商品 ID など)、リアルタイムコールバックとパートナーパラメータの両方にてトラッキングすることを推奨します。
管理画面でイベントにコールバックURLを登録することができます。イベントがトラッキングされるたびに そのURLにGETリクエストが送信されます。トラッキングする前にイベントでaddCallbackParameter
をコールすることによって、 イベントにコールバックパラメータを追加できます。そうして追加されたパラメータはコールバックURLに送られます。
例えば、コールバックURLにhttp://www.example.com/callback
を登録した場合、イベントトラッキングは以下のようになります。
Native App SDK |
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.addCallbackParameter("key", "value");
adjustEvent.addCallbackParameter("foo", "bar");
Adjust.trackEvent(adjustEvent); |
Web View SDK |
let adjustEvent = new AdjustEvent('abc123');
adjustEvent.addCallbackParameter('key', 'value');
adjustEvent.addCallbackParameter('foo', 'bar');
Adjust.trackEvent(adjustEvent); |
この場合、Adjustはこのイベントをトラッキングし、以下にリクエストが送られます。
http://www.example.com/callback?key=value&foo=bar
パラメータの値として使われることのできるプレースホルダは、{gps_adid}
のような様々な形に対応しています。 得られるコールバック内で、このプレースホルダは該当デバイスのGoogle PlayサービスIDに置き換えられます。 独自に設定されたパラメータには何も格納しませんが、コールバックに追加されます。 イベントにコールバックを登録していない場合は、これらのパラメータは使われません。
URLコールバックについて詳しくはコールバックガイドをご覧ください。 利用可能な値のリストもこちらで参照してください。
Adjustの管理画面上で連携が有効化されているネットワークパートナーに送信するパラメータを設定することができます。
これは上記のコールバックパラメータと同様に機能しますが、 eventインスタンスのaddPartnerParameter
メソッドをコールすることにより追加されます。
Native App SDK |
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.addPartnerParameter("key", "value");
adjustEvent.addPartnerParameter("foo", "bar");
Adjust.trackEvent(adjustEvent); |
Web View SDK |
let adjustEvent = new AdjustEvent('abc123');
adjustEvent.addPartnerParameter('key', 'value');
adjustEvent.addPartnerParameter('foo', 'bar');
Adjust.trackEvent(adjustEvent); |
スペシャルパートナーとその統合について詳しくは連携パートナーガイドをご覧ください。
トラッキングしたいイベントにカスタムIDを追加できます。このIDはイベントをトラッキングし、成功か失敗かの通知を受け取けとれるようコールバックを登録することができます。イベントインスタンスにsetCallbackId
メソッドをコールしてこのIDを設定してください:
Native App SDK |
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setCallbackId("Your-Custom-Id");
Adjust.trackEvent(adjustEvent); |
Web View SDK |
let adjustEvent = new AdjustEvent('abc123');
adjustEvent.setCallbackId('Your-Custom-Id');
Adjust.trackEvent(adjustEvent); |
いくつかのパラメータは、Adjust SDKのイベントごと、セッションごとに送信するために保存されます。 このいずれかのパラメータを追加すると、これらはローカル保存されるため、毎回追加する必要はありません。 同じパラメータを再度追加しても何も起こりません。
これらのセッションパラメータはAdjust SDKが起動する前にコールすることができます。インストール時にパラメータを送信したい場合は、Adjust SDKの初回起動を遅らせることができます。 ただし、必要なパラメータの値を得られるのは起動後となります。
イベントで設定された同じコールバックパラメータを、 Adjust SDKのイベントごとまたはセッションごとに送信するために保存することもできます。
セッションコールバックパラメータのインターフェイスとイベントコールバックパラメータは似ています。 イベントにキーと値を追加する代わりに、AdjustのAdjust.addSessionCallbackParameter(String key, String value)
へのコールで追加されます。
Native App SDK |
Adjust.addSessionCallbackParameter("foo", "bar"); |
Web View SDK |
Adjust.addSessionCallbackParameter('foo', 'bar'); |
セッションコールバックパラメータは、イベントに追加されたコールバックパラメータとマージされます。 イベントに追加されたコールバックパラメータは、セッションコールバックパラメータより優先されます。 イベントに追加されたコールバックパラメータがセッションから追加されたパラメータと同じキーを持っている場合、 イベントに追加されたコールバックパラメータの値が優先されます。
Adjust.removeSessionCallbackParameter(String key)
メソッドに指定のキーを渡すことで、 特定のセッションコールバックパラメータを削除することができます。
Native App SDK |
Adjust.removeSessionCallbackParameter("foo"); |
Web View SDK |
Adjust.removeSessionCallbackParameter('foo'); |
セッションコールバックパラメータからすべてのキーと値を削除したい場合は、Adjust.resetSessionCallbackParameters()
メソッドを使ってリセットすることができます。
Native App SDK |
Adjust.resetSessionCallbackParameters(); |
Web View SDK |
Adjust.resetSessionCallbackParameters(); |
Adjust SDKのイベントごとやセッションごとに送信されるセッションコールバックパラメータがあるように、 セッションパートナーパラメータも用意されています。
これらはAdjustのネットワークパートナーに送信されます。Adjust管理画面のパートナー設定で有効化された連携に利用されます。
セッションパートナーパラメータのインターフェイスとイベントパートナーパラメータは似ています。 イベントにキーと値を追加する代わりに、Adjust.addSessionPartnerParameter(String key, String value)
へのコールで追加されます。
Native App SDK |
Adjust.addSessionPartnerParameter("foo", "bar"); |
Web View SDK |
Adjust.addSessionPartnerParameter('foo', 'bar'); |
セッションパートナーパラメータはイベントに追加されたパートナーパラメータとマージされます。イベントに追加されたパートナーパラメータは、 セッションパートナーパラメータより優先されます。イベントに追加されたパートナーパラメータが セッションから追加されたパラメータと同じキーを持っている場合、イベントに追加されたパートナーパラメータの値が優先されます。
Adjust.removeSessionPartnerParameter(String key)
メソッドに指定のキーを渡すことで、 特定のセッションパートナーパラメータを削除することができます。
Native App SDK |
Adjust.removeSessionPartnerParameter("foo"); |
Web View SDK |
Adjust.removeSessionPartnerParameter('foo'); |
セッションパートナーパラメータからすべてのキーと値を削除したい場合は、Adjust.resetSessionPartnerParameters()
メソッドを使ってリセットすることができます。
Native App SDK |
Adjust.resetSessionPartnerParameters(); |
Web View SDK |
Adjust.resetSessionPartnerParameters(); |
Adjust SDKの初回起動を遅らせると、クライアント様のユニークID(会員ID)などのセッションパラメータを取得しインストール時に送信できるようにすることができます。
ConfigインスタンスのsetDelayStart
メソッドで、ディレイタイムを秒単位で設定できます。
Native App SDK |
adjustConfig.setDelayStart(5.5); |
Web View SDK |
adjustConfig.setDelayStart(5.5); |
この場合、Adjust SDKは最初のインストールセッションと生成されるイベントを初めの5.5秒間は送信しません。 設定された時間が過ぎるまで、もしくはAdjust.sendFirstPackages()
がコールされるまで、 セッションパラメータはすべてディレイインストールセッションとイベントに追加され、Adjust SDKは通常通り再開します。
Adjust SDKのディレイスタートは最大で10秒です。
プロジェクトにAdjust SDKを連携させると、以下の機能をご利用できるようになります。
プッシュトークンは、オーディエンスビルダーとコールバック送信に使用されます。また、アンインストールと再インストールのトラッキングにも必要です。
Adjust にプッシュ通知トークンを送信する際には、トークンを入手(または値に変更が発生)した後、以下のコールをAdjust に追加してください。
Native SDK |
Adjust.setPushToken(pushNotificationsToken, context); シグネチャーに しかし、 |
Web View SDK |
Adjust.setPushToken(pushNotificationsToken); |
トラッカーのアトリビューション変化の通知を受けるために、リスナを登録することができます。 アトリビューションには複数の流入元が紐づく可能性があるため、この情報は同時に送ることができません。
アトリビューションデータに関するポリシーを必ずご確認ください。
Config
インスタンスで、SDKをスタートする前に以下のアトリビューションコールバックを追加してください。
Native App SDK |
AdjustConfig config = new AdjustConfig(this, appToken, environment);
config.setOnAttributionChangedListener(new OnAttributionChangedListener() {
@Override
public void onAttributionChanged(AdjustAttribution attribution) {}
});
Adjust.onCreate(config); |
Web View SDK |
function attributionCallback(attribution) {}
// ...
let adjustConfig = new AdjustConfig(yourAppToken, environment);
adjustConfig.setAttributionCallback(attributionCallback);
Adjust.onCreate(adjustConfig); |
リスナはSDKが最後のアトリビューションデータを取得した時に呼ばれます。 リスナの機能でattribution
パラメータを確認することができます。このパラメータのプロパティの概要は以下の通りです。
trackerToken
最新アトリビューションのトラッカートークンtrackerName
最新アトリビューションのトラッカー名network
最新アトリビューションの流入元名campaign
最新アトリビューションのキャンペーン名adgroup
最新アトリビューションのアドグループ名creative
最新アトリビューションのクリエイティブ名clickLabel
最新アトリビューションのクリックラベルadid
AdjustユニークID(Adjust Device ID)
注:この機能はネイティブのSDK v4.18.0以降のみ利用可能です。
Adjust SDKを利用して、以下のメソッドを呼び出し広告収益情報を計測することができます。
ネイティブアプリSDK |
Adjust.trackAdRevenue(source, payload); |
Adjust SDKにパスするメソッドの引数は以下の通りです。
source
- 広告収益情報のソースを指定するString
オブジェクトpayload
-広告収益のJSONを格納する
JSONObject`オブジェクト
現在、弊社は以下のsource
パラメータの値のみ対応しています。
AD_REVENUE_MOPUB
- メディエーションプラットフォームのMoPubを示します。(詳細は、統合ガイドを参照ください)
イベントとセッションの双方もしくはどちらかをトラッキングし、成功か失敗かの通知を受け取れるようリスナを登録することができます。リスナには4種類あります。それらは、トラッキングに成功したイベント、トラッキングに失敗したイベント、トラッキングに成功したセッション、トラッキングに失敗したイベントです。 Configオブジェクトを生成すると、リスナをいくつでも追加することができます。
Native App SDK |
AdjustConfig config = new AdjustConfig(this, appToken, environment);
// Set event success tracking delegate.
config.setOnEventTrackingSucceededListener(new OnEventTrackingSucceededListener() {
@Override
public void onFinishedEventTrackingSucceeded(AdjustEventSuccess eventSuccessResponseData) {
// ...
}
});
// Set event failure tracking delegate.
config.setOnEventTrackingFailedListener(new OnEventTrackingFailedListener() {
@Override
public void onFinishedEventTrackingFailed(AdjustEventFailure eventFailureResponseData) {
// ...
}
});
// Set session success tracking delegate.
config.setOnSessionTrackingSucceededListener(new OnSessionTrackingSucceededListener() {
@Override
public void onFinishedSessionTrackingSucceeded(AdjustSessionSuccess sessionSuccessResponseData) {
// ...
}
});
// Set session failure tracking delegate.
config.setOnSessionTrackingFailedListener(new OnSessionTrackingFailedListener() {
@Override
public void onFinishedSessionTrackingFailed(AdjustSessionFailure sessionFailureResponseData) {
// ...
}
});
Adjust.onCreate(config); |
Web View SDK |
function eventSuccessCallback(eventSuccessResponseData) {}
function eventFailureCallback(eventFailureResponseData) {}
function sessionSuccessCallback(sessionSuccessResponseData) {}
function sessionFailureCallback(sessionFailureResponseData) {}
// ...
let adjustConfig = new AdjustConfig(yourAppToken, environment);
adjustConfig.setEventSuccessCallback(eventSuccessCallback);
adjustConfig.setEventFailureCallback(eventFailureCallback);
adjustConfig.setSessionSuccessCallback(sessionSuccessCallback);
adjustConfig.setSessionFailureCallback(sessionFailureCallback);
Adjust.onCreate(adjustConfig); |
リスナ関数はSDKがサーバーにパッケージ送信を試みた後で呼ばれます。 リスナ関数内でリスナ用のレスポンスデータオブジェクトを確認することができます。 レスポンスデータのプロパティの概要は以下の通りです。
message
サーバーからのメッセージまたはSDKのエラーログtimestamp
サーバーからのタイムスタンプadid
Adjustから提供されるユニークデバイスIDjsonResponse
サーバーからのレスポンスのJSONオブジェクト
イベントのレスポンスデータは以下を含みます。
eventToken
トラッキングされたパッケージがイベントだった場合、そのイベントトークンcallbackId
イベントオブジェクトにカスタム設定されたコールバックID
失敗したイベントとセッションは以下を含みます。
- boolean
willRetry
しばらく後に再送を試みる予定であるかどうかを示します。
アトリビューションコールバック で説明したとおり、アトリビューション情報に変更がある度に、このコールバックが起動されます。Adjust インスタンスの以下のメソッドをコールすることで、必要な時にいつでもユーザーの最新のアトリビューション情報にアクセスすることができます:
Native App SDK |
AdjustAttribution attribution = Adjust.getAttribution(); |
Web View SDK |
let attribution = Adjust.getAttribution(); |
注意: このコールは、Adjust SDK v4.11.0 以上で使用が可能です。
注意: 最新のアトリビューション情報は、Adjust がバックエンドで行うアプリインストールのトラッキングが完了し、アトリビューションコールバックがトリガーされた後にのみ利用が可能となります。SDK が初期化され、アトリビューションコールバックがトリガーされる前には、ユーザーのアトリビューション値にアクセスすることができません。
Adjust SDK を使って、デバイス ID を取得することもできます。
Google Analyticsなどの一部のサービスでは、レポートの重複を防ぐためにデバイスIDとクライアントIDを連携させることが求められます。
Native App SDK |
Google 広告 ID は、バックグラウンドスレッドでのみ読み取りが可能という制限付で、取得することができます。ファンクション Adjust.getGoogleAdId(this, new OnDeviceIdsRead() {
@Override
public void onGoogleAdIdRead(String googleAdId) {}
}); |
Web View SDK |
デバイスの Google 広告デバイス ID を取得する際には、Google 広告 ID を引数として受け取る Adjust.getGoogleAdId(function(googleAdId) {
// ...
}); |
Amazon 広告 ID を取得する必要がある場合は、Adjust
インスタンスで、以下のメソッドを呼び出します:
Native App SDK |
String amazonAdId = Adjust.getAmazonAdId(context); |
Web View SDK |
let amazonAdId = Adjust.getAmazonAdId(); |
アプリがインストールされている各デバイスに対して、Adjust は、バックエンドでユニークな Adujust デバイス ID (adid) を生成します。この ID を取得するためには、Adjust
インスタンスで、以下のメソッドを呼び出してください:
Native App SDK |
String adid = Adjust.getAdid(); |
Web View SDK |
let adid = Adjust.getAdid(); |
注意: このコールは、Adjust SDK v4.11.0 以上で使用が可能です。
注意:adid に関する情報は、Adjust がバックエンドで行うアプリインストールのトラッキングが完了後のみ利用可能となります。SDK が初期化されてアプリインストールのトラッキングが完了しないと、adid 値にアクセスすることはできません。
すでにアプリをインストールしたことのあるユーザーをAdjust SDKを使って識別したい場合は、次の手順で設定を行ってください。
-
管理画面上で新しいトラッカーを作成してください。
-
App Delegateを開き、Configのデフォルトトラッカーを設定してください。
Native App SDK adjustConfig.setDefaultTracker("{TrackerToken}");
Web View SDK adjustConfig.setDefaultTracker('{TrackerToken}');
-
{TrackerToken}
にステップ2で作成したトラッカートークンを入れてください。 管理画面にはhttp://app.adjust.com/
を含むトラッカーURLが表示されます。 ソースコード内にはこのURLすべてではなく、6文字のトークンを抜き出して指定してください。 -
アプリをビルドしてください。LogCatで下記のような行が表示されるはずです。
Default tracker: 'abc123'
Adjustのサーバーへの送信を一時停止し、保持されているトラッキングデータを後から送信するために Adjust SDKをオフラインモードにすることができます。 オフラインモード中はすべての情報がファイルに保存されるので、イベントをたくさん発生させすぎないようにご注意ください。
true
パラメータでsetOfflineMode
を呼び出すとオフラインモードを有効にできます。
Native App SDK |
Adjust.setOfflineMode(true); |
Web View SDK |
Adjust.setOfflineMode(true); |
反対に、false
パラメータでsetOfflineMode
を呼び出せばオフラインモードを解除できます。 Adjust SDKがオンラインモードに戻った時、保存されていた情報は正しいタイムスタンプでAdjustのサーバーに送られます。
トラッキングの無効化とは異なり、この設定はセッション間で記憶されません。 オフラインモード時にアプリを終了しても、次に起動した時にはオンラインモードとしてアプリが起動します。
setEnabled
にパラメータfalse
を渡すことで、AdjustSDKが行うデバイスのアクティビティのトラッキングをすべて無効にすることができます。この設定はセッション間で記憶されます
Native App SDK |
Adjust.setEnabled(false); |
Web View SDK |
Adjust.setEnabled(false); |
Adjust SDKが現在有効かどうか、isEnabled
関数を呼び出せば確認できます。 また、setEnabled
関数にtrue
を渡せば、Adjust SDKを有効にすることができます。
イベントトラッキングを酷使している場合、HTTPリクエストを遅らせて1分毎にまとめて送信したほうがいい場合があります。 その場合は、Configインスタンスでイベントバッファリングを有効にしてください。
Native App SDK |
adjustConfig.setEventBufferingEnabled(true); |
Web View SDK |
adjustConfig.setEventBufferingEnabled(true); |
デフォルトでは、アプリがバックグラウンドにある間、Adjust SDKはHTTPリクエストの送信を停止します。 この設定はConfigインスタンスで変更できます。
Native App SDK |
adjustConfig.setSendInBackground(true); |
Web View SDK |
adjustConfig.setSendInBackground(true); |
次のメソッドを呼び出すと、EUの一般データ保護規制(GDPR)第17条に従い、ユーザーが消去する権利(忘れられる権利)を行使した際にAdjust SDKがAdjustバックエンドに情報を通知します。
Native App SDK |
Adjust.gdprForgetMe(context); |
Web View SDK |
Adjust.gdprForgetMe(); |
この情報を受け取ると、Adjustはユーザーのデータを消去し、Adjust SDKはユーザーの追跡を停止します。この削除された端末からのリクエストは今後、Adjustに送信されません。
この変更はテストを行なっている場合でも恒久的で、元の設定に戻すことはできないことをご留意ください。
このエラーはインストールのテストの際に起こりえます。アンインストール後に再度インストールするだけでは新規インストールとして動作しません。 SDKがローカルで統計したセッションデータを失ったとサーバーは判断してエラーメッセージを無視し、 その端末に関する有効なデータのみが与えられます。
この仕様はテスト中には厄介かもしれませんが、サンドボックスと本番用の挙動をできる限り近づけるために必要です。
アプリに対して、編集者レベル(または管理人権限)のアクセス権を持っている場合には、どんなデバイスに対するアプリのセッションデータについても、テストコンソールを使って Adjust 管理画面から直接リセットすることができます。
端末に関する記録が消去されると、テスティングコンソールはForgot device
と返します。 もしその端末の記録がすでに消去されていたり、値が不正だった場合は、そのリンクはAdvertising ID not found
と返します。
現在ご契約のパッケージでアクセスが可能の場合は、開発者用APIで設定確認と端末記録の消去を行うことができます。
ガイドに従って設定を済ませていれば、 ブロードキャストレシーバーはAdjustのSDKとサーバーにインストールを送信するよう設定されているはずです。
手動でテスト用インストールリファラを作動させることで確認できます。com.your.appid
にアプリIDを入力し、Android Studioの adbツールで以下のコマンドを実行してください。
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n com.your.appid/com.adjust.sdk.AdjustReferrerReceiver --es "referrer" "adjust_reftag%3Dabc1234%26tracking_id%3D123456789%26utm_source%3Dnetwork%26utm_medium%3Dbanner%26utm_campaign%3Dcampaign"
INSTALL_REFERRERインテントに対してすでに別のブロードキャストリファラを使っている状態でこのガイドの設定をした場合、com.adjust.sdk.AdjustReferrerReceiver
にブロードキャストレシーバーを入力してください。
-n com.your.appid/com.adjust.sdk.AdjustReferrerReceiver
パラメータを削除することもできます。 削除すると、デバイスに入っているすべてのアプリがINSTALL_REFERRER
インテントを受信します。
ログレベルをverbose
に設定していれば、リファラが読み込まれると以下のログが表示されるはずです。
V/Adjust: Reading query string (adjust_reftag=abc1234&tracking_id=123456789&utm_source=network&utm_medium=banner&utm_campaign=campaign) from reftag
SDKのパッケージハンドラーに追加されるクリックパッケージは以下のような形です。
V/Adjust: Path: /sdk_click
ClientSdk: android4.6.0
Parameters:
app_token abc123abc123
click_time yyyy-MM-dd'T'HH:mm:ss.SSS'Z'Z
created_at yyyy-MM-dd'T'HH:mm:ss.SSS'Z'Z
environment sandbox
gps_adid 12345678-0abc-de12-3456-7890abcdef12
needs_attribution_data 1
referrer adjust_reftag=abc1234&tracking_id=123456789&utm_source=network&utm_medium=banner&utm_campaign=campaign
reftag abc1234
source reftag
tracking_enabled 1
アプリの起動前にこのテストを行う場合、パッケージの送信は表示されません。パッケージはアプリの起動後に送信されます。
重要: この機能をテストをするためにadb
ツールを利用することは推奨しておりません。全てのリファラコンテンツをadb
でテストするためには(&
で分けられた複数のパラメータがある場合)、ブロードキャストリシーバーで受信するためにコンテンツをエンコードすることが必要です。もしエンコードをしないと、adb
はレファラを最初の&サインで切り、誤ったコンテンツをブロードキャストレシーバーに伝えます。アプリがどのようにエンコードされていないリファラを受信しているかを確認したい場合は、Adjustのサンプルアプリを利用して、MainActivity.java
ファイルのonFireIntentClick
メソッドのインテント内に送信されたコンテンツを変更してください:
public void onFireIntentClick(View v) {
Intent intent = new Intent("com.android.vending.INSTALL_REFERRER");
intent.setPackage("com.adjust.examples");
intent.putExtra("referrer", "utm_source=test&utm_medium=test&utm_term=test&utm_content=test&utm_campaign=test");
sendBroadcast(intent);
}
自分の選んだコンテントでputExtra
2番目のパラメーターを自由に変更してください。
直感的には分かりにくいですが、グローバルApplication
クラスのonCreate
メソッドはアプリ起動時だけでなく、 アプリによってシステムやイベントが作動する時にも呼ばれます。
Adjust SDKはこの場合の初期化についてサポートしています。この機能はアプリが実際に起動した時でなく、 アクティビティがスタートした時、たとえばユーザーがアプリを起動させた時に起こります。
これらのコールはアプリがユーザーの操作以外の要因で起動した場合にも、Adjust SDKを起動しイベントを送信しします。これはアプリの外部要因にもよります。
このように、アプリ起動時のイベントの作動はインストールとセッションの数を正確にトラッキングできません。
インストール後にイベントを作動させたい場合は、アトリビューション変更時用のリスナをご利用ください。
アプリ起動時にイベントを作動させたい場合は、スタートするアクティビティのonCreate
メソッドをご使用ください。
Adjust SDKはMITライセンスを適用しています。
Copyright (c) 2012-2019 Adjust GmbH, http://www.adjust.com
以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、 ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、 および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。
上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。
ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、 あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。