Skip to content

Latest commit

 

History

History
780 lines (493 loc) · 50.2 KB

README.md

File metadata and controls

780 lines (493 loc) · 50.2 KB

概要

こちらは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プロジェクトに連携させる最少のステップをここでご紹介します。

SDKダウンロード

リリースページから最新バージョンをダウンロードしてください。

プロジェクトへのSDKの追加

Unityエディタでプロジェクトを開きAssets → Import Package → Custom Packageと進み、ダウンロードしたUnityパッケージファイルを選択してください。

アプリへのSDKの連携

Assets/Adjust/Adjust.prefabにあるプレハブを1番目のシーンに追加してください。

追加したプレハブのInspector menuにて、Adjustスクリプトのパラメータを編集してください。

Adjustプレハブで以下のオプションの設定ができます。

{YourAppToken}にアプリのトークンを入力してください。これはダッシュボードで確認できます。

Environmentに以下のどちらかを設定してください。これはテスト用アプリか本番用アプリかによって異なります。

'Sandbox'
'Production'

重要 この値はアプリのテスト中のみSandboxに設定してください。アプリを提出する前にProductionになっていることを必ず確認してください。再度開発やテストをする際はSandboxに戻してください。

この変数は実際のトラフィックとテスト端末からのテストのトラフィックを区別するために利用されます。正しく計測するために、この値の設定には常に注意してください。収益のトラッキングの際には特に重要です。

アプリのAwakeイベントでAdjust SDKを起動したくない場合、Start Manuallyにチェックしてください。このオプションが選択されていると、ソースコード上でAdjust SDKの初期化および起動を行う必要があります。AdjustConfigオブジェクトをパラメータとしてAdjust.startメソッドををコールし、Adjust SDKを起動してください。

例えばこれらのオプションなどのメニューボタンがあるシーンの場合、Assets/Adjust/ExampleGUI/ExampleGUI.unityにあるサンプルのシーンを開いてください。このシーンのソースはAssets/Adjust/ExampleGUI/ExampleGUI.csにあります。

Adjustログ

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);

Google Playサービス

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をお使いの場合は、以下を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.** { *; }

Googleインストールリファラ‬

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.csOnPostprocessBuildメソッドで実行されます。iOSポストビルドプロセスを適切に実行するには、Unity 5以降iOSビルドサポートをインストールしておく必要があります。‬

‪このスクリプトがUnity IDEコンソール出力ウィンドウにログ出力メッセージを書き込みます。‬

iOSポストビルドプロセス‬

‪iOSポストビルドプロセスは、生成されたXcodeプロジェクトで次のような変更を実行します。‬

  • iAd.frameworkを追加します(Apple Search Adsのトラッキングに必要)。
  • AdSupport.frameworkを追加します(IDFAの読み取りに必要)。‬
  • CoreTelephony.frameworkを追加します(MMCとMNCの読み取りに必要)。‬
  • 別のリンカフラグ -ObjCを追加します(ビルド中にAdjust Objective-Cカテゴリーを認識するために必要)。‬
  • Objective-C exceptionsを有効にします。‬

Androidポストビルドプロセス‬

‪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はイベントをトラッキングし、成功か失敗かの通知を受け取けとれるようコールバックを登録することができます。この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秒です

アトリビューションコールバック

トラッカーのアトリビューション変化の通知を受けるために、コールバックを登録することができます。アトリビューションには複数のソースがあり得るため、この情報は同時に送ることができません。アプリにこのコールバックを実装するには次の手順に進んでください。

アトリビューションデータに関するポリシーを必ずご確認ください。

  1. デリゲートAction<AdjustAttribution>の署名を使ってメソッドを作成してください。

  2. AdjustConfigオブジェクトの作成後、上で作成したメソッドでadjustConfig.setAttributionChangedDelegateをコールしてください。同じ署名でラムダ式を使うことも可能です。

  3. Adjust.prefabを使う代わりに、the Adjust.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から提供されるユニークデバイスID
  • Dictionary<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);

設定されていない場合、イベントバッファリングはデフォルトで無効になっています。

GDPR消去する権利(忘れられる権利)

次のメソッドを呼び出すと、EUの一般データ保護規制(GDPR)第17条に従い、ユーザーが消去する権利(忘れられる権利)を行使した際にAdjust SDKがAdjustバックエンドに情報を通知します。

Adjust.gdprForgetMe();

