diff --git a/src/content/docs/ja/sdk/ios/v5/features/att.mdx b/src/content/docs/ja/sdk/ios/v5/features/att.mdx
index 971148d7d..ce17e5561 100644
--- a/src/content/docs/ja/sdk/ios/v5/features/att.mdx
+++ b/src/content/docs/ja/sdk/ios/v5/features/att.mdx
@@ -1,57 +1,55 @@
---
-title: App Tracking Transparencyの設定
-description: AppleのApp Tracking Transparencyフレームワークを使用するようにアプリを設定する
-slug: ja/sdk/ios/features/att
-versions:
- - label: v5
- value: v5
- default: true
- - label: v4
- value: v4
-redirects:
- v4: /ja/sdk/ios/v4/features/att
+title: "App Tracking Transparencyの設定"
+description: "AppleのApp Tracking Transparencyフレームワークを使用するようにアプリを設定する"
+slug: "en/sdk/ios/features/att"
+versions:
+ -
+ label: "v5"
+ value: "v5"
+ default: true
+ -
+ label: "v4"
+ value: "v4"
+redirects:
+ v4: "/en/sdk/ios/v4/features/att"
---
-
広告識別子(IDFA)を記録したい場合は、ユーザーの許諾を得るためのプロンプトを表示する必要があります。これを行うには、アプリにAppleのApp Tracking Transparency(ATT)frameworkを組み込む必要があります。Adjust SDKはユーザーの許諾状況を保存し、リクエストごとにAdjustサーバーに送信します。
-## 承認ステータス {#authorization-statuses}
+承認ステータス \{\#authorization\-statuses\}
+-----------------------------------------
-| ステータス(Status) | コード | 説明 |
-| --------------------------------------------------- | ------ | ---------------------------------------------------------------- |
-| `ATTrackingManagerAuthorizationStatusNotDetermined` | `0` | ユーザーがアクセスプロンプトに応答していない。 |
-| `ATTrackingManagerAuthorizationStatusRestricted` | `1` | アプリ関連データへのアクセスがデバイスレベルでブロックされている |
-| `ATTrackingManagerAuthorizationStatusDenied` | `2` | ユーザーがデバイス計測によるアプリ関連データへのアクセスを拒否 |
-| `ATTrackingManagerAuthorizationStatusAuthorized` | `3` | ユーザーがデバイス計測によるアプリ関連データへのアクセスを承認 |
+| ステータス(Status) | コード | 説明 |
+|-----------------------------------------------------|-----|----------------------------------|
+| `ATTrackingManagerAuthorizationStatusNotDetermined` | `0` | ユーザーがアクセスプロンプトに応答していない |
+| `ATTrackingManagerAuthorizationStatusRestricted` | `1` | アプリ関連データへのアクセスがデバイスレベルでブロックされている |
+| `ATTrackingManagerAuthorizationStatusDenied` | `2` | ユーザーがデバイス計測によるアプリ関連データへのアクセスを拒否 |
+| `ATTrackingManagerAuthorizationStatusAuthorized` | `3` | ユーザーがデバイス計測によるアプリ関連データへのアクセスを承認 |
-
+
SDKがATTステータスを取得できない場合、`-1`のステータスコードを受け取る可能性があります。
+
-
-
-## ATT承認ラッパー {#att-authorization-wrapper}
+ATT承認ラッパー \{\#att\-authorization\-wrapper\}
+------------------------------------------------
-
+
```objc
+ (void)requestAppTrackingAuthorizationWithCompletionHandler:(void (^_Nullable)(NSUInteger status))completion;
```
-
+
Adjust SDKには、[Appleの`requestTrackingAuthorizationWithCompletionHandler`メソッドのラッパーが含まれています](https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorizationwith)。ATTプロンプトをカスタマイズしない場合は、このラッパーを使用することができます。
コールバックメソッドは、ユーザーが同意ダイアログに応答した時にトリガーされ、ユーザーの同意ステータスコードをAdjustサーバーに送信します。コールバック関数内で各ステータスコードに対するレスポンスを定義することができます。
ATTのテキスト内容を指定する必要があります。これを行うには、`Info.plist`ファイルで`NSUserTrackingUsageDescription`キーにテキストを追加してください。
-
-
+
Adjust SDKは、カスタムプロンプトを使用した場合、同意ステータスも記録します。初期化前にプロンプトを表示した場合、SDKはインストールイベントと共にステータスを送信します。プロンプトを初期化後に表示した場合は、SDKはユーザーが更新した後に、即時にAdjustサーバーにステータスを送信します。
-
-
-
-
+
```swift
Adjust.requestAppTrackingAuthorization { status in
@@ -74,8 +72,7 @@ Adjust.requestAppTrackingAuthorization { status in
}
```
-
-
+
```objc
[Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {
@@ -96,57 +93,50 @@ Adjust.requestAppTrackingAuthorization { status in
}];
```
-
-
+
-## 現在の承認ステータスを取得 {#get-current-authorization-status}
+現在の承認ステータスを取得する \{\#get\-current\-authorization\-status\}
+---------------------------------------------------------------
-
+
```objc
+ (int)appTrackingAuthorizationStatus;
```
-
+
ユーザーの現在の認証ステータスはいつでも取得することができます。`getAppTrackingAuthorizationStatus`メソッドを呼び出し、 **整数** で認証ステータスコードを返してください。
-
-
-
+
```swift
let authorizationStatus = Adjust.appTrackingAuthorizationStatus();
```
-
-
+
```objc
int authorizationStatus = [Adjust appTrackingAuthorizationStatus];
```
-
-
+
-## プロンプトのタイミングをカスタム設定 {#custom-prompt-timing}
+プロンプトのタイミングをカスタム設定する \{\#custom\-prompt\-timing\}
+------------------------------------------------------
-
+
```objc
@property (nonatomic, assign) NSUInteger attConsentWaitingInterval;
```
-
-
-アプリにオンボーディングプロセスまたはチュートリアルが含まれる場合、ユーザーがこのプロセスを完了するまで、ユーザーのATT同意ステータスの送信を遅らせたい場合があります。これを行うには、`attConsentWaitingInterval`プロパティを設定して、データの送信を **最大120秒** 遅延させ、ユーザーに最初のオンボーディングを完了する時間を与えることができます。タイムアウトが終了した後、またはユーザーが同意ステータスを設定した後に、SDKはユーザーの同意ステータスと共に遅延中に記録した全ての情報をAdjustのサーバーに送信します。
+
-
+アプリにオンボーディングプロセスまたはチュートリアルが含まれる場合、ユーザーがこのプロセスを完了するまで、ユーザーのATT同意ステータスの送信を遅らせたい場合があります。これを行うには、`attConsentWaitingInterval`プロパティを設定して、データの送信を **最大360秒** 遅延させ、ユーザーに最初のオンボーディングを完了する時間を与えることができます。タイムアウトが終了した後、またはユーザーが同意ステータスを設定した後に、SDKはユーザーの同意ステータスと共に遅延中に記録した全ての情報をAdjustのサーバーに送信します。
+
タイムアウトが終了する前、または同意ステータスを選択する前にユーザーがアプリを閉じた場合、アプリを再度開いたときにタイムアウトが再開されます。
-
-
-
-
+
```swift
let yourAppToken = "{YourAppToken}"
@@ -160,8 +150,7 @@ adjustConfig?.attConsentWaitingInterval = 30
Adjust.initSdk(adjustConfig)
```
-
-
+
```objc
ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:@"{YourAppToken}"
@@ -172,27 +161,28 @@ Adjust.initSdk(adjustConfig)
[Adjust initSdk:adjustConfig];
```
-
-
+
-## iOS 17の同意への対応 {#ios-17-consent-handling}
+iOS 17の同意の取り扱い \{\#ios\-17\-consent\-handling\}
+-----------------------------------------------------
iOS 17のリリースに伴い、Appleは開発者がサードパーティに送信するデータに関する新しいルールを導入しました。開発者がAppleのプライバシーガイドラインに準拠していることを証明できるようにするために、Adjust SDKは **同意する** ユーザーと **同意しない** ユーザーに対して2つの個別のエンドポイントを使用します。
デフォルトでは、Adjust SDKは`analytics.adjust.com`エンドポイントを使用して、 **確率的モデリング** 向けに限られたデータセットをAdjustのサーバーに送信します。このエンドポイントは次の情報を受け取り **ません** 。
-- `idfa`: The device ID For Advertisers \(IDFA\).
-- `started_at`: The device startup time.
+* `idfa`: 広告主のデバイスID(IDFA)。
+* `started_at`: デバイスの起動時間。
-ユーザーが[ATTに同意](#app-tracking-authorization-wrapper)した場合にのみ、Adjust SDKは **確定的アトリビューション** のためのidfaとstart_atの両方のプロパティにアクセスできるようになり、 `consent.adjust.com`に完全なペイロードを送信します。
+ユーザーが[ATTに同意](#app-tracking-authorization-wrapper)した場合にのみ、Adjust SDKは **確定的アトリビューション** のためのidfaとstart\_atの両方のプロパティにアクセスできるようになり、 `consent.adjust.com`に完全なペイロードを送信します。
-これらのエンドポイントはいずれも、全ての[URL戦略](/ja/sdk/ios/features/privacy#data-residency)で利用可能です。
+これらのエンドポイントはいずれも、全ての[URL戦略](/en/sdk/ios/features/privacy#data-residency)で利用可能です。
-| urlStrategy | 非同意のエンドポイント | 同意したエンドポイント |
-| ------------------------- | ------------------------- | ----------------------- |
-| EU データレジデンシー | `analytics.eu.adjust.com` | `consent.eu.adjust.com` |
+| urlStrategy | 非同意のエンドポイント | 同意したエンドポイント |
+|---------------|---------------------------|-------------------------|
+| EU データレジデンシー | `analytics.eu.adjust.com` | `consent.eu.adjust.com` |
| トルコ データレジデンシー | `analytics.tr.adjust.com` | `consent.tr.adjust.com` |
-| 米国 データレジデンシー | `analytics.us.adjust.com` | `consent.us.adjust.com` |
-| 中国 URL戦略 | `analytics.adjust.world` | `consent.adjust.world` |
-| 中国限定 URL設定 | `analytics.adjust.cn` | `consent.adjust.cn` |
-| インド URL戦略 | `analytics.adjust.net.in` | `consent.adjust.net.in` |
+| 米国 データレジデンシー | `analytics.us.adjust.com` | `consent.us.adjust.com` |
+| 中国 URL戦略 | `analytics.adjust.world` | `consent.adjust.world` |
+| 中国限定 URL設定 | `analytics.adjust.cn` | `consent.adjust.cn` |
+| インド URL戦略 | `analytics.adjust.net.in` | `consent.adjust.net.in` |
+
diff --git a/src/content/docs/ko/sdk/ios/v5/features/att.mdx b/src/content/docs/ko/sdk/ios/v5/features/att.mdx
index 0dd40c6c8..9ceb24918 100644
--- a/src/content/docs/ko/sdk/ios/v5/features/att.mdx
+++ b/src/content/docs/ko/sdk/ios/v5/features/att.mdx
@@ -1,57 +1,55 @@
---
-title: ATT 설정
-description: Apple의 ATT(App Tracking Transparency) 프레임워크를 사용하도록 앱 설정
-slug: ko/sdk/ios/features/att
-versions:
- - label: v5
- value: v5
- default: true
- - label: v4
- value: v4
-redirects:
- v4: /ko/sdk/ios/v4/features/att
+title: "ATT 설정"
+description: "Apple의 ATT(App Tracking Transparency) 프레임워크를 사용하도록 앱 설정"
+slug: "en/sdk/ios/features/att"
+versions:
+ -
+ label: "v5"
+ value: "v5"
+ default: true
+ -
+ label: "v4"
+ value: "v4"
+redirects:
+ v4: "/en/sdk/ios/v4/features/att"
---
+IDFA\(ID for Advertisers\)를 기록하려면 사용자의 허가를 받기 위한 메시지를 표시해야 합니다. 이렇게 하려면 앱에 Apple의 ATT\(App Tracking Transparency\) 프레임워크를 포함해야 합니다. Adjust SDK는 사용자의 허가 여부를 저장하고 각 요청과 함께 Adjust 서버로 전송합니다.
-기기의 IDFA\(광고주용 ID\)를 기록하려면 사용자의 허가를 받기 위한 메시지를 표시해야 합니다. 이렇게 하려면 앱에 Apple의 ATT\(App Tracking Transparency\) 프레임워크를 포함해야 합니다. Adjust SDK는 사용자의 허가 여부를 저장하고 각 요청과 함께 Adjust 서버로 전송합니다.
+승인 상태 \{\#authorization\-statuses\}
+---------------------------------------
-## 승인 상태 {#authorization-statuses}
+| 상태 | 코드 | 설명 |
+|-----------------------------------------------------|-----|------------------------------------|
+| `ATTrackingManagerAuthorizationStatusNotDetermined` | `0` | 사용자가 아직 액세스 프롬프트에 응답하지 않음 |
+| `ATTrackingManagerAuthorizationStatusRestricted` | `1` | 앱 관련 데이터에 대한 액세스가 디바이스 수준에서 차단됨. |
+| `ATTrackingManagerAuthorizationStatusDenied` | `2` | 사용자가 앱 관련 데이터에 대한 디바이스 측정 액세스를 거부함 |
+| `ATTrackingManagerAuthorizationStatusAuthorized` | `3` | 사용자가 앱 관련 데이터에 대한 디바이스 측정 액세스를 승인함 |
-| 상태 | 코드 | 설명 |
-| --------------------------------------------------- | ---- | ------------------------------------------------------------ |
-| `ATTrackingManagerAuthorizationStatusNotDetermined` | `0` | 사용자가 아직 액세스 프롬프트에 응답하지 않음 |
-| `ATTrackingManagerAuthorizationStatusRestricted` | `1` | 앱 관련 데이터에 대한 액세스가 디바이스 수준에서 차단됨. |
-| `ATTrackingManagerAuthorizationStatusDenied` | `2` | 사용자가 앱 관련 데이터에 대한 디바이스 측정 액세스를 거부함 |
-| `ATTrackingManagerAuthorizationStatusAuthorized` | `3` | 사용자가 앱 관련 데이터에 대한 디바이스 측정 액세스를 승인함 |
-
-
+
SDK가 ATT 상태를 조회할 수 없는 경우, `-1` 상태 코드를 받게 될 수 있습니다.
+
-
-
-## ATT 승인 래퍼 {#att-authorization-wrapper}
+ATT 승인 래퍼 \{\#att\-authorization\-wrapper\}
+------------------------------------------------
-
+
```objc
+ (void)requestAppTrackingAuthorizationWithCompletionHandler:(void (^_Nullable)(NSUInteger status))completion;
```
-
+
Adjust SDK에는 [Apple `requestTrackingAuthorizationWithCompletionHandler` 메서드](https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorizationwith)의 래퍼가 포함되어 있습니다. ATT 프롬프트를 커스텀하지 않으려면 이 래퍼를 사용할 수 있습니다.
콜백 메서드는 사용자가 동의 팝업창에 응답할 때 트리거되고 사용자의 동의 상태 코드를 Adjust 서버로 전송합니다. 콜백 함수 내에서 각 상태 코드에 대한 응답을 정의할 수 있습니다.
ATT에 대한 텍스트 콘텐츠를 지정해야 합니다. 이를 위해 텍스트를 `Info.plist` 파일의 `NSUserTrackingUsageDescription` 키에 추가합니다.
-
-
+
Adjust SDK는 커스텀 프롬프트 사용 시 동의 여부도 기록합니다. 초기화 전에 프롬프트가 표시되면 SDK는 설치 이벤트와 함께 동의 여부를 전송합니다. 프롬프트가 초기화된 후 표시되면 SDK는 사용자가 업데이트한 후 즉시 Adjust 서버에 동의 여부를 전송합니다.
-
-
-
-
+
```swift
Adjust.requestAppTrackingAuthorization { status in
@@ -74,8 +72,7 @@ Adjust.requestAppTrackingAuthorization { status in
}
```
-
-
+
```objc
[Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {
@@ -96,57 +93,50 @@ Adjust.requestAppTrackingAuthorization { status in
}];
```
-
-
+
-## 현재 승인 상태 확인 {#get-current-authorization-status}
+현재 승인 상태 확인 \{\#get\-current\-authorization\-status\}
+-----------------------------------------------------------
-
+
```objc
+ (int)appTrackingAuthorizationStatus;
```
-
+
사용자의 현재 인증 상태는 언제든지 조회가 가능합니다. `getAppTrackingAuthorizationStatus` 메서드를 호출하여 **정수** 로 인증 상태 코드를 반환합니다.
-
-
-
+
```swift
let authorizationStatus = Adjust.appTrackingAuthorizationStatus();
```
-
-
+
```objc
int authorizationStatus = [Adjust appTrackingAuthorizationStatus];
```
-
-
+
-## 커스텀 프롬프트 타이밍 {#custom-prompt-timing}
+커스텀 프롬프트 타이밍 \{\#custom\-prompt\-timing\}
+----------------------------------------------
-
+
```objc
@property (nonatomic, assign) NSUInteger attConsentWaitingInterval;
```
-
-
-앱이 온보딩 과정이나 튜토리얼을 포함하는 경우, 사용자가 온보딩 과정이나 튜토리얼을 완료할 때까지 사용자의 ATT 동의 상태 전송을 지연시킬 수 있습니다. 이를 위해 `attConsentWaitingInterval` 속성을 설정하여 최대 **120초 동안** 데이터 전송을 지연하여 사용자가 초기 온보딩을 완료할 수 있는 시간을 제공할 수 있습니다. 타임아웃이 끝나거나 사용자가 동의 상태를 설정한 경우, SDK는 지연 기간 동안 기록된 모든 정보를 사용자의 동의 상태와 함께 Adjust 서버로 전송합니다.
+
-
+앱이 온보딩 과정이나 튜토리얼을 포함하는 경우, 사용자가 온보딩 과정이나 튜토리얼을 완료할 때까지 사용자의 ATT 동의 상태 전송을 지연시킬 수 있습니다. 이를 위해 `attConsentWaitingInterval` 속성을 설정하여 최대 **360초 동안** 데이터 전송을 지연하여 사용자가 초기 온보딩을 완료할 수 있는 시간을 제공할 수 있습니다. 타임아웃이 끝나거나 사용자가 동의 상태를 설정한 경우, SDK는 지연 기간 동안 기록된 모든 정보를 사용자의 동의 상태와 함께 Adjust 서버로 전송합니다.
+
사용자가 타임아웃이 끝나기 전 또는 동의 상태를 선택하기 전에 앱을 종료한 경우, 앱을 다시 열면 타임아웃이 다시 시작됩니다.
-
-
-
-
+
```swift
let yourAppToken = "{YourAppToken}"
@@ -160,8 +150,7 @@ adjustConfig?.attConsentWaitingInterval = 30
Adjust.initSdk(adjustConfig)
```
-
-
+
```objc
ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:@"{YourAppToken}"
@@ -172,27 +161,28 @@ Adjust.initSdk(adjustConfig)
[Adjust initSdk:adjustConfig];
```
-
-
+
-## iOS 17 동의 처리 {#ios-17-consent-handling}
+iOS 17 동의 처리 \{\#ios\-17\-consent\-handling\}
+---------------------------------------------------
iOS 17 출시와 함께 Apple은 개발자가 서드파티에 보낼 수 있는 데이터에 관한 새로운 규정을 도입했습니다. 개발자가 Apple의 개인정보 보호정책 준수를 입증할 수 있도록 Adjust SDK는 **동의** 사용자와 **비동의** 사용자에 대해 두 엔드포인트를 별도로 사용합니다.
-기본 설정에 따라 Adjust SDK는 `analytics.adjust.com` 엔드포인트를 사용한 **확률론적 모델링** 을 위해 제한된 데이터 세트를 Adjust 서버로 전송합니다. 이 엔드포인트는 다음의 정보를 수신 **하지 않습니다** .
+기본적으로 Adjust SDK는 `analytics.adjust.com` 엔드포인트를 사용하여 **확률론적 모델링** 을 위해 제한된 데이터 세트를 Adjust 서버로 전송합니다. 이 엔드포인트는 다음 정보를 수신하지 **않습니다** .
+
+* `idfa`: 광고주에 대한 기기 ID\(IDFA\).
+* `started_at`: 기기 시작 시간.
-- `idfa`: The device ID For Advertisers \(IDFA\).
-- `started_at`: The device startup time.
+사용자가 [ATT에 동의한](#app-tracking-authorization-wrapper) 경우에만 Adjust SDK는 **결정론적 어트리뷰션** 을 위해 IDFA와 started\_at 속성 모두에 대한 액세스를 획득하고, 전체 페이로드를 `consent.adjust.com`로 전송합니다.
-사용자가 [ATT에 동의한](#app-tracking-authorization-wrapper) 경우에만 Adjust SDK는 **결정론적 어트리뷰션** 을 위해 IDFA와 started_at 속성 모두에 대한 액세스를 획득하고, 전체 페이로드를 `consent.adjust.com`로 전송합니다.
+두 엔드포인트를 모든 [URL 전략](/en/sdk/ios/features/privacy#data-residency)에 활용할 수 있습니다.
-두 엔드포인트는 모든 [URL 전략](/ko/sdk/ios/features/privacy#data-residency) 에 사용할 수 있습니다.
+| URL 전략 | 비동의 엔드포인트 | 동의 엔드포인트 |
+|--------------|---------------------------|-------------------------|
+| EU 데이터 레지던시 | `analytics.eu.adjust.com` | `consent.eu.adjust.com` |
+| 터키 데이터 레지던시 | `analytics.tr.adjust.com` | `consent.tr.adjust.com` |
+| 미국 데이터 레지던시 | `analytics.us.adjust.com` | `consent.us.adjust.com` |
+| 중국 URL 전략 | `analytics.adjust.world` | `consent.adjust.world` |
+| 중국 전용 URL 전략 | `analytics.adjust.cn` | `consent.adjust.cn` |
+| 인도 URL 전략 | `analytics.adjust.net.in` | `consent.adjust.net.in` |
-| URL 전략 | 비동의 엔드포인트 | 동의 엔드포인트 |
-| -------------------- | ------------------------- | ----------------------- |
-| EU 데이터 레지던시 | `analytics.eu.adjust.com` | `consent.eu.adjust.com` |
-| 터키 데이터 레지던시 | `analytics.tr.adjust.com` | `consent.tr.adjust.com` |
-| 미국 데이터 레지던시 | `analytics.us.adjust.com` | `consent.us.adjust.com` |
-| 중국 URL 전략 | `analytics.adjust.world` | `consent.adjust.world` |
-| 중국 전용 URL 전략 | `analytics.adjust.cn` | `consent.adjust.cn` |
-| 인도 URL 전략 | `analytics.adjust.net.in` | `consent.adjust.net.in` |
diff --git a/src/content/docs/zh/sdk/ios/v5/features/att.mdx b/src/content/docs/zh/sdk/ios/v5/features/att.mdx
index 85a7de5a4..667d2bbd7 100644
--- a/src/content/docs/zh/sdk/ios/v5/features/att.mdx
+++ b/src/content/docs/zh/sdk/ios/v5/features/att.mdx
@@ -1,57 +1,55 @@
---
-title: 设置 App Tracking Transparency
-description: 配置应用以使用 Apple 的 App Tracking Transparency 框架
-slug: zh/sdk/ios/features/att
-versions:
- - label: v5
- value: v5
- default: true
- - label: v4
- value: v4
-redirects:
- v4: /zh/sdk/ios/v4/features/att
+title: "设置 App Tracking Transparency"
+description: "配置应用以使用 Apple 的 App Tracking Transparency 框架"
+slug: "en/sdk/ios/features/att"
+versions:
+ -
+ label: "v5"
+ value: "v5"
+ default: true
+ -
+ label: "v4"
+ value: "v4"
+redirects:
+ v4: "/en/sdk/ios/v4/features/att"
---
-
如果您要记录设备的广告主 ID \(即 IDFA\),需要先展示弹窗获得用户的授权。要达到这个目的,您需要在应用中添加 Apple 的 App Tracking Transparency \(ATT\) 框架。Adjust SDK 会存储用户的授权状态并在每次请求中将该信息发送至 Adjust 服务器。
-## 授权状态 {#authorization-statuses}
+授权状态\{\#authorization\-statuses\}
+-------------------------------------
-| 状态 | 代码 | 描述 |
-| --------------------------------------------------- | ---- | -------------------------------------------------- |
-| `ATTrackingManagerAuthorizationStatusNotDetermined` | `0` | 用户尚未对访问权限请求弹窗做出响应 |
-| `ATTrackingManagerAuthorizationStatusRestricted` | `1` | 用户已在设备层级禁止应用相关数据访问 |
-| `ATTrackingManagerAuthorizationStatusDenied` | `2` | 用户已拒绝授予可用于设备监测的应用相关数据访问权限 |
-| `ATTrackingManagerAuthorizationStatusAuthorized` | `3` | 用户已授予可用于设备监测的应用相关数据访问权限 |
+| 状态 | 代码 | 描述 |
+|-----------------------------------------------------|-----|---------------------------|
+| `ATTrackingManagerAuthorizationStatusNotDetermined` | `0` | 用户尚未对访问权限请求弹窗做出响应 |
+| `ATTrackingManagerAuthorizationStatusRestricted` | `1` | 用户已在设备层级禁止应用相关数据访问 |
+| `ATTrackingManagerAuthorizationStatusDenied` | `2` | 用户已拒绝授予可用于设备监测的应用相关数据访问权限 |
+| `ATTrackingManagerAuthorizationStatusAuthorized` | `3` | 用户已授予可用于设备监测的应用相关数据访问权限 |
-
+
SDK 无法获取 ATT 状态时,您可能会收到 `-1` 状态代码。
+
-
-
-## ATT 授权包装器 {#att-authorization-wrapper}
+ATT 授权包装器\{\#att\-authorization\-wrapper\}
+-----------------------------------------------
-
+
```objc
+ (void)requestAppTrackingAuthorizationWithCompletionHandler:(void (^_Nullable)(NSUInteger status))completion;
```
-
+
Adjust SDK 包含 [Apple `requestTrackingAuthorizationWithCompletionHandler` 方法](https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorizationwith)的包装器。如果您不想对 ATT 弹窗进行自定义,则可以使用这一包装器。
用户对授权窗口做出响应时,回传方法就会被触发。该方法会将用户的授权状态代码发送至 Adjust 服务器。您可以在回传函数中定义每种状态代码的响应。
您必须指定 ATT 的文本内容。为此,请将文本加入 `Info.plist` 文件中的 `NSUserTrackingUsageDescription` key。
-
-
+
如果您使用自定义弹窗,Adjust SDK 也会记录授权状态。如果在初始化之前展示弹窗,那么 SDK 会随安装事件一同发送状态。如果在初始化之后展示弹窗,那么 SDK 会在用户更新状态后立即向 Adjust 服务器发送状态。
-
-
-
-
+
```swift
Adjust.requestAppTrackingAuthorization { status in
@@ -74,8 +72,7 @@ Adjust.requestAppTrackingAuthorization { status in
}
```
-
-
+
```objc
[Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {
@@ -96,57 +93,50 @@ Adjust.requestAppTrackingAuthorization { status in
}];
```
-
-
+
-## 了解当前授权状态 {#get-current-authorization-status}
+获取当前授权状态\{\#get\-current\-authorization\-status\}
+-------------------------------------------------------
-
+
```objc
+ (int)appTrackingAuthorizationStatus;
```
-
+
您可以随时读取用户当前授权状态。调用 `getAppTrackingAuthorizationStatus` 方法来以 **整数** 形式返回授权状态代码。
-
-
-
+
```swift
let authorizationStatus = Adjust.appTrackingAuthorizationStatus();
```
-
-
+
```objc
int authorizationStatus = [Adjust appTrackingAuthorizationStatus];
```
-
-
+
-## 自定义弹窗时机 {#custom-prompt-timing}
+自定义弹窗时机\{\#custom\-prompt\-timing\}
+----------------------------------------
-
+
```objc
@property (nonatomic, assign) NSUInteger attConsentWaitingInterval;
```
-
-
-如果您的应用包含新手引导流程或教程,那么最好在用户完成新手引导流程或教程后再发送用户的 ATT 许可状态。您可以设置 `attConsentWaitingInterval` 属性将数据发送延迟最多 **120 秒** ,让用户有足够的时间完成初始用户引导。延时结束或用户设置许可状态后,SDK 会将在延迟时间内记录的所有信息以及用户许可状态发送给 Adjust 服务器。
+
-
+如果您的应用包含新手引导流程或教程,那么最好在用户完成新手引导流程或教程后再发送用户的 ATT 许可状态。您可以设置 `attConsentWaitingInterval` 属性将数据发送延迟最多 **360 秒** ,让用户有足够的时间完成初始用户引导。延时结束或用户设置许可状态后,SDK 会将在延迟时间内记录的所有信息以及用户许可状态发送给 Adjust 服务器。
+
如果用户在延时结束前关闭应用或在选择授权状态前关闭应用,那么用户重新打开应用时延时将重新开始计时。
-
-
-
-
+
```swift
let yourAppToken = "{YourAppToken}"
@@ -160,8 +150,7 @@ adjustConfig?.attConsentWaitingInterval = 30
Adjust.initSdk(adjustConfig)
```
-
-
+
```objc
ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:@"{YourAppToken}"
@@ -172,27 +161,28 @@ Adjust.initSdk(adjustConfig)
[Adjust initSdk:adjustConfig];
```
-
-
+
-## iOS 17 用户许可处理 {#ios-17-consent-handling}
+iOS 17 用户许可处理\{\#ios\-17\-consent\-handling\}
+---------------------------------------------------
在 iOS 17 中,Apple 对于开发者可以向第三方发送哪些数据推出了全新规则。为确保开发者可以证明其操作符合 Apple 隐私规定,Adjust SDK 针对 **授权** 和 **未授权** 用户使用两个相互独立的终端。
默认情况下,Adjust SDK 使用`analytics.adjust.com`终端向 Adjust 服务器发送有限的数据集,用于 **概率模型** 。该终端 **不会** 接收以下信息:
-- `idfa`: The device ID For Advertisers \(IDFA\).
-- `started_at`: The device startup time.
+* `idfa`: 广告主设备 ID \(IDFA\)。
+* `started_at`: 设备启动时间。
-只有用户[授予 ATT 许可](#app-tracking-authorization-wrapper)时,Adjust SDK 才可访问 idfa 和 started_at 属性用于 **精确归因** 并向`consent.adjust.com`发送完整 payload。
+只有用户[授予 ATT 许可](#app-tracking-authorization-wrapper)时,Adjust SDK 才可访问 idfa 和 started\_at 属性用于 **精确归因** 并向`consent.adjust.com`发送完整 payload。
-两个终端均适用于所有[URL 策略](/zh/sdk/ios/features/privacy#data-residency)。
+两个终端均适用于所有[URL 策略](/en/sdk/ios/features/privacy#data-residency)。
-| URL 策略 | 未授权终端 | 授权终端 |
-| ----------------------- | ------------------------- | ----------------------- |
-| 欧盟数据驻留 | `analytics.eu.adjust.com` | `consent.eu.adjust.com` |
-| 土耳其数据驻留 | `analytics.tr.adjust.com` | `consent.tr.adjust.com` |
-| 数据驻留 | `analytics.us.adjust.com` | `consent.us.adjust.com` |
-| 中国 URL 策略 | `analytics.adjust.world` | `consent.adjust.world` |
+| URL 策略 | 未授权终端 | 授权终端 |
+|----------------|---------------------------|-------------------------|
+| 欧盟数据驻留 | `analytics.eu.adjust.com` | `consent.eu.adjust.com` |
+| 土耳其数据驻留 | `analytics.tr.adjust.com` | `consent.tr.adjust.com` |
+| 数据驻留 | `analytics.us.adjust.com` | `consent.us.adjust.com` |
+| 中国 URL 策略 | `analytics.adjust.world` | `consent.adjust.world` |
| 仅限中国地区的 URL 策略 | `analytics.adjust.cn` | `consent.adjust.cn` |
-| 印度 URL 策略 | `analytics.adjust.net.in` | `consent.adjust.net.in` |
+| 印度 URL 策略 | `analytics.adjust.net.in` | `consent.adjust.net.in` |
+