adjust-icon

App Tracking Transparencyの設定

広告識別子(IDFA)を記録したい場合は、ユーザーの許諾を得るためのプロンプトを表示する必要があります。これを行うには、アプリにAppleのApp Tracking Transparency(ATT)frameworkを組み込む必要があります。Adjust SDKはユーザーの許諾状況を保存し、リクエストごとにAdjustサーバーに送信します。

承認ステータス

ステータス(Status)コード説明
ATTrackingManagerAuthorizationStatusNotDetermined0ユーザーがアクセスプロンプトに応答していない
ATTrackingManagerAuthorizationStatusRestricted1アプリ関連データへのアクセスがデバイスレベルでブロックされている
ATTrackingManagerAuthorizationStatusDenied2ユーザーがデバイストラッキングによるアプリ関連データへのアクセスを拒否
ATTrackingManagerAuthorizationStatusAuthorized3ユーザーがデバイストラッキングによるアプリ関連データへのアクセスを承認

アプリトラッキング承認ラッパー

メソッドシグネチャー
static void requestTrackingAuthorizationWithCompletionHandler(void (*trackingStatusCallback)(int status));

Adjust SDKには、AppleのrequestTrackingAuthorizationWithCompletionHandlerメソッドのラッパーが含まれています。ATTプロンプトをカスタマイズしない場合は、このラッパーを使用することができます。

コールバックメソッドは、ユーザーが同意ダイアログに応答した時にトリガーされ、ユーザーの同意ステータスコードをAdjustサーバーに送信します。コールバック関数内で各ステータスコードに対するレスポンスを定義することができます。

トラッキング リクエスト ダイアログのテキスト内容を指定する必要があります。これを行うには、Info.plistファイルでNSUserTrackingUsageDescriptionキーにテキストを追加してください。

static void authorizationStatusCallback(int status) {
switch (status) {
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined case
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted case
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied case
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorized case
break;
}
}
// ...
Adjust2dx::requestTrackingAuthorizationWithCompletionHandler(authorizationStatusCallback);

この例では、ユーザーがプロンプトと対話したときに、ユーザーの認証状態について人間が読み取れる説明をログに記録する方法を示しています。

static void authorizationStatusCallback(int status) {
switch (status) {
case 0:
CCLOG("The user hasn't responded to the access prompt yet.");
break;
case 1:
CCLOG(("Access to app-related data is blocked at the device level.");)
break;
case 2:
CCLOG("The user has denied access to app-related data for device tracking.");
break;
case 3:
CCLOG("The user has approved access to app-related data for device tracking.");
break;
}
}
Adjust2dx::requestTrackingAuthorizationWithCompletionHandler(authorizationStatusCallback);

現在の承認ステータスを取得

メソッドシグネチャー
static int getAppTrackingAuthorizationStatus();

ユーザーの現在の認証ステータスはいつでも取得することができます。getAppTrackingAuthorizationStatusメソッドを呼び出し、 整数 で認証ステータスコードを返してください。

Adjust2dx::getAppTrackingAuthorizationStatus();

この例では、ユーザーの認証ステータスを収集し、Stringに変換する方法を示しています。この情報はauthorizationStatusという変数に割り当てられ、"status"というキーでセッション パートナー パラメーターとしてパスされます。

std::string authorizationStatus = Adjust2dx::getAppTrackingAuthorizationStatus().c_str();
Adjust2dx::addSessionPartnerParameter("status", authorizationStatus);

承認ステータスの変更を確認する

メソッドシグネチャー
static void checkForNewAttStatus();

カスタムATTプロンプトを使用する場合、ユーザーの認証ステータスに変更があった場合、Adjust SDKに通知する必要があります。checkForNewAttStatusメソッドを呼び出し、Adjustサーバーに認証ステータスを送信してください。

Adjust2dx::checkForNewAttStatus();