この情報を受け取ると、Adjustはユーザーのデータを消去し、Adjust SDKはユーザーの追跡を停止します。この削除された端末からのリクエストは今後、Adjustに送信されません。

SDKシグネチャー‬

アカウントマネージャーがAdjust SDKシグネチャーを有効化する必要があります。この機能を使用する場合は、Adjustのサポート([email protected])までお問い合わせください。‬

‪すでにアカウントでSDKシグネチャーが有効になっており、Adjust管理画面のアプリシークレット(App Secret)にアクセスできる場合は、以下の方法を使用してアプリにSDKシグネチャーを実装してください。‬

‪アプリシークレットは、AdjustConfigインスタンスのsetAppSecretメソッドにすべてのシークレットパラメーター(secretIdinfo1info2info3info4)を`渡すことで設定されます。‬

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);

デバイスID

Google Analyticsなどの一部のサービスでは、レポートの重複を防ぐためにデバイスIDとクライアントIDを連携させることが求められます。

iOS広告ID

IDFAを取得するには、AdjustインスタンスのgetIdfa関数をコールしてください。

string idfa = Adjust.getIdfa()

Google Playサービス広告ID

Google広告IDを取得する必要がある場合、広告IDはバックグラウンドでのスレッドでしか読み込みできないという制約があります。getGoogleAdId関数をAction<string>デリゲートでコールすると、この条件以外でも取得できるようになります。

Adjust.getGoogleAdId((string googleAdId) => {
    // ...
});

Google広告IDをgoogleAdId変数として利用できます。

Amazon広告ID‬

‪Amazon広告IDを取得する必要がある場合は、AdjustインスタンスでgetAmazonAdIdメソッドをコールすることができます。‬

string amazonAdId = Adjust.getAmazonAdId();

AdjustデバイスID

アプリがインストールされている各端末に対して、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が初期化され最初のアトリビューションコールバックが呼ばれる前にユーザーのアトリビューション値を使うことはできません

Pushトークン

プッシュ通知のトークンを送信するには、トークンを取得次第またはその値が変更され次第AdjustインスタンスでsetDeviceTokenメソッドをコールしてください。

Adjust.setDeviceToken("YourPushNotificationToken");

プレインストールのトラッカー

すでにアプリをインストールしたことのあるユーザーをAdjust SDKを使って識別したい場合は、次の手順で設定を行ってください。

  1. [ダッシュボード]上で新しいトラッカーを作成してください。
  2. AdjustConfigのデフォルトトラッカーを設定してください。
AdjustConfig adjustConfig = new AdjustConfig(appToken, environment);
adjustConfig.setDefaultTracker("{TrackerToken}");
Adjust.start(adjustConfig);

{TrackerToken}にステップ2で作成したトラッカートークンを入れてください。ダッシュボードにはhttp://app.adjust.com/を含む トラッカーURLが表示されます。ソースコード内にはこのURLすべてではなく、6文字のトークンを抜き出して指定してください。

  1. アプリをビルドして実行してください。ログ出力に下記のような行が表示されるはずです。

    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);

ディファード・ディープリンキングでは、AdjustConfigオブジェクトで設定できる追加機能があります。Adjust SDKがディファード・ディープリンクの情報を得ると、Adjust SDKがそのURLを開くかどうか決めることができます。これを設定するには、ConfigオブジェクトでsetLaunchDeferredDeeplinkメソッドをコールしてください。

// ...

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アプリでのディープリンキング

これはネイティブのAndroid StudioもしくはEclipseプロジェクトで行ってください

Androidアプリでネイティブレベルでディープリンキングを設定するには、公式Android SDK READMEのガイドをご確認ください。

アプリでのディープリンキング

これはネイティブのXcodeプロジェクトで行ってください

iOSアプリでネイティブレベルでディープリンキングを設定するには、公式iOS SDK READMEのガイドをご確認ください。

トラブルシューティング

iOSでのデバッグ情報

ビルド後のプロセスのスクリプトを使っていても、プロジェクトがすぐに使える状態で実行できるとは限りません。

必要であれば、dSYMファイルを無効化してください。Project NavigatorからUnity-iPhoneプロジェクトを選び、Build Settingsタブをクリックしてdebug informationを検索してください。Debug Information FormatもしくはDEBUG_INFORMATION_FORMATオプションが見つかるはずです。DWARF with dSYM FileDWARFに変更してください。

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

以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、 ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、 および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。

上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。

ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、 あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。