こちらはAdjustTMのUnity SDKです。iOS、Android、Windows Store 8.1、Windows Phone 8.1、およびWindows 10をサポートしています。AdjustTMについて は、adjust.comをご覧ください。
注:バージョン4.12.0以降のAdjust Unity SDKは、Unity 5以降のバージョンと互換性があります。
Read this in other languages: English, 中文, 日本語, 한국어
Adjust SDKをUnityプロジェクトに連携させる最少のステップをここでご紹介します。
リリースページから最新バージョンをダウンロードしてください。
Unityエディタでプロジェクトを開きAssets → Import Package → Custom Package
と進み、ダウンロードしたUnityパッケージファイルを選択してください。
Assets/Adjust/Adjust.prefab
にあるプレハブを1番目のシーンに追加してください。
追加したプレハブのInspector menu
にて、Adjustスクリプトのパラメータを編集してください。
Adjustプレハブで以下のオプションの設定ができます。
{YourAppToken}
にアプリのトークンを入力してください。これはダッシュボードで確認できます。
Environment
に以下のどちらかを設定してください。これはテスト用アプリか本番用アプリかによって異なります。
'Sandbox'
'Production'
重要 この値はアプリのテスト中のみSandbox
に設定してください。アプリを提出する前にProduction
になっていることを必ず確認してください。再度開発やテストをする際はSandbox
に戻してください。
この変数は実際のトラフィックとテスト端末からのテストのトラフィックを区別するために利用されます。正しく計測するために、この値の設定には常に注意してください。収益のトラッキングの際には特に重要です。
例えばこれらのオプションなどのメニューボタンがあるシーンの場合、Assets/Adjust/ExampleGUI/ExampleGUI.unity
にあるサンプルのシーンを開いてください。このシーンのソースはAssets/Adjust/ExampleGUI/ExampleGUI.cs
にあります。
Log Level
に設定するパラメータを変更することによって記録するログのレベルを調節できます。パラメータは以下の種類があります。
Verbose
- すべてのログを有効にするDebug
- より詳細なログを記録するInfo
- デフォルトWarn
- infoのログを無効にするError
- warningsを無効にするAssert
- errorsを無効にするSuppress
- すべてのログを無効にする
すべてのログ出力を非表示にしたい場合、Adjust SDKをソースコードから手動で初期化しているならば、ログレベルをSuppressにする以外にもAdjustConfig
オブジェクトのコンストラクタを使う必要があります。これはSuppressログレベルがサポートされているかどうかを示すBoolean値のパラメータを取得します。
string appToken = "{YourAppToken}";
string environment = AdjustEnvironment.Sandbox;
AdjustConfig config = new AdjustConfig(appToken, environment, true);
config.setLogLevel(AdjustLogLevel.Suppress);
Adjust.start(config);
Windowsベースのターゲットの場合、コンパイル時のログをreleased
モードでライブラリから見るには、debug
モードでテストされている間のアプリへのログ出力をリダイレクトする必要があります。
SDKを起動する前に、AdjustConfig
インスタンスのsetLogDelegate
メソッドをコールしてください。
//...
adjustConfig.setLogDelegate(msg => Debug.Log(msg));
//...
Adjust.start(adjustConfig);
2014年8月1日以降、Google Playストア内のアプリはデバイスの特定のためにGoogle広告IDを使うことが必須とされています。Adjust SDKでGoogle広告IDを使うためには、Google Playサービスを連携させる必要があります。Google Playサービスの連携がお済みでない場合は、google-play-services_lib
フォルダをUnityプロジェクトのAssets/Plugins/Android
フォルダにコピーしてください。アプリのビルドをするとGoogle Playサービスが連携されます。
google-play-services_lib
はAndroid SDKにも含まれていますので、すでにインストールされている場合もあります。
Android SDKをダウンロードするには主に2つの方法があります。Android SDK Manager
が入ったツールをお使いの場合は、Android SDK Tools
をダウンロードしてください。インストールすると、SDK_FOLDER/extras/google/google_play_services/libproject/
フォルダ内にライブラリが入っています。
Android SDK Managerの入ったツールをお使いでない場合、公式ページからスタンドアローンバージョンのAndroid SDKをダウンロードしてください。ダウンロードすると、Android SDK Toolsを含まない基本バージョンのAndroid SDKを得ることになります。SDK Readme.txt
という名前のGoogleのReadmeファイルにそれらのダウンロード方法について詳しく書かれています。これはAndroid SDKフォルダに入っています。
更新 新しいバージョンのAndroid SDKをインストールしている場合は、GoogleはSDKのルートフォルダ内のGoogle Playサービスフォルダの構成を変更しています。上述の構造は変更されており、新しいバージョンでは次のようになっています。
以前のようにGoogle Playサービスの全ライブラリだけでなく、部分的なライブラリの箇所に個別にアクセスができるようになりました。これにより、Adjust SDKが必要とする部分のGoogle Playサービスのライブラリだけを追加すればいいことになります。Assets/Plugins/Android
フォルダにplay-services-basement-x.y.z.aar
ファイルを追加するだけで、Adjust SDKに必要なGoogle Playサービスの連携は完了します。
更新: Google Play開発者サービスライブラリ (Google Play Services library) 15.0.0 より、Google は Google広告ID (Google Advertising Identifier) の取得に必要なクラスを、play-services-ads-identifier
パッケージに移動させました。Google Play 開発者サービスのバージョン 15.0.0 以上をご使用の場合、このパッケージをアプリに追加するようにしてください。Adjust は、Google広告IDに関するいくつかの矛盾点を認識していますが、これはご利用するUnity IDE のバージョンに伴います。使用中のバージョンや Google Play開発者サービスのdependencyブロックをどのようにアプリに追加したかに関わらず、Google広告IDが Adjust SDK を使って正しく取得できるかどうかをテストするようお願いいたします。
Adjust SDK がGoogle広告IDを受け取っているかどうかを確認するためには、SDK をサンドボックス (sandbox
) モードで稼動させ、ログレベルをverboseに設定してください。その後、セッションまたはアプリの一部のイベントをトラキングし、セッションまたはイベントのトラックが完了したら、verboseログにある読み込み済みパラメーターを確認します。gps_adid
と呼ばれる広告IDを表示するパラメータが存在すれば、Adjust SDK がGoogle広告IDを問題なく読み込んでいるということになります。
Google広告IDに関して問題やご質問がございましたら、AdjustのGithub リポジトリに質問を投稿するか、[email protected] までEメールでご連絡ください。
Proguardをお使いの場合は、以下をProguardファイルに追加してください。
-keep public 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.** { *; }
Adjustでは、Androidアプリのインストールをその流入元に正確にアトリビュートするため、インストールリファラの情報を取得する必要があります。そのためにGoogle PlayリファラAPIを利用するか、またはブロードキャストレシーバーでGoogle Playストアのインテントを取得してください。Adjustのポストビルドプロセスにより、Google Playストアのインテントを使用したシナリオは自動的にサポートされますが、新しいGoogle PlayリファラAPIのサポートを追加するには、ユーザー側で追加手順を行う必要があります。
重要:Google PlayリファラAPIは、インストールリファラの情報を信頼でき、安全な方法で提供し、またアトリビューションプロバイダがクリックインジェクションの不正に対抗するするためにGoogleが新たに導入したものです。アプリケーションでこれをサポートすることを強く推奨します。Google Playストアのインテントは、インストールリファラ情報を取得する上で安全性が低い方法です。当面、新しいGoogle PlayリファラAPIと並行して引き続き存在しますが、将来廃止される予定となっています。
そのサポートを追加するには、Mavenリポジトリからinstall referrer libraryをダウンロードしてください。Plugins/Android
フォルダーにAARファイルを保存すれば完了です。Adjustのポストビルドプロセスが、必要なAndroidManifest.xml
の調整を行います。
ビルドプロセスを促進し、Adjust SDKを適切に動作させるため、Adjust Unityパッケージでポストビルドプロセスが実行されます。
このプロセスは、AdjustEditor.cs
のOnPostprocessBuild
メソッドで実行されます。iOSポストビルドプロセスを適切に実行するには、Unity 5以降
にiOSビルドサポート
をインストールしておく必要があります。
このスクリプトがUnity IDEコンソール出力ウィンドウにログ出力メッセージを書き込みます。
iOSポストビルドプロセスは、生成されたXcodeプロジェクトで次のような変更を実行します。
iAd.framework
を追加します(Apple Search Adsのトラッキングに必要)。AdSupport.framework
を追加します(IDFAの読み取りに必要)。CoreTelephony.framework
を追加します(MMCとMNCの読み取りに必要)。- 別のリンカフラグ
-ObjC
を追加します(ビルド中にAdjust Objective-Cカテゴリーを認識するために必要)。 Objective-C exceptions
を有効にします。
Androidポストビルドプロセスは、Assets / Plugins / Android /
にあるAndroidManifest.xml
ファイルの変更を実行します。
Androidポストビルドプロセスは、最初にAndroidプラグインフォルダー内にAndroidManifest.xml
ファイルがあるかどうかを確認します。Assets / Plugins / Android /
にAndroidManifest.xml
ファイルがない場合は、互換性のあるマニフェストファイルのAdjustAndroidManifest.xml
からコピーを作成します。すでにAndroidManifest.xml
ファイルがある場合は、次の内容を確認して変更します。
INTERNET
のパーミッションを追加します(インターネット接続に必要)。ACCESS_WIFI_STATE
のパーミッションを追加します(アプリをPlayストア経由で配布しない場合に必要)。ACCESS_NETWORK_STATE
のパーミッションを追加します(MMCとMNCの読み取りに必要)。BIND_GET_INSTALL_REFERRER_SERVICE
のパーミッションを追加します(新しいGoogleインストールリファラAPIの使用に必要)。- Adjustブロードキャストレシーバーを追加します(Google Playストアのインテントを介してインストールリファラ情報を取得するために必要です)。詳細については、公式のAndroid SDK READMEをご覧ください。なお、独自のブロードキャストレシーバーを使用して
INSTALL_REFERRER
インテントを処理している場合には、マニフェストファイルにAdjustブロードキャストレシーバーを追加する必要はありません。それを削除し、Android guideのように、独自のレシーバー内にAdjustブロードキャストレシーバーへのコールを追加します。
プロジェクトにAdjust SDKを連携させると、以下の機能をご利用できるようになります。
Adjustを使ってアプリ内のイベントをトラッキングすることができます。ここではあるボタンのタップを毎回トラックしたい場合について説明します。dashboardにてイベントトークンを作成し、そのイベントトークンは仮にabc123
というイベントトークンと関連しているとします。クリックをトラックするため、ボタンのクリックハンドラーメソッドに以下のような記述を追加します。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
Adjust.trackEvent(adjustEvent);
広告をタップした時やアプリ内課金をした時などにユーザーが報酬を得る仕組みであれば、そういったイベントもトラッキングできます。1回のタップで1ユーロセントの報酬と仮定すると、報酬イベントは以下のようになります。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setRevenue(0.01, "EUR");
Adjust.trackEvent(adjustEvent);
報酬を重複してトラッキングすることを防ぐために、トランザクションIDを随意で設定することができます。最新の10のトランザクションIDが記憶され、重複したトランザクションIDの収益イベントは除外されます。これはアプリ内課金のトラッキングに特に便利です。下記に例を挙げます。
アプリ内課金をトラッキングする際は、トランザクションが終了しアイテムが購入された時のみtrackEvent
をコールするようにしてください。こうすることで、実際には生成されない報酬をトラッキングすることを防ぐことができます。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setRevenue(0.01, "EUR");
adjustEvent.setTransactionId("transactionId");
Adjust.trackEvent(adjustEvent);
Adjustのサーバーサイドのレシート検証ツール、Purchase Verificationを使ってアプリ内で行われたアプリ内課金の妥当性を調べる際は、Unity purchase SDK
をご利用ください。詳しくはこちらをご覧ください。
dashboardでイベントにコールバックURLを登録することができます。イベントがトラッキングされるたびにそのURLにGETリクエストが送信されます。
この場合、オブジェクトにキーと値の組を入れtrackEvent
メソッドに渡すこともできます。渡されたパラメータはコールバックURLに追加されます。
例えば、コールバックURLにhttp://www.adjust.com/callback
を登録し、イベントトークンをabc123
とした場合、イベントトラッキングは以下のようになります。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.addCallbackParameter("key", "value");
adjustEvent.addCallbackParameter("foo", "bar");
Adjust.trackEvent(adjustEvent);
この場合、Adjustはこのイベントをトラッキングし以下にリクエストが送られます。
http://www.adjust.com/callback?key=value&foo=bar
パラメータの値として使われることのできるプレースホルダーは、iOSの{idfa}
やAndroidの{gps_adid}
のような様々な形に対応しています。得られるコールバック内で、{idfa}
プレースホルダーは該当デバイスの広告主用のIDに置き換えられ、{gps_adid}
プレースホルダーは該当デバイスのGoogle PlayサービスIDに置き換えられます。独自に設定されたパラメータには何も格納しませんが、コールバックに追加されます。イベントにコールバックを登録していない場合は、これらのパラメータは使われません。
Adjustのダッシュボード上で連携が有効化されているネットワークパートナーに送信するパラメータを設定することができます。
これは上記のコールバックパラメータと同様に機能しますが、AdjustEvent
インスタンスのaddPartnerParameter
メソッドをコールすることにより追加されます。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.addPartnerParameter("key", "value");
adjustEvent.addPartnerParameter("foo", "bar");
Adjust.trackEvent(adjustEvent);
連携パートナーとその連携方法について詳しくは連携パートナーガイドをご覧ください。
トラッキングしたいイベントにカスタムIDを追加できます。このIDはイベントをトラッキングし、成功か失敗かの通知を受け取けとれるようコールバックを登録することができます。このIDはAdjustEvent
インスタンスのsetCallbackId
メソッドと呼ぶように設定できます:
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setCallbackId("Your-Custom-Id");
Adjust.trackEvent(adjustEvent);
いくつかのパラメータは、Adjust SDKのイベントごと、セッションごとに送信するために保存されます。このいずれかのパラメータを追加すると、これらはローカルに保存されるため、毎回追加する必要はありません。同じパラメータを再度追加しても何も起こりません。
これらのセッションパラメータはAdjust SDKが立ち上がる前にコールすることができるので、インストール時に送信を確認することもできます。インストール時に送信したい場合は、Adjust SDKの初回立ち上げを遅らせることができます。ただし、必要なパラメータの値を得られるのは立ち上げ後となります。
イベントで設定された同じコールバックパラメータを、Adjust SDKのイベントごとまたはセッションごとに送信するために保存することもできます。
セッションコールバックパラメータのインターフェイスとイベントコールバックパラメータは似ています。イベントにキーと値を追加する代わりに、Adjust
メソッドのaddSessionCallbackParameter
へのコールで追加されます。
Adjust.addSessionCallbackParameter("foo", "bar");
セッションコールバックパラメータは、イベントに追加されたコールバックパラメータとマージされます。イベントに追加されたコールバックパラメータは、セッションコールバックパラメータより優先されます。イベントに追加されたコールバックパラメータがセッションから追加されたパラメータと同じキーを持っている場合、イベントに追加されたコールバックパラメータの値が優先されます。
removeSessionCallbackParameter
メソッドに指定のキーを渡すことで、特定のセッションコールバックパラメータを削除することができます。
Adjust.removeSessionCallbackParameter("foo");
セッションコールバックパラメータからすべてのキーと値を削除したい場合は、resetSessionCallbackParameters
メソッドを使ってリセットすることができます。
Adjust.resetSessionCallbackParameters();
Adjust SDKのイベントごとやセッションごとに送信されるセッションコールバックパラメータがあるように、セッションパートナーパラメータも用意されています。
これらはネットワークパートナーに送信され、Adjustダッシュボードで有効化されている連携のために利用されます。
セッションパートナーパラメータのインターフェイスとイベントパートナーパラメータは似ています。イベントにキーと値を追加する代わりに、Adjust
メソッドのaddSessionPartnerParameter
へのコールで追加されます。
Adjust.addSessionPartnerParameter("foo", "bar");
セッションパートナーパラメータはイベントに追加されたパートナーパラメータとマージされます。イベントに追加されたパートナーパラメータは、セッションパートナーパラメータより優先されます。イベントに追加されたパートナーパラメータがセッションから追加されたパラメータと同じキーを持っている場合、イベントに追加されたパートナーパラメータの値が優先されます。
removeSessionPartnerParameter
メソッドに指定のキーを渡すことで、特定のセッションパートナーパラメータを削除することができます。
Adjust.removeSessionPartnerParameter("foo");
セッションパートナーパラメータからすべてのキーと値を削除したい場合は、resetSessionPartnerParameters
メソッドを使ってリセットすることができます。
Adjust.resetSessionPartnerParameters();
Adjust SDKのスタートを遅らせると、ユニークIDなどのセッションパラメータを取得しインストール時に送信できるようにすることができます。
AdjustConfig
インスタンスのsetDelayStart
メソッドで、遅らせる時間を秒単位で設定できます。
adjustConfig.setDelayStart(5.5);
この場合、Adjust SDKは最初のインストールセッションと生成されるイベントを初めの5.5秒間は送信しません。この時間が過ぎるまで、もしくはAdjust.sendFirstPackages()
がコールされるまで、セッションパラメータはすべてディレイインストールセッションとイベントに追加され、Adjust SDKは通常通り再開します。
Adjust SDKのディレイスタートは最大で10秒です。
トラッカーのアトリビューション変化の通知を受けるために、コールバックを登録することができます。アトリビューションには複数のソースがあり得るため、この情報は同時に送ることができません。アプリにこのコールバックを実装するには次の手順に進んでください。
アトリビューションデータに関するポリシーを必ずご確認ください。
-
デリゲート
Action<AdjustAttribution>
の署名を使ってメソッドを作成してください。 -
AdjustConfig
オブジェクトの作成後、上で作成したメソッドでadjustConfig.setAttributionChangedDelegate
をコールしてください。同じ署名でラムダ式を使うことも可能です。 -
Adjust.prefab
を使う代わりに、theAdjust.cs
スクリプトが他のGameObject
に追加されている場合は、そのGameObject
の名前をAdjustConfig.setAttributionChangedDelegate
の2番目のパラメータとして必ず追加してください。
コールバックがAdjustConfigインスタンスを使っているため、Adjust.start
をコールする前にadjustConfig.setAttributionChangedDelegate
をコールする必要があります。
このコールバック関数は、SDKが最後のアトリビューションデータを取得した時に作動します。コールバック関数内でattribution
パラメータを確認することができます。このパラメータのプロパティの概要は以下の通りです。
string trackerToken
最新アトリビューションのトラッカートークンstring trackerName
最新アトリビューションのトラッカー名string network
最新アトリビューションのネットワークのグループ階層string campaign
最新アトリビューションのキャンペーンのグループ階層string adgroup
最新アトリビューションのアドグループのグループ階層string creative
最新アトリビューションのクリエイティブのグループ階層string clickLabel
最新アトリビューションのクリックラベルstring adid
AdjustのデバイスID
using com.adjust.sdk;
public class ExampleGUI : MonoBehaviour {
void OnGUI() {
if (GUI.Button(new Rect(0, 0, Screen.width, Screen.height), "callback")) {
AdjustConfig adjustConfig = new AdjustConfig("{Your App Token}", AdjustEnvironment.Sandbox);
adjustConfig.setLogLevel(AdjustLogLevel.Verbose);
adjustConfig.setAttributionChangedDelegate(this.attributionChangedDelegate);
Adjust.start(adjustConfig);
}
}
public void attributionChangedDelegate(AdjustAttribution attribution) {
Debug.Log("Attribution changed");
// ...
}
}
Adjust SDKを利用して、以下のメソッドを呼び出し広告収益情報を計測することができます。
Adjust.trackAdRevenue(source, payload);
Adjust SDKにパスするメソッドの引数は以下の通りです。
source
- 広告収益情報のソースを指定するstring
オブジェクトpayload
- 広告収益のJSONを格納するstring
オブジェクト
現在、弊社は以下のsource
パラメータの値のみ対応しています。
AdjustConfig.AdjustAdRevenueSourceMopub
- メディエーションプラットフォームのMoPubを示します。(詳細は、統合ガイドを参照ください)
イベントとセッションの双方もしくはどちらかをトラッキングし、成功か失敗かの通知を受け取れるようリスナを登録することができます。
成功したイベントへのコールバック関数を以下のように実装してください。
// ...
AdjustConfig adjustConfig = new AdjustConfig("{Your App Token}", AdjustEnvironment.Sandbox);
adjustConfig.setLogLevel(AdjustLogLevel.Verbose);
adjustConfig.setEventSuccessDelegate(EventSuccessCallback);
Adjust.start(adjustConfig);
// ...
public void EventSuccessCallback(AdjustEventSuccess eventSuccessData) {
// ...
}
失敗したイベントへは以下のように実装してください。
// ...
AdjustConfig adjustConfig = new AdjustConfig("{Your App Token}", AdjustEnvironment.Sandbox);
adjustConfig.setLogLevel(AdjustLogLevel.Verbose);
adjustConfig.setEventFailureDelegate(EventFailureCallback);
Adjust.start(adjustConfig);
// ...
public void EventFailureCallback(AdjustEventFailure eventFailureData) {
// ...
}
同様に、成功したセッション
// ...
AdjustConfig adjustConfig = new AdjustConfig("{Your App Token}", AdjustEnvironment.Sandbox);
adjustConfig.setLogLevel(AdjustLogLevel.Verbose);
adjustConfig.setSessionSuccessDelegate(SessionSuccessCallback);
Adjust.start(adjustConfig);
// ...
public void SessionSuccessCallback (AdjustSessionSuccess sessionSuccessData) {
// ...
}
失敗したセッション
// ...
AdjustConfig adjustConfig = new AdjustConfig("{Your App Token}", AdjustEnvironment.Sandbox);
adjustConfig.setLogLevel(AdjustLogLevel.Verbose);
adjustConfig.setSessionFailureDelegate(SessionFailureCallback);
Adjust.start(adjustConfig);
// ...
public void SessionFailureCallback (AdjustSessionFailure sessionFailureData) {
// ...
}
コールバック関数はSDKがサーバーにパッケージ送信を試みた後で呼ばれます。コールバック内でコールバック用のレスポンスデータオブジェクトを確認することができます。レスポンスデータのプロパティの概要は以下の通りです。
string Message
サーバーからのメッセージまたはSDKのエラーログstring Timestamp
サーバーからのタイムスタンプstring Adid
Adjustから提供されるユニークデバイスIDDictionary<string, object> JsonResponse
サーバーからのレスポンスのJSONオブジェクト
イベントのレスポンスデータは以下を含みます。
string EventToken
トラッキングされたパッケージがイベントだった場合、そのイベントトークンstring CallbackId
イベントオブジェクトにカスタム設定されたコールバックID
失敗したイベントとセッションは以下を含みます。
bool WillRetry
しばらく後に再送を試みる予定であるかどうかを示します。
setEnabled
にパラメータfalse
を渡すことで、Adjust SDKが行うデバイスのアクティビティのトラッキングをすべて無効にすることができます。この設定はセッション間で記憶されます。最初のセッションの後でしか有効化できません。
Adjust.setEnabled(false);
Adjust SDKが現在有効かどうか、isEnabled
関数を呼び出せば確認できます。また、setEnabled
関数にtrue
を渡せば、Adjust SDKを有効にすることができます。
Adjustのサーバーへの送信を一時停止し、保持されているトラッキングデータを後から送信するためにAdjust SDKをオフラインモードにすることができます。オフラインモード中はすべての情報がファイルに保存されるので、イベントをたくさん発生させすぎないようにご注意ください。
true
パラメータでsetOfflineMode
を呼び出すとオフラインモードを有効にできます。
Adjust.setOfflineMode(true);
反対に、false
パラメータでsetOfflineMode
を呼び出せばオフラインモードを解除できます。Adjust SDKがオンラインモードに戻った時、保存されていた情報は正しいタイムスタンプでAdjustのサーバーに送られます。
トラッキングの無効化とは異なり、この設定はセッション間で記憶されません。オフラインモード時にアプリを終了しても、次に起動した時にはオンラインモードとしてアプリが起動します。
イベントトラッキングを酷使している場合、HTTPリクエストを遅らせて1分毎にまとめて送信したほうがいい場合があります。その場合は、AdjustConfig
インスタンスでイベントバッファリングを有効にしてください。
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken", "{YourEnvironment}");
adjustConfig.setEventBufferingEnabled(true);
Adjust.start(adjustConfig);
設定されていない場合、イベントバッファリングはデフォルトで無効になっています。
次のメソッドを呼び出すと、EUの一般データ保護規制(GDPR)第17条に従い、ユーザーが消去する権利(忘れられる権利)を行使した際にAdjust SDKがAdjustバックエンドに情報を通知します。
Adjust.gdprForgetMe();
この情報を受け取ると、Adjustはユーザーのデータを消去し、Adjust SDKはユーザーの追跡を停止します。この削除された端末からのリクエストは今後、Adjustに送信されません。
アカウントマネージャーがAdjust SDKシグネチャーを有効化する必要があります。この機能を使用する場合は、Adjustのサポート([email protected])までお問い合わせください。
すでにアカウントでSDKシグネチャーが有効になっており、Adjust管理画面のアプリシークレット(App Secret)にアクセスできる場合は、以下の方法を使用してアプリにSDKシグネチャーを実装してください。
アプリシークレットは、AdjustConfig
インスタンスのsetAppSecret
メソッドにすべてのシークレットパラメーター(secretId
、info1
、info2
、info3
、info4
)を`渡すことで設定されます。
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", "{YourEnvironment}");
adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);
Adjust.start(adjustConfig);
Adjust SDKはデフォルドではアプリがバックグラウンドにある時はHTTPリクエストを停止します。この設定はAdjustConfig
インスタンスで変更できます。
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken", "{YourEnvironment}");
adjustConfig.setSendInBackground(true);
Adjust.start(adjustConfig);
Google Analyticsなどの一部のサービスでは、レポートの重複を防ぐためにデバイスIDとクライアントIDを連携させることが求められます。
IDFAを取得するには、Adjust
インスタンスのgetIdfa
関数をコールしてください。
string idfa = Adjust.getIdfa()
Google広告IDを取得する必要がある場合、広告IDはバックグラウンドでのスレッドでしか読み込みできないという制約があります。getGoogleAdId
関数をAction<string>
デリゲートでコールすると、この条件以外でも取得できるようになります。
Adjust.getGoogleAdId((string googleAdId) => {
// ...
});
Google広告IDをgoogleAdId
変数として利用できます。
Amazon広告IDを取得する必要がある場合は、Adjust
インスタンスでgetAmazonAdId
メソッドをコールすることができます。
string amazonAdId = Adjust.getAmazonAdId();
アプリがインストールされている各端末に対して、AdjustサーバーはユニークなAdjustデバイスID (adid)を生成します。このIDを取得するには、Adjust
インスタンスの以下のメソッドをコールしてください。
String adid = Adjust.getAdid();
注意: adidに関する情報は、Adjustサーバーがアプリのインストールをトラッキングした後でのみ利用できます。それ以降ならば、Adjust SDKはadidに関する情報を持っていて、メソッドを使ってこれにアクセスすることができます。ですので、SDKが初期化されアプリのインストールが正常にトラッキングされる前にadidを使うことはできません。
アトリビューションコールバックは、アトリビューションコールバックの章で説明された通り、メソッドを使って引き起こされます。これらはユーザーのアトリビューション値の変化をお知らせします。ユーザーの現在のアトリビューション値に関する情報にアクセスする場合は、Adjust
インスタンスの次のメソッドをコールしてください。
AdjustAttribution attribution = Adjust.getAttribution();
注意 ユーザーの現在のアトリビューション値に関する情報は、Adjustサーバーがアプリのインストールをトラッキングし最初のアトリビューションコールバックが呼ばれた後でのみ利用できます。それ以降であれば、Adjust SDKはユーザーのアトリビューション値に関する情報を持っていて、メソッドを使ってこれにアクセスすることができます。ですので、SDKが初期化され最初のアトリビューションコールバックが呼ばれる前にユーザーのアトリビューション値を使うことはできません。
プッシュ通知のトークンを送信するには、トークンを取得次第またはその値が変更され次第、Adjust
インスタンスでsetDeviceToken
メソッドをコールしてください。
Adjust.setDeviceToken("YourPushNotificationToken");
すでにアプリをインストールしたことのあるユーザーをAdjust SDKを使って識別したい場合は、次の手順で設定を行ってください。
- [ダッシュボード]上で新しいトラッカーを作成してください。
AdjustConfig
のデフォルトトラッカーを設定してください。
AdjustConfig adjustConfig = new AdjustConfig(appToken, environment);
adjustConfig.setDefaultTracker("{TrackerToken}");
Adjust.start(adjustConfig);
{TrackerToken}
にステップ2で作成したトラッカートークンを入れてください。ダッシュボードにはhttp://app.adjust.com/
を含む
トラッカーURLが表示されます。ソースコード内にはこのURLすべてではなく、6文字のトークンを抜き出して指定してください。
-
アプリをビルドして実行してください。ログ出力に下記のような行が表示されるはずです。
Default tracker: 'abc123'
ディープリンキングはiOSとAndroidプラットフォームでのみサポートされています。
URLからアプリへのディープリンクを使ったAdjustトラッカーURLをご利用の場合、ディープリンクURLとその内容の情報を得られる可能性があります。ユーザーがすでにアプリをインストールしている状態でそのURLに訪れた場合(スタンダード・ディープリンキング)と、アプリをインストールしていないユーザーがURLを開いた場合(ディファード・ディープリンキング)が有り得ます。スタンダード・ディープリンキングの場合、Androidのプラットフォームにはネイティブでディープリンクの内容を取得できる仕組みがあります。ディファード・ディープリンキングに対してはAndroidプラットフォームはサポートしていませんので、Adjust SDKがディープリンクの内容を取得するメカニズムを提供します。
ディープリンキングの操作はネイティブで設定する必要があります。iOSではXcodeプロジェクトで、AndroidではAndroid StudioかEclipseプロジェクトで設定してください。
UnityのC#コードではスタンダード・ディープリンキングにおいてディープリンクの情報を届けることができません。ディープリンキングの取り扱いをアプリで有効化すると、ネイティブレベルでディープリンクの情報が得られます。AndroidとiOSアプリでのディープリンキングの有効化については以下の章をご覧ください。
ディファード・ディープリンキングにおいてURLの内容情報を得るには、AdjustConfig
オブジェクトにコールバックメソッドを設定する必要があります。これはひとつのstring
パラメータを受信し、そのパラメータにURLの内容が格納されます。setDeferredDeeplinkDelegate
メソッドをコールしてConfigオブジェクトでこのメソッドを実装してください。
// ...
private void DeferredDeeplinkCallback(string deeplinkURL) {
Debug.Log("Deeplink URL: " + deeplinkURL);
// ...
}
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", "{YourEnvironment}");
adjustConfig.setDeferredDeeplinkDelegate(DeferredDeeplinkCallback);
Adjust.start(adjustConfig);
// ...
private void DeferredDeeplinkCallback(string deeplinkURL) {
Debug.Log ("Deeplink URL: " + deeplinkURL);
// ...
}
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", "{YourEnvironment}");
adjustConfig.setLaunchDeferredDeeplink(true);
adjustConfig.setDeferredDeeplinkDelegate(DeferredDeeplinkCallback);
Adjust.start(adjustConfig);
これが設定されていない場合、Adjust SDKはデフォルトで常にディープリンクを開きます。
アプリでディープリンキングを有効化するには、サポートするプラットフォーム毎にスキームを設定してください。
これはネイティブのAndroid StudioもしくはEclipseプロジェクトで行ってください。
Androidアプリでネイティブレベルでディープリンキングを設定するには、公式Android SDK READMEのガイドをご確認ください。
これはネイティブのXcodeプロジェクトで行ってください。
iOSアプリでネイティブレベルでディープリンキングを設定するには、公式iOS SDK READMEのガイドをご確認ください。
ビルド後のプロセスのスクリプトを使っていても、プロジェクトがすぐに使える状態で実行できるとは限りません。
必要であれば、dSYMファイルを無効化してください。Project Navigator
からUnity-iPhone
プロジェクトを選び、Build Settings
タブをクリックしてdebug information
を検索してください。Debug Information Format
もしくはDEBUG_INFORMATION_FORMAT
オプションが見つかるはずです。DWARF with dSYM File
をDWARF
に変更してください。
mod_pbxproj.pyファイルはApache License Version 2.0(「本ライセンス」)に基づいてライセンスされます。 あなたがこのファイルを使用するためには、本ライセンスに従わなければなりません。本ライセンスのコピーは下記の場所から入手できます。 http://www.apache.org/licenses/LICENSE-2.0
adjust SDKはMITライセンスを適用しています。
Copyright (c) 2012-2019 Adjust GmbH, http://www.adjust.com
以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、 ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、 および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。
上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。
ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、 あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。