adjust-icon

App Tracking Transparencyの設定

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

承認ステータス

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

ATT承認ラッパー

メソッドシグネチャー
requestAppTrackingAuthorization(): Promise<number>

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

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

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

Adjust.requestAppTrackingAuthorization(function (status) {
print("Authorization status update!");
switch (status) {
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined case
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted case
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied case
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorized case
break;
}
});

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

Adjust.requestAppTrackingAuthorization(function (status) {
print("Authorization status update!");
switch (status) {
case 0:
console.log("The user has not responded to the access prompt yet.");
break;
case 1:
console.log(
"Access to app-related data is blocked at the device level.",
);
break;
case 2:
console.log(
"The user has denied access to app-related data for device measurement.",
);
break;
case 3:
console.log(
"The user has approved access to app-related data for device measurement.",
);
break;
}
});

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

メソッドシグネチャー
getAppTrackingAuthorizationStatus(): Promise<number>

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

Adjust.getAppTrackingAuthorizationStatus(function (status) {
// check status value
});

プロンプトのタイミングをカスタム設定する

メソッドシグネチャー
setAttConsentWaitingInterval(attConsentWaitingInterval: number): void

アプリにオンボーディングプロセスまたはチュートリアルが含まれる場合、ユーザーがこのプロセスを完了するまで、ユーザーのATT同意ステータスの送信を遅らせたい場合があります。これを行うには、attConsentWaitingIntervalプロパティを設定して、データの送信を 最大360秒 遅延させ、ユーザーに最初のオンボーディングを完了する時間を与えることができます。タイムアウトが終了した後、またはユーザーが同意ステータスを設定した後に、SDKはユーザーの同意ステータスと共に遅延中に記録した全ての情報をAdjustのサーバーに送信します。

const adjustConfig = new AdjustConfig(
"{YourAppToken}",
AdjustConfig.EnvironmentSandbox,
);
adjustConfig.setAttConsentWaitingInterval(30);
Adjust.initSdk(adjustConfig);

AppTrackingTransparencyの使用を無効にする

メソッドシグネチャー
disableAppTrackingTransparencyUsage(): void

Adjust SDKによるAppTrackingTransparency.frameworkとの自動連携を無効化したい場合は、SDKの初期化前にAdjustConfigインスタンスでdisableAppTrackingTransparencyUsageメソッドを呼び出してください。

const adjustConfig = new AdjustConfig(
"{YourAppToken}",
AdjustConfig.EnvironmentSandbox,
);
adjustConfig.disableAppTrackingTransparencyUsage();
Adjust.initSdk(adjustConfig);