日本語

App Tracking Transparency framework

広告ID(IDFA)を記録する場合、アプリ内にプロンプトを表示して、ユーザー同意を取得する必要があります。そのためには、AppleのApp Tracking Transparency (ATT) frameworkを使用します。ユーザーが選択をすると、Adjust SDKはその情報を保存します。その後Adjust SDKは、Adjustのバックエンドに送信する各パケットに情報を添付します。

Adjust SDKは、ユーザーの許諾状況を以下のステータスとして記録します。

State意味
Authorized(承認)ユーザーが、デバイストラッキングによるアプリ関連データへのアクセスを承認
Denied(拒否)ユーザーが、デバイストラッキングによるアプリ関連データへのアクセスを拒否
Not Determined(未決定)ユーザーが、アクセスをリクエストするプロンプトにまだ応答していない
Restricted(制限あり)アプリ関連データへのアクセスが、デバイスレベルでブロックされている

Adjust SDKには、Appleのtracking authorization methodに対応したラッパーが組み込まれています。ATTプロンプトのカスタマイズを希望しない場合は、このラッパーを使用することができます。Adjust SDKが承認ステータスの変更を受信すると、その内容がAdjustのバックエンドに送信されます。

独自のATTプロンプトを使用している場合は、ラッパーメソッドを使う必要はありません。アプリ設定AppTrackingTransparency.frameworkを含めるようにしてください。Adjust SDKが初期化される前もしくは後に、プロンプトを表示できます。もしインストール前であれば、Adjust SDKは承認ステータスをインストールイベントに添付します。後の場合は、Adjust SDKは承認ステータスを記録した後、バックエンドに送信します。

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

Adjust SDKには、requestTrackingAuthorizationWithCompletionHandler メソッドの上に構築されたラッパーがあります。これを使用して、ユーザーの承認ステータスを収集できます。また、このメソッドでレスポンスの値ごとにコールバックメソッドを定義することもできます。これらのコールバックメソッドは、ユーザーが許諾ダイアログを操作したときにすぐにトリガーします。SDKは、Adjustバックエンドにもユーザーの選択を通知します。コールバックは、承認状態を示す整数の値を返します。

Objective-C
[Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {
    switch (status) {
        case 0:
            // ATTrackingManagerAuthorizationStatusNotDetermined case
            break;
        case 1:
            // ATTrackingManagerAuthorizationStatusRestricted case
            break;
        case 2:
            // ATTrackingManagerAuthorizationStatusDenied case
            break;
        case 3:
            // ATTrackingManagerAuthorizationStatusAuthorized case
            break;
    }
}];

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

appTrackingAuthorizationStatusメソッドを呼び出すことで、現在の承認ステータスを返すことができます。SDKは承認ステータスに関連する整数の値を返します。

Objective-C
Swift
Javascript
int authorizationStatus = [Adjust appTrackingAuthorizationStatus];