こちらはAdjust™のUnity SDKです。iOS、Android、Windows Store 8.1、Windows Phone 8.1、Windows 10をサポートしています。Adjust™については、adjust.comをご覧ください。
注:バージョン4.12.0以降より、Adjust Unity SDKはUnity 5以降のバージョンと互換性があります。
注:バージョン4.19.2以降より、Adjust Unity SDKはUnity 2017.1.1以降のバージョンと互換性があります。
注:バージョン4.21.0以降より、Adjust Unity SDKはUnity 2017.4.1以降のバージョンと互換性があります。
Read this in other languages:English、中文、日本語、한국어
- AppTrackingTransparencyフレームワーク
- SKAdNetworkフレームワーク
- Pushトークン(アンインストールトラッキング)
- アトリビューションコールバック
- 広告収益トラッキング
- サブスクリプション計測
- セッションとイベントのコールバック
- ユーザーアトリビューション
- デバイスID
- プリインストールトラッカー
- オフラインモード
- トラッキングの無効化
- イベントバッファリング
- バックグラウンドでのトラッキング
- GDPRの忘れられる権利
- サードパーティーとの共有を無効にする
Adjust SDKをUnityプロジェクトに連携させるステップをご説明します。
バージョン4.19.2
以降より、Unity Asset StoreからAdjust SDKをアプリに追加できます。または、[リリースページ][リリース]から最新バージョンをダウンロードすることもできます。
Unityエディターでプロジェクトを開き、Assets → Import Package → Custom Package
と進み、ダウンロードしたUnityパッケージファイルを選択してください。
Assets / Adjust / Adjust.prefab
にあるプレハブを1番目のシーンに追加してください。
プレハブのInspector menu
で、Adjustスクリプトのパラメータを編集してください。ここでは以下のオプションの設定ができます。
{YourAppToken}
にアプリトークンを入力してください。 この手順は管理画面で確認できます。
EnvironmentにSandbox 又はProductionのどちらかを設定してください。これはテスト用アプリか本番用アプリかによって異なります。
**重要:**この値はアプリのテスト中のみSandbox
に設定してください。アプリストアに提出する前にProduction
に更新されていることを必ず確認してください。テストを再度実施する場合は、Sandbox
に戻してください。また、Adjust管理画面ではデフォルトでアプリの本番環境(プロダクション)のトラフィックを表示しているため、サンドボックスモードでテスト中に生成されたトラフィックを表示したい場合は、管理画面内でサンドボックス・モードに切り替えてください。
この環境設定は、本番環境からのトラフィックとテスト端末からのトラフィックをレポート画面で区別するために利用されます。正しく計測するために、環境設定には常に注意してください。
例えばメニューボタンを利用したシーンなど、これらのオプションのサンプルは、Assets/Adjust/ExampleGUI/ExampleGUI.unity
で確認できます。
このシーンのソースはAssets / Adjust / ExampleGUI / ExampleGUI.csにあります。
Log Level
に設定する値を次のいずれかに変更すると、記録するログの粒度を調節できます。
-Verbose
- 全てのログを有効にする
Debug
- verboseログを無効にするInfo
- debugログを無効にする(デフォルト)Warn
- infoログを無効にするError
- warningログを無効にするAssert
- errorログを無効にするSuppress
- 全てのログを無効にする
Adjust SDKをマニュアルで初期化していて、全てのログ出力を非表示にしたい場合、ログレベルをSupressに設定してAdjustConfig
オブジェクトのコンストラクタを使います。これによってBoolean値のパラメータが開きますので、Supressログレベルがサポートされるべきかどうかを入力してください。
String appToken = "{YourAppToken}";
AdjustEnvironment 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_servicesを連携させる必要があります。連携を行うには、google-play-services_lib
フォルダ(Android SDKの一部)をUnityプロジェクトのAssets/Plugins/Android
フォルダにコピーしてください。
Android SDKをダウンロードするには主に2つの方法があります。Android SDK Manager
が入ったツールをお使いの場合は、Android SDK toolのダウンロードとインストールができるクイックリンクが提供されています。インストールが完了したら、SDK_FOLDER/extras/google/google_play_services/libproject/
フォルダのライブラリをご覧ください。
Android SDK Managerの入ったツールをお使いでない場合は、公式ページから単独SDKAndroid SDKをダウンロードしてください。次に、Google が提供するSDK Readme.txt
の指示に従ってAndoird SDKツールをダウンロードしてください。これは、Android SDKフォルダ内にあります。
更新:Android SDKの最新バージョンでは、GoogleはSDKのルートフォルダ内のGoogle Play 開発者サービスフォルダの構造を変更しています。新バージョンはこのように表示されます。
Adjust SDKが必要とするGoogle Play 開発者サービスのライブラリの一部、つまり、basementのみを追加することができるようになりました。これを行うためには、play-services-basement-x.y.z.aar
ファイルをAssets/Plugins/Android
フォルダに追加してください。
Google Play 開発者サービスのライブラリバージョン15.0.0では、Googleは、Google 広告 IDの取得に必要なクラスをplay-services-ads-identifier
パッケージに移行しました。バージョン15.0.0以降のライブラリを使用している場合は、このパッケージをアプリに追加してください。追加が完了したら、Adjust SDKがGoogle 広告 IDを正しく取得しているかテスト確認を行ってください。使用されているUnity の開発環境 (IDE)のバージョンによっては、いくつかの乖離が発生することが分かっています。
Adjust SDKがGoogle 広告 IDを取得しているかどうかを確認するには、sandbox
モードでSDKを設定し、ログレベルをverbose
にして起動してください。その後、アプリでセッションまたはイベントをトラッキングし、verboseログに記録されたパラメータリストをチェックします。gps_adid
パラメータが表示されていれば、SDKはGoogle 広告 IDを正常に読み込んでいます。
Google 広告 IDの取得の際に問題が発生した場合は、Githubリポジトリでissueを開くか、support@adjust.comにお問い合わせください。
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のインストールリファラの情報が必要です。** Google Play リファラAPI を使用するか、broadcastレシーバでGoogle Play Store インテント**を受信するよう設定すると、アプリが情報を取得できます。
GoogleはGoogle Play リファラ APIを導入しました。インストールリファラの情報を取得し、アトリビューションプロバイダがクリックインジェクション(不正な広告クリック)を阻止する上で、Google Play Storeインテントよりも信頼性が高く安全です。暫定的にGoogle Play StoreインテントはAPIと並行して存在しますが、将来的には廃止される予定です。アプリでこれをサポートすることを強く推奨します。
Adjustのポストビルドプロセスにより、Google Play Storeインテントを受信します。いくつかの追加手順を実行するだけで、新しいGoogle Play リファラAPIをサポートできます。
Google Play リファラ APIのサポートを追加するには、Mavenリポジトリからinstall referrer libraryをダウンロードし、AARファイルをPlugins/Android
フォルダに入れてください。
v4.21.1以降より、Adjust SDKはHuawei App Galleryバージョン10.4以降のHuawei端末へのインストール計測をサポートしています。HuaweiリファラAPIの使用を開始するために連携手順を追加で設定する必要はありません。
アプリのビルドプロセスが完了するには、Adjust Unityのパッケージでポストビルドプロセスが実行されます。アプリ内でAdjust SDKが正しく動作するようにするためです。
このプロセスは、AdjustEditor.cs
のOnPostprocessBuild
メソッドで実行されます。Unity IDEコンソールの出力ウィンドウに、ログメッセージが書き込まれます。
iOSポストビルドプロセスを適切に実行するためには、Unity 5以降を使用し、iOS build support
をインストールしてください。iOSポストビルドプロセスは、生成したXcodeプロジェクト内で次のような変更を実行します。
iAd.framework
を追加します(Apple Search Adsのトラッキングに必要)AdSupport.framework
を追加します(IDFAの読み取りに必要)CoreTelephony.framework
を追加します(接続されているネットワーク機器の種類の読み取りに必要) -その他のLinkerフラグ-ObjC
を追加します(AdjustのObjective-Cカテゴリがビルド中に認識されるために必要) -Objective-C exceptions
を有効化します
iOS 14のサポート(Assets/Adjust/Toggle iOS 14 Support
)を有効にした場合、iOSのポストビルドプロセスでは、Xcodeプロジェクトに2つのフレームワークが追加されます。
AppTrackingTransparency.framework
を追加します(ユーザーにトラッキングへの同意を求め、その同意に関するステータスを取得する必要がある)StoreKit.framework
を追加します(SKAdNetworkフレームワークとの通信に必要)
Androidポストビルドプロセスは、Assets/Plugins/Android/
にあるAndroidManifest.xml
ファイルの変更を実行します。また、Android プラグインフォルダにAndroidManifest.xmlファイルがあるかどうかを確認します。ファイルがない場合は、互換性のあるマニフェストファイルAdjustAndroidManifest.xml
からコピーを作成してください。すでにAndroidManifest.xml
ファイルがある場合は、次の内容を確認し、変更してください。
INTERNET
のパーミッションを追加します (インターネット接続に必要)ACCESS_WIFI_STATE
のパーミッションを追加します (Play Store経由でアプリを公開しない場合に必要)ACCESS_NETWORK_STATE
のパーミッションを追加します(接続されているネットワーク機器の種類の読み取りに必要)BIND_GET_INSTALL_REFERRER_SERVICE
のパーミッションを追加します (新しいGoogle install リファラAPI が機能するのに必要)- Adjustのブロードキャストレシーバーを追加します (Google Play Storeインテント経由でインストールリファラ情報を取得するのに必要)。詳しくは、公式のAndroid SDK READMEを参照してください。
**注意:**独自のブロードキャストレシーバを使用してINSTALL_REFERRER
インテントを処理している場合には、manifest fileにAdjustブロードキャストレシーバを追加する必要はありません。これを削除し、代わりに独自のレシーバー内にAdjustブロードキャストレシーバへのコールを追加してください。詳しくは、Androidガイドをご覧ください。
担当のアカウントマネージャーがAdjust SDKシグネチャーを有効化する必要があります。この機能を使用する場合は、Adjustのサポート(support@adjust.com)にお問い合わせください。
アカウントでSDKシグネチャーが有効になっており、Adjust管理画面のアプリシークレットにアクセスできる場合は、全てのシークレットパラメータ(secretId
, info1
, info2
, info3
, info4
)をAdjustConfig
インスタンスのsetAppSecret
メソッドに追加してください。
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", "{YourEnvironment}");
adjustConfig.setAppSecret(secretId,info1, info2, info3, info4);
Adjust.start(adjustConfig);
これでSDKシグネチャーがアプリに実装されました。
Adjustでは、iOSとAndroidのプラットフォームでのみディープリンクをサポートしています。
ディープリンクを有効にした状態でAdjustトラッカーURLをご利用の場合、ディープリンクURLとそのコンテンツに関する情報を取得できます。同じURLをユーザーがクリックした際、ユーザーのデバイスにアプリがインストールされてる場合はスタンダードディープリンクが作動し、インストールされていない場合はディファードディープリンクが作動します。
スタンダードディープリンクの場合、Androidプラットフォームにはディープリンクのコンテンツを取得できる仕組みがあります。ただし、ディファードディープリンクに対する自動サポートはありません。ディファードディープリンクのコンテンツを取得するには、Adjust SDKを使用してください。
ディープリンクの実装はネイティブレベルで設定する必要があります。Xcodeプロジェクト(iOS向け)やAndroid Studio / Eclipseプロジェクト(Android向け)で設定してください。
スタンダードディープリンクに関する情報は、Unity C#コードでは配信できません。ディープリンクの取り扱いをアプリで有効化すると、ネイティブレベルでディープリンクの情報が得られます。AndroidアプリやiOSアプリでディープリンクを有効化する方法は、こちらのとおりです。
ディファードディープリンクのコンテンツ情報を取得するには、AdjustConfig
オブジェクトにcallbackメソッドを設定してください。これにより、URLのコンテンツが配信される1つのstring
パラメータを受信します。メソッド 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がディファードディープリンクの情報を取得すると、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 SDK READMEの手順をご確認ください。
この設定はネイティブのAndroid Studio もしくは Eclipseプロジェクトで行ってください。
この設定はネイティブのXcodeプロジェクトで行ってください。
ネイティブレベルでiOSアプリのディープリンクを設定するには、ネイティブのXcodeプロジェクトを使用し、公式iOS SDK READMEの手順をご確認ください。
Adjustを使ってアプリ内のイベントをトラッキングすることができます。例えば、ボタンのタップを毎回トラッキングされたい場合は、管理画面のcreate a new event tokenにてイベントトークンを作成します。仮にそのイベントトークンをabc123
とします。クリックをトラッキングするため、ボタンのクリックハンドラーメソッドに以下のような記述を追加します。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
Adjust.trackEvent(adjustEvent);
ユーザーがアプリ内でアイテムを購入をした際に収益が発生する場合は、それらを課金イベントとしてトラッキングできます。例えば、1回のタップで1ユーロセントの収益があると仮定すると、その収益イベントは以下のようになります。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setRevenue(0.01,"EUR");
Adjust.trackEvent(adjustEvent);
通貨トークンを設定すると、Adjustはopenexchange APIを使用して、計測された売り上げを設定されたレポート通貨に自動換算します。通貨換算についての詳細はこちらをご覧ください
アプリ内購入をトラッキングする場合は、購入手続きが完了し、アイテムが購入された場合にのみtrackEvent
をコールするようにしてください。こうすることで、実際には発生しなかった収益をトラッキングするのを防ぐことができます。
収益を重複してトラッキングするのを防止するため、随意でトランザクションIDを追加することができます。SDKに最新10件のトランザクションIDが記憶され、トランザクションIDが重複する場合、その収益イベントは除外されます。これは、アプリ内購入のトラッキングに特に便利です。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setRevenue(0.01,"EUR");
adjustEvent.setTransactionId("transactionId");
Adjust.trackEvent(adjustEvent);
Adjustのサーバーサイドのレシート検証ツールAdjust's Purchase Verificationを使って、アプリ内購入を確認できます。
Adjust SDKがデフォルトで収集するローデータに加えて、Adjust SDKを使用してカスタム値(ユーザーID、製品IDなど)を必要な数だけトラッキングし、イベントまたはセッションに追加できます。カスタムパラメータはローデータとして転送されます。Adjust管理画面には表示されません。
コールバックパラメータで収集したデータは社内用に、パートナーパラメータは、外部のパートナー(アドネットワークなど)に対して共有する場合に使用してください。値(製品IDなど)を社内と外部のパートナーのためにトラッキングする場合、コールバックとパートナーパラメータの両方を使用するよう推奨します。
[管理画面]に表示されたイベントにコールバックURLを登録すると、該当イベントが発生する度にそのURLに対してGETリクエストが送信されます。オブジェクトにキーと値の組を入れ、それを trackEvent
メソッドに渡すこともできます。カスタムパラメータはコールバックURLに追加されます。
例えば、コールバックURLに http://www.example.com/callback
と登録した場合、次のようにイベントをトラッキングします。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.addCallbackParameter("key","value");
adjustEvent.addCallbackParameter("foo","bar");
Adjust.trackEvent(adjustEvent);
この場合、Adjustは以下のGETリクエストを送信します。
http://www.example.com/callback?key=value&foo=bar
Adjustは数多くのプレースホルダー(パラメータ)をサポートしています。例えば広告IDを取得する際、iOSは{idfa}
、Androidは{gps_adid}
がパラメータとなります。この例を使用して、得られるコールバック内でプレースホルダーを現在のデバイスのIDFAや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を報告し、どのイベントが正常にトラッキングされたかを知らせます。AdjustEvent
インスタンスでsetCallbackId
メソッドをコールして、IDを設定してください。
AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setCallbackId("Your-Custom-Id");
Adjust.trackEvent(adjustEvent);
セッションパラメータはローカルに保存され、Adjust SDK イベントとセッションごとに送信されます。これらのパラメータは、追加される度に保存されます(したがって、再度追加する必要はありません)。同じパラメータを再度追加しても、何も起こりません。
Adjust SDKの起動前にセッションパラメータを送信することが可能です。したがって、SDK ディレイスタートを使用すると、追加の値(アプリのサーバーからの認証トークンなど)を取得することができ、SDKの初期化タイミングで全ての情報を一度に送信できます。
Adjust SDKのセッションごとに送信されるイベントコールバックパラメータを保存できます。
セッションコールバックパラメータの仕組みは、イベントコールバックパラメータのインターフェイスに似ています。キーとその値をイベントに追加する代わりに、Adjust
インスタンスの addSessionCallbackParameter
メソッドへのコールで追加されます。
adjustEvent.addCallbackParameter("foo", "bar");
セッションコールバックパラメータは、イベントコールバックパラメータに統合されます。全ての情報が1つにまとめられて送信されますが、イベントコールバックパラメータは、セッションコールバックパラメータより優先されます。セッションコールバックパラメータと同じキーを持つイベントパートナーパラメータが追加された場合、イベントに追加されたパラーメータの値が表示されます。
Adjust
インスタンスのremoveSessionCallbackParameter` メソッドに指定のキーを渡すことで、特定のセッションコールバックパラメータを削除できます。
AdjustEvent.addCallbackParameter("foo", "bar");
セッションコールバックパラメータから全てのキーと値を削除するには、Adjust
インスタンスのresetSessionCallbackParameters
メソッドを使ってリセットすることができます。
Adjust.resetSessionCallbackParameters();
SDKをトリガーするイベントやセッションごとにセッションコールバックパラメータが送信されるのと同様に、セッションパートナーパラメータも用意されています。
これらは[管理画面]で連携を有効化した全てのネットワークパートナーに送信されます。
セッションコールバックパラメータの仕組みは、イベントコールバックパラメータに似ています。キーとその値をイベントに追加する代わりに、Adjust
インスタンスの addSessionPartnerParameter
メソッドへのコールで追加されます。
adjustEvent.addCallbackParameter("foo", "bar");
セッションパートナーのパラメータは、イベントパートナーのパラメータに統合されます。ただし、イベントパートナーのパラメータは、セッションパートナーのパラメータより優先されます。セッションパートナーパラメータと同じキーを持つイベントパートナーパラメータが追加された場合、イベントに追加されたパラメータの値が表示されます。
Adjust インスタンスの
removeSessionPartnerParameter` メソッドに指定のキーを渡すことで、特定のセッションパートナーパラメータを削除できます。
Adjust.removeSessionPartnerParameter("foo");
セッションパートナーパラメータから全てのキーと値を削除するには、Adjust
インスタンスのresetSessionPartnerParameters
メソッドを使ってリセットすることができます。
Adjust.resetSessionPartnerParameters();
Adjust SDKのスタート(初期化)を遅らせると、アプリがユニークIDなどのセッションパラメータを取得しインストール時にコールバックとして送信する時間を確保できます。
AdjustConfig
インスタンスの setDelayStart
メソッドで、遅らせる時間を秒単位で設定してください。
adjustConfig.setDelayStart(5.5);
この例では、Adjust SDKは初期化時のインストールセッションと新しいイベントを5.5秒間遅らせます。5.5秒後に(または、その時間内に Adjust.sendFirstPackages()
がコールされると)、全てのセッションパラメータがディレイインストールセッションとイベントに追加され、Adjust SDKは通常どおり作動します。
ディレイスタートに設定できる最長時間は10秒です。
##追加機能
Adjust SDKをプロジェクトに導入すると、次の追加機能を利用できます。
注:この機能が存在するのはiOSプラットフォームのみです。
各パッケージが送信されるたびに、Adjustのバックエンドは、アプリ関連データへのアクセスに関するユーザーの許諾状況を表す、以下の4つの値のいずれかを受信します。
- Authorized(承認)
- Denied(拒否)
- Not Determined(未決定)
- Restricted(制限あり)
デバイスがアプリ関連データへのアクセスに対するユーザーの許諾状況の承認リクエスト(ユーザーのデバイストラッキングに使用)を受信した後は、返されるステータスはAuthorizedあるいはDeniedになります。
デバイスがアプリ関連データへのアクセスの承認リクエスト(ユーザーあるいはデバイスのトラッキングに使用)を受信する前は、返されるステータスはNot Determinedになります。
アプリのトラッキングデータの使用が制限されている場合は、返されるステータスはRestrictedになります。
表示されるポップアップダイアログのカスタマイズを希望しない場合のために、このSDKには、ユーザーがポップアップダイアログに応答した後に、更新ステータスを受信するメカニズムが組み込まれています。新しい許諾ステータスをバックエンドに簡単かつ効率的に伝達するために、Adjust SDKはアプリのトラッキング承認メソッドのラッパーを提供しています。次の項目の説明をご覧ください。
注:この機能が存在するのはiOSプラットフォームのみです。
Adjust SDKは、アプリトラッキング承認ラッパーを使用して、アプリ関連データへのアクセスに対するユーザーの許諾状況をリクエストすることができます。Adjust SDKには、requestTrackingAuthorizationWithCompletionHandler:メソッドに基づいて構築されたラッパーが用意されており、ユーザーの選択についての情報を取得するためのコールバックメソッドを定義することもできます。また、このラッパーを使用することで、ユーザーがポップアップダイアログに応答すると、その内容がコールバックメソッドで直ちに伝達されます。SDKは、ユーザーの選択をバックエンドにも通知します。「NSUInteger」の値はコールバックメソッドによって伝達されます。値の意味は次のとおりです。
- 0:
ATTrackingManagerAuthorizationStatusNotDetermined
(承認ステータスは「未決定」) - 1:
ATTrackingManagerAuthorizationStatusRestricted
(承認ステータスは「制限あり」) - 2:
ATTrackingManagerAuthorizationStatusDenied
(承認ステータスは「拒否」) - 3:
ATTrackingManagerAuthorizationStatusAuthorized
(承認ステータスは「承認」)
このラッパーを使用するためには、次のように呼び出してください。
Adjust.requestTrackingAuthorizationWithCompletionHandler((status) =>
{
switch (status)
{
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined の場合
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted の場合
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied の場合
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorizedの場合
break;
}
});
注:この機能が存在するのはiOSプラットフォームのみです。
Adjust iOS SDK v4.23.0以上を実装済みであり、アプリがiOS14で実行されている場合、SKAdNetworkとの通信はデフォルトでONに設定されますが、選択によりOFFにすることもできます。ONに設定すると、SDKの初期化時にSKAdNetworkのアトリビューションがAdjustによって自動的に登録されます。conversion value(コンバージョン値)を受信するためにAdjust管理画面でイベントを設定する場合、conversaion valueのデータはAdjustバックエンドからSDKに送信されます。その後、SDKによってconversion valueが設定されます。SKAdNetworkコールバックデータをAdjustで受信した後、このデータが管理画面に表示されます。
Adjust SDKがSKAdNetworkと自動的に通信しないようにしたい場合は、設定オブジェクトで次のメソッドを呼び出すことによって通信を無効化できます。
adjustConfig.deactivateSKAdNetworkHandling();
Pushトークンは、オーディエンスビルダーやコールバックに使用されます。また、アンインストールや再インストールのトラッキングにも必要です。
Push通知トークンをAdjustに送信するには、アプリのPush通知トークンの取得時に(またはその値の変更のたびに)、Adjust
インスタンスでsetDeviceToken
メソッドをコールしてください。
Adjust.setDeviceToken("YourPushNotificationToken");
アトリビューション情報の変更通知をアプリ内で受けるようにコールバックを設定できます。アトリビューションには複数の流入元が存在するため、この情報は非同期的に送ります。サードパーティに対してデータを共有する際は、[アトリビューションデータに関するポリシー] attribution_dataを必ずご確認ください。
アプリにこのコールバックを追加するには、次の手順に進んでください。
1.デリゲート Action<AdjustAttribution>
の署名でメソッドを作成します。
-
AdjustConfig
オブジェクトを作成し、前に作成したメソッドでadjustConfig.setAttributionChangedDelegate
をコールしてください。同じ署名でラムダ式を使うことも可能です。 -
Adjust.prefab
を使う代わりに、Adjust.cs
スクリプトが別のGameObject
に追加されている場合は、その``GameObjectの名前をAdjustConfig.setAttributionChangedDelegate
の2番目のパラメータとして必ず渡してください。
コールバックがAdjustConfig
インスタンスを使用しているため、Adjust.start
をコールする前にadjustConfig.setAttributionChangedDelegate
をコールする必要があります。
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");
// ...
}
}
このコールバック関数は、SDKが最後のアトリビューションデータを取得した時に作動します。コールバック関数内でattribution
パラメータを確認することができます。プロパティの概要は次のとおりです。
string trackerToken
最新アトリビューションのトラッカートークンstring trackerName
最新アトリビューションのトラッカー名string network
最新アトリビューションのネットワークのグループ階層string campaign
最新アトリビューションのキャンペーンのグループ階層string adgroup
最新アトリビューションのアドグループのグループ階層string creative
最新アトリビューションのクリエイティブのグループ階層string clickLabel
最新アトリビューションのクリックラベルstring adid
AdjustユニークID
Adjust SDKを利用して、以下のメソッドを呼び出し広告収益情報をトラッキングできます。
Adjust.trackAdRevenue(source, payload);
Adjust SDKに渡す必要があるメソッドパラメータは次のとおりです。
source
- 広告収益情報のソースを指定するstring
オブジェクトpayload
-広告収益のJSONをstring形態で格納する
string`オブジェクト
現在Adjustでは以下のsource
パラメータ値のみをサポートしています。
AdjustConfig.AdjustAdRevenueSourceMopub
は、メディエーションプラットフォームのMoPub mediationを示します。
注:この機能はSDK v4.22.0以降のみ利用可能です。
App StoreとPlay Storeのサブスクリプションをトラッキングし、それぞれの有効性をAdjust SDKで確認できます。サブスクリプションの購入が完了したら、次のようにAdjust SDKを呼び出します。
App Storeサブスクリプションの場合:
AdjustAppStoreSubscription subscription = new AdjustAppStoreSubscription(
price,
currency,
transactionId,
receipt);
subscription.setTransactionDate(transactionDate);
subscription.setSalesRegion(salesRegion);
Adjust.trackAppStoreSubscription(subscription);
Play Storeサブスクリプションの場合:
AdjustPlayStoreSubscription subscription = new AdjustPlayStoreSubscription(
price,
currency,
sku,
orderId,
signature,
purchaseToken);
subscription.setPurchaseTime(purchaseTime);
Adjust.trackPlayStoreSubscription(subscription);
App Storeサブスクリプションのためのサブスクリプション トラッキング パラメータ:
- price
- currency(priceLocaleオブジェクトのcurrencyCodeを渡す必要がある)
- transactionId
- receipt
- transactionDate
- salesRegion(priceLocaleオブジェクトのcountryCodeを渡す必要がある)
Play Storeサブスクリプションのサブスクリプション トラッキング パラメータ:
注: Adjust SDKが提供するサブスクリプション計測APIでは、全てのパラメータが string
値として渡されることを想定しています。上記で説明したパラメータは、サブスクリプションをトラッキングする前にAPIがサブスクリプションオブジェクトに渡すように要求するパラメータです。Unityにはアプリ内購入で取り扱っている様々なライブラリがありますが、各ライブラリはサブスクリプションの購入が正常に完了した時点で、上記の情報を何らかの形で返す必要があります。アプリ内課金で使用しているライブラリから取得したレスポンスの中で、これらのパラメータが配置されている場所を特定し、その値を抽出して文字列値としてAdjust APIに渡す必要があります。
イベント計測と同様に、コールバックやパートナーのパラメータをサブスクリプションオブジェクトに付与できます。
App Storeサブスクリプションの場合:
AdjustAppStoreSubscription subscription = new AdjustAppStoreSubscription(
price,
currency,
transactionId,
receipt);
subscription.setTransactionDate(transactionDate);
subscription.setSalesRegion(salesRegion);
// コールバックパラメータの追加
subscription.addCallbackParameter("key","value");
subscription.addCallbackParameter("foo","bar");
// パートナーパラメータの追加
subscription.addPartnerParameter("key","value");
subscription.addPartnerParameter("foo","bar");
Adjust.trackAppStoreSubscription(subscription);
Play Storeサブスクリプションの場合:
AdjustPlayStoreSubscription subscription = new AdjustPlayStoreSubscription(
price,
currency,
sku,
orderId,
signature,
purchaseToken);
subscription.setPurchaseTime(purchaseTime);
// コールバックパラメータの追加
subscription.addCallbackParameter("key","value");
subscription.addCallbackParameter("key","bar");
// パートナーパラメータの追加
subscription.addPartnerParameter("key","value");
subscription.addPartnerParameter("foo","bar");
Adjust.trackPlayStoreSubscription(subscription);
イベントとセッションの両方、もしくはどちらかを計測し、成功か失敗かの通知を受け取れるようコールバックを設定できます。
トラッキングに成功したイベントへのコールバック関数を次のように追加してください。
// ...
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 EventSuccessCallback(AdjustEventSuccess eventSuccessData) {
// ...
}
トラッキングに失敗したセッションの場合
// ...
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 JsonResponse
サーバーからのレスポンスのJSONオブジェクト
どちらのイベントレスポンスデータオブジェクトも以下を含みます。
string EventToken
トラッキングしたパッケージがイベントだった場合、そのイベントトークンstring CallbackId
イベントオブジェクトにカスタム設定されたコールバックID
失敗したイベントとセッションのオブジェクトには以下を含みます。
bool WillRetry
後に再送を試みる予定であるかどうかを示します。
アトリビューションコールバックと同様に、このコールバックは、アトリビューション値に変化があるたびに作動します。ユーザーの現在のアトビリューション値に関する情報にアクセスする場合はAdjust
インスタンスの次のメソッドをコールしてください。
AdjustAttribution attribution = Adjust.getAttribution();
注:現在のアトリビューションに関する情報は、バックエンドがアプリのインストールをトラッキングして、アトリビューションコールバックがトリガーされた後でのみ利用できます。SDKが初期化され最初のアトリビューションコールバックが作動する前にユーザーのアトリビューション値にアクセスすることはできません。
Adjust SDKがデバイスIDを受信するように設定できます。
IDFAを取得するには、Adjust
インスタンスの関数getIdfa
`をコースしてください。
string idfa = Adjust.getIdfa();
Google 広告ID(gps_adid)は、バックグラウンドでのスレッドでしか読み込みできないという制約があります。Adjust インスタンスの
getGoogleAdId メソッドを
Action` デリゲートでコールすると、この条件以外でも取得できるようになります。
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が初期化され、アプリのインストールが正常に計測されrまで、adidにアクセスすることができません。
Adjust SDKで、アプリがプリインストールされている(端末購入時にあらかじめインストールされている状態)デバイスのユーザーを認識するには、次の手順で設定を行なってください。
- [管理画面]で新しいトラッカーを作成してください。
AdjustConfig
のデフォルトトラッカーを設定してください。
AdjustConfig adjustConfig = new AdjustConfig(appToken, environment);
AdjustConfig adjustConfig = new AdjustConfig(appToken, environment);
Adjust.start(adjustConfig);
{TrackerToken}
にステップ2で作成したトラッカートークン(たとえば{abc123}
)を入れてください。
管理画面にはトラッカーURL(http://app.adjust.com/
など)が表示されますが、ソースコード内には、このURL全体ではなく、6文字または7文字のトークンのみを入力してください。
-
アプリをビルドして実行してください。ログ出力に次のような行が表示されるはずです。
Default tracker: 'abc123'
オフラインモードは、後から送信する計測データを保持しつつ、Adjustサーバーへの送信を一時停止します。Adjust SDKがオフラインモード中の場合、全ての情報がファイルに保存されるため、イベントを多く発生させすぎないようご注意ください。
true
パラメータでsetOfflineMode
を呼び出すと、オフラインモードを有効にできます。
Adjust.setOfflineMode(true);
false
パラメータでsetOfflineMode
with false
を呼び出すと、オフラインモードを解除できます。Adjust SDKがオンラインモードに戻った時、保存されていた情報は正しいタイムスタンプでAdjustのサーバーに送信されます。
この設定はセッション間で記憶されません。つまり、オフラインモード時にアプリを終了しても、次にSDKが起動した時にはオンラインモードとしてアプリが起動します。
setEnabled
にfalse
パラメータを渡すことで、Adjust SDKが行うデバイスアクティビティの計測を全て無効にできます。この設定はセッション間で記憶されますが、最初のセッションの後でしか有効化できません。
Adjust.setEnabled(false);
Adjust SDKが現在有効かどうかは、 isEnabled
メソッドで確認できます。enabled
パラメータをtrue
に設定して setEnabled
を呼び出すと、Adjust SDKをいつでも有効にできます。
アプリでイベント計測を多用している場合は、一部のネットワークリクエストを遅らせて、1分間ごとにまとめて送信したほうがいい場合があります。AdjustConfig
インスタンスでイベントのバッファリングを有効にしてください。
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", "{YourEnvironment}");
adjustConfig.setEventBufferingEnabled(true);
Adjust.start(adjustConfig);
何も設定されていない場合、イベントバッファリングはデフォルトで無効になっています。
Adjust SDKは、アプリがバックグラウンドにある間は、ネットワークリクエストをデフォルトで一時停止するようになっています。この設定はAdjustConfig
インスタンスで変更できます。
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", "{YourEnvironment}");
adjustConfig.setSendInBackground(true);
Adjust.start(adjustConfig);
EUの一般データ保護規制(GDPR)第17条に基づいて、ユーザーが「忘れられる権利(right to be forgotten)」を行使した場合は、Adjustに通知することができます。次のメソッドを呼び出して、ユーザーの申請をAdjustバックエンドに伝えるようAdjust SDKに指示してください。
```Adjust.gdprForgetMe();
この情報を受け取ると、Adjustは該当ユーザーのデータを消去し、Adjust SDKはユーザーのトラッキングを停止します。以降、そのデバイスからのリクエストはAdjustに送信されません。
テスト段階でこのメソッドを利用した場合も、消去処理は永続的なものであることに注意してください。元に戻すことはできません。
ユーザーがマーケティングを目的とするパートナーとのデータ共有を拒否する権利を行使した一方、統計目的でのデータ共有を許可した場合、Adjustに通知できるようになりました。
次のメソッドを呼び出して、ユーザーの選択(データ共有を無効にする)をAdjustバックエンドに伝えるようAdjust SDKに指示してください。
Adjust.disableThirdPartySharing();
この情報を受け取ると、Adjustは特定のユーザーに関してパートナーとのデータ共有をブロックし、Adjust SDKは通常通り機能します。
ポストビルドスクリプトを使っていても、プロジェクトがすぐに使える状態で実行できるとは限りません。
必要であれば、dSYMファイルを無効化してください。Project Navigator
からUnity-iPhone
プロジェクトを選択し、Build Settings
タブをクリックしてdebug information
を検索してください。Debug Information Format
またはDEBUG_INFORMATION_FORMAT
オプションがあるはずです。これをDWARF with dSYM File
からDWARF
に変更してください。
ファイルmod_pbxproj.pyは、ApacheライセンスVer.2.0(以下「ライセンス」)に基づいて使用が許諾されています。 このファイルを使用するためには、本ライセンスの規約に従ってください。 本ライセンスのコピーはhttp://www.apache.org/licenses/LICENSE-2.0で入手できます。
Adjust SDKはMITライセンスを適用しています。
Copyright (c) 2012-2020 Adjust GmbH, http://www.adjust.com
以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」) の複製を取得する全ての人に対し、 ソフトウェアを無制限に扱うことを無償で許可します。 これには、ソフトウェアの複製を 使用、複写、変更、マージ、掲載、流通、サブライセンス、および/または販売する権利、 また、ソフトウェアを提供する相手に同じ許可を与える 権利も無制限に含まれます。
上記の著作権表示ならびに本許諾表示を、ソフトウェアの全ての 複製または重要な部分に記載するものとします。
本ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証を含みますが、それに限定されたものではありません。 いかなる場合でも、 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用 またはその他の取り扱いによって生じる一切の請求、損害、その他の義務について 何らの責任も負わないものと します。