From be6be4bc15e789ba8c6aa0fdac7c5f0d09c90088 Mon Sep 17 00:00:00 2001 From: "smartling-github-connector[bot]" <165276057+smartling-github-connector[bot]@users.noreply.github.com> Date: Fri, 7 Feb 2025 13:41:28 +0000 Subject: [PATCH 1/4] File src/content/docs/en/sdk/migration/ios/v4-to-v5.mdx was updated on ja-JP locale --- .../docs/ja/sdk/migration/ios/v4-to-v5.mdx | 769 ++++++------------ 1 file changed, 269 insertions(+), 500 deletions(-) diff --git a/src/content/docs/ja/sdk/migration/ios/v4-to-v5.mdx b/src/content/docs/ja/sdk/migration/ios/v4-to-v5.mdx index 9051037de..c20387762 100644 --- a/src/content/docs/ja/sdk/migration/ios/v4-to-v5.mdx +++ b/src/content/docs/ja/sdk/migration/ios/v4-to-v5.mdx @@ -1,20 +1,21 @@ --- -title: SDK v5移行ガイド -description: SDK v4からSDK v5にアップグレードするには、このガイドをご覧ください -slug: ja/sdk/migration/ios/v4-to-v5 +title: "SDK v5移行ガイド" +description: "SDK v4からSDK v5にアップグレードするには、このガイドをご覧ください" +slug: "en/sdk/migration/ios/v4-to-v5" sidebar-position: 1 --- - -## 事前準備 {#before-you-begin} +事前準備 \{\#before\-you\-begin\} +---------------------------------- SDK v5にアップデートする前に、以下を行ってください。 -1. SDK v5は[SDKシグネチャーの検証](https://help.adjust.com/ja/article/sdk-signature)をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。 -2. アプリが以下のバージョン以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります: - - iOS: **12\.0** - - tvOS: **12\.0** +1. SDK v5は[SDKシグネチャーの検証](https://help.adjust.com/en/article/sdk-signature)をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。 +2. アプリが以下のバージョン以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります: + * iOS: **12\.0** + * tvOS: **12\.0** -## ベータ版のSDKをインストールする {#install-the-sdk} +ベータ版のSDKをインストールする \{\#install\-the\-sdk\} +---------------------------------------------- SDK v5の使用を開始するには、XCodeプロジェクトにdependencyとしてSDK v5を追加する必要があります。これを行うには、以下の手順に従ってください。 @@ -22,24 +23,22 @@ SDK v5の使用を開始するには、XCodeプロジェクトにdependencyと 2. 以下を`Podfile`ファイルに追加します: - + ```rb pod 'Adjust', '~> $IOS_V5_VERSION' ``` - - + 3. `pod install`を実行してdependencyをインストールします。 -## 初期化メソッドを更新 {#init-method} +初期化メソッドを更新 \{\#init\-method\} +--------------------------------- -{" "} + SDK v4では、SDKは`ADJConfig`オブジェクトを設定し、`[Adjust appDidLaunch]`メソッドにパスすることで初期化されます。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -51,8 +50,7 @@ let adjustConfig = ADJConfig( Adjust.appDidLaunch(adjustConfig) ``` - - + ```objc #import "Adjust.h" @@ -65,13 +63,10 @@ NSString *environment = ADJEnvironmentSandbox; [Adjust appDidLaunch:adjustConfig]; ``` - - + SDK v5では、このメソッドの名前は`[Adjust initSdk]`に変更されました。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -83,8 +78,7 @@ let adjustConfig = ADJConfig( Adjust.initSdk(adjustConfig) ``` - - + ```objc #import "Adjust.h" @@ -97,364 +91,301 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:yourAppToken [Adjust initSdk:adjustConfig]; ``` - - + -### SDKシグネチャーライブラリを設定 {#signature-setup} +### SDKシグネチャーライブラリを設定 \{\#signature\-setup\} -SDK v5には、 [SDKシグネチャーライブラリ](https://help.adjust.com/ja/article/sdk-signature)が含まれています。これは、[シグネチャーライブラリ連携ガイド](/ja/sdk/ios/integrations/signature-library)のテスト手順に従ってテストすることができます。 +SDK v5には、 [SDKシグネチャーライブラリ](https://help.adjust.com/en/article/sdk-signature)が含まれています。これは、[シグネチャーライブラリ連携ガイド](/en/sdk/ios/integrations/signature-library)のテスト手順に従ってテストすることができます。 -シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、[シグネチャーの検証](https://help.adjust.com/ja/article/sdk-signature#enforce-signature-validation)を有効化してください。 +シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、[シグネチャーの検証](https://help.adjust.com/en/article/sdk-signature#enforce-signature-validation)を有効化してください。 -## 変更されたAPI {#changed-apis} +変更されたAPI \{\#changed\-apis\} +-------------------------------- -{" "} + SDK v5では、以下のAPIが変更されました。 -### SDKを無効化および有効化する {#disable-enable-sdk} +### SDKを無効化および有効化する \{\#disable\-enable\-sdk\} SDK v4では、`BOOL`値で`[Adjust setEnabled]`を呼び出すことで、SDKを有効化・無効化することができます。 -- SDKを無効化するには、`[Adjust setEnabled:NO]`を呼び出します。 -- SDKを有効化するには、`[Adjust setEnabled:YES]`を呼び出します。 +* SDKを無効化するには、`[Adjust setEnabled:NO]`を呼び出します。 +* SDKを有効化するには、`[Adjust setEnabled:YES]`を呼び出します。 - - + ```swift Adjust.setEnabled(false) //disable SDK Adjust.setEnabled(true) //enable SDK ``` - - + ```objc [Adjust setEnabled:NO]; // disable SDK [Adjust setEnabled:YES]; // enable SDK ``` - - + より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。 -- SDKを無効化するには、`[Adjust disable]`を呼び出します。 -- SDKを有効化するには、`[Adjust enable]`を呼び出します。 +* SDKを無効化するには、`[Adjust disable]`を呼び出します。 +* SDKを有効化するには、`[Adjust enable]`を呼び出します。 - - + ```swift Adjust.disable() //disable SDK Adjust.enable() //enable SDK ``` - - + ```objc [Adjust disable]; // disable SDK [Adjust enable]; // enable SDK ``` - - + -### バックグラウンドで情報を送信する {#send-in-background} +### バックグラウンドで情報を送信する \{\#send\-in\-background\} SDK v4では、`[ADJConfig setSendInBackground]`メソッドに`true`引数を付けて呼び出すことで、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信することができます。 - - - + ```swift adjustConfig.setSendInBackground(true) ``` - - + ```objc [adjustConfig setSendInBackground:YES]; ``` - - + SDK v5では、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信できるようにするには、引数なしで`[ADJConfig enableSendingInBackground]`メソッドを呼び出す必要があります。 - - - + ```swift adjustConfig.enableSendingInBackground() ``` - - + ```objc [adjustConfig enableSendingInBackground]; ``` - - + -### AdServices情報の読み取りを無効化する {#disable-adservices} +### AdServices情報の読み取りを無効化する \{\#disable\-adservices\} SDK v4では、`[ADJConfig setAllowAdServicesInfoReading]`メソッドに`false`引数を付けて呼び出すことで、Adjust SDKがAdServices情報を読み取らないようにすることができます。 - - - + ```swift adjustConfig.setAllowAdServicesInfoReading(false) ``` - - + ```objc [adjustConfig setAllowAdServicesInfoReading:NO]; ``` - - + SDK v5では、Adjust SDKがAdServices情報を読み取らないようにするには、引数なしで`disableAdServices`メソッドを呼び出す必要があります。 - - - + ```swift adjustConfig.disableAdServices() ``` - - + ```objc [adjustConfig disableAdServices]; ``` - - + -### IDFAの読み取りを無効化する {#disable-idfa} +### IDFAの読み取りを無効化する \{\#disable\-idfa\} SDK v4では、`[ADJConfig setAllowIdfaReading]`メソッドに`false`引数を付けて呼び出すことで、Adjust SDKがデバイスのIDFAを読み取らないようにすることができます。 - - - + ```swift adjustConfig.setAllowIdfaReading(false) ``` - - + ```objc [adjustConfig setAllowIdfaReading:NO]; ``` - - + SDK v5では、Adjust SDKがデバイスのIDFAを読み取らないようにするには、引数なしで`disableIdfaReading`メソッドを呼び出す必要があります。 - - - + ```swift adjustConfig.disableIdfaReading() ``` - - + ```objc [adjustConfig disableIdfaReading]; ``` - - + -### アトリビューションにコストデータを有効化する {#enable-cost-data} +### アトリビューションにコストデータを有効化する \{\#enable\-cost\-data\} SDK v4では、`[ADJConfig setNeedsCost]`メソッドに`true`引数をつけて呼び出すことで、デバイスのアトリビューション情報のコストデータを有効化することができます。 - - - + ```swift adjustConfig.setNeedsCost(true) ``` - - + ```objc [adjustConfig setNeedsCost:YES]; ``` - - + SDK v5では、引数なしで`[ADJConfig enableCostDataInAttribution]`メソッドを呼び出す必要があります。 - - - + ```swift adjustConfig.enableCostDataInAttribution() ``` - - + ```objc [adjustConfig enableCostDataInAttribution]; ``` - - - -#### LinkMeを有効化する {#enable-linkme} + -SDK v4では、`[ADJConfig setLinkMeEnabled]`メソッドに`true`引数を付けて呼び出すことで、[Adjust LinkMe](https://help.adjust.com/ja/article/linkme)を有効化できます。 +#### LinkMeを有効化する \{\#enable\-linkme\} - - +SDK v4では、`[ADJConfig setLinkMeEnabled]`メソッドに`true`引数を付けて呼び出すことで、[Adjust LinkMe](https://help.adjust.com/en/article/linkme)を有効化できます。 + ```swift adjustConfig.setLinkMeEnabled(true) ``` - - + ```objc [adjustConfig setLinkMeEnabled:YES]; ``` - - + SDK v5では、引数なしで`[ADJConfig enableLinkMe]`メソッドを呼び出す必要があります。 - - - + ```swift adjustConfig.enableLinkMe() ``` - - + ```objc [adjustConfig enableLinkMe]; ``` - - + -### デバイスIDを1回だけ読み取る {#read-device-id-once} +### デバイスIDを1回だけ読み取る \{\#read\-device\-id\-once\} SDK v4では、`[ADJConfig setReadDeviceInfoOnceEnabled]`メソッドに`true`引数を付けて呼び出すことで、起動時に1回だけデバイス識別子を読み込むようにSDKに指示することができます。 - - - + ```swift adjustConfig.setReadDeviceInfoOnceEnabled(true) ``` - - + ```objc [adjustConfig setReadDeviceInfoOnceEnabled:YES]; ``` - - + SDK v5では、引数なしで`[ADJConfig enableDeviceIdsReadingOnce]`メソッドを呼び出す必要があります。 - - - + ```swift adjustConfig.enableDeviceIdsReadingOnce() ``` - - + ```objc [adjustConfig enableDeviceIdsReadingOnce]; ``` - - + -### オフラインモード {#offline-mode} +### オフラインモード \{\#offline\-mode\} SDK v4では、`BOOL`引数で`[Adjust setOfflineMode]`を呼び出すことで、SDKでオフラインモードを有効化・無効化することができます。 - - - + ```swift Adjust.setOfflineMode(true) // put the SDK in offline mode Adjust.setOfflineMode(false) // put the SDK back in online mode ``` - - + ```objc [Adjust setOfflineMode:YES]; // put the SDK in offline mode [Adjust setOfflineMode:NO]; // put the SDK back in online mode ``` - - + より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。 -- SDKをオフラインモードに設定するには、`[Adjust switchToOfflineMode]`を呼び出します。 -- SDKをオンラインモードに戻すには、`[Adjust switchBackToOnlineMode]`を呼び出します。 +* SDKをオフラインモードに設定するには、`[Adjust switchToOfflineMode]`を呼び出します。 +* SDKをオンラインモードに戻すには、`[Adjust switchBackToOnlineMode]`を呼び出します。 - - + ```swift Adjust.switchToOfflineMode() // put the SDK in offline mode Adjust.switchBackToOnlineMode() // put the SDK back in online mode ``` - - + ```objc [Adjust switchToOfflineMode]; // put the SDK in offline mode [Adjust switchBackToOnlineMode]; // put the SDK back in online mode ``` - - + -### Pushトークン {#push-tokens} +### Pushトークン \{\#push\-tokens\} SDK v4では、`[Adjust setDeviceToken]`メソッドを使用してPushトークンを設定できます。 - - - + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { @@ -462,8 +393,7 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { @@ -471,13 +401,10 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - + このメソッドはSDK v5では`[Adjust setPushToken]`に改名されています。 - - - + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken pushToken: Data) { @@ -485,8 +412,7 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pushToken { @@ -494,20 +420,15 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - - + SDK v4には、`NSString`の値を取る`setPushToken`というメソッドがあります。SDK v5の`setPushToken`メソッドは`NSData`値を受け入れます。 + - - -### セッションコールバックパラメーター {#callback-params} +### セッションコールバックパラメーター \{\#callback\-params\} SDK v4では、`[Adjust addSessionCallbackParameter]`メソッドにキーと値のペアをパスすることでセッションパラメーターを追加し、`[Adjust removeSessionCallbackParameter]`メソッドを使用して個々のパラメーターを削除することができます。 - - - + ```swift Adjust.addSessionCallbackParameter("foo", value: "bar") @@ -515,8 +436,7 @@ Adjust.removeSessionCallbackParameter("foo") Adjust.resetSessionCallbackParameters() ``` - - + ```objc [Adjust addSessionCallbackParameter:@"foo" value:@"bar"]; @@ -524,13 +444,10 @@ Adjust.resetSessionCallbackParameters() [Adjust resetSessionCallbackParameters]; ``` - - + SDK v5では、セッションパラメーターはグローバルパラメーターに改名されています。SDK v5では、キーと値を位置引数として代入する代わりに、`forKey`インスタンスメソッドを使用してキーに値を代入します。 - - - + ```swift Adjust.addGlobalCallbackParameter("bar", forKey: "foo") @@ -538,8 +455,7 @@ Adjust.removeGlobalCallbackParameter(forKey: "foo") Adjust.removeGlobalCallbackParameters() ``` - - + ```objc [Adjust addGlobalCallbackParameter:@"bar" forKey:@"foo"]; @@ -547,15 +463,12 @@ Adjust.removeGlobalCallbackParameters() [Adjust removeGlobalCallbackParameters]; ``` - - + -### セッションパートナーパラメーター {#partner-params} +### セッションパートナーパラメーター \{\#partner\-params\} SDK v4では、`[Adjust addSessionPartnerParameter]`メソッドにキーと値のペアをパスすることでセッション パートナー パラメーターを追加し、`[Adjust removeSessionPartnerParameter]`メソッドを使用して個々のパラメーターを削除することができます。 - - - + ```swift Adjust.addSessionPartnerParameter("foo", value: "bar") @@ -563,8 +476,7 @@ Adjust.removeSessionPartnerParameter("foo") Adjust.resetSessionPartnerParameters() ``` - - + ```objc [Adjust addSessionPartnerParameter:@"foo" value:@"bar"]; @@ -572,13 +484,10 @@ Adjust.resetSessionPartnerParameters() [Adjust resetSessionPartnerParameters]; ``` - - + SDK v5では、セッション パートナー パラメーターはグローバル パートナー パラメーターに改名されました。SDK v5では、キーと値を位置引数として代入する代わりに、`forKey`インスタンスメソッドを使用してキーに値を代入します。 - - - + ```swift Adjust.addGlobalPartnerParameter("bar", forKey: "foo") @@ -586,8 +495,7 @@ Adjust.removeGlobalPartnerParameter(forKey: "foo") Adjust.removeGlobalPartnerParameters() ``` - - + ```objc [Adjust addGlobalPartnerParameter:@"bar" forKey:@"foo"]; @@ -595,15 +503,12 @@ Adjust.removeGlobalPartnerParameters() [Adjust removeGlobalPartnerParameters]; ``` - - + -### サブスクリプション情報を送信する {#send-subscriptions} +### サブスクリプション情報を送信する \{\#send\-subscriptions\} SDK v4では、`ADJSubscription`クラスを使ってAdjustに送信するサブスクリプション情報のペイロードを作成することができます。 - - - + ```swift let subscription = ADJSubscription( @@ -613,8 +518,7 @@ let subscription = ADJSubscription( andReceipt: receipt) ``` - - + ```objc ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price @@ -622,13 +526,10 @@ ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price transactionId:transactionId]; ``` - - + より明確にするため、SDK v5では、このクラスは`ADJAppStoreSubscription`に改名されました。 - - - + ```swift let subscription = ADJAppStoreSubscription( @@ -637,8 +538,7 @@ let subscription = ADJAppStoreSubscription( transactionId: transactionId) ``` - - + ```objc ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] @@ -647,15 +547,12 @@ ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] transactionId:transactionId]; ``` - - + -### イベントの重複排除 {#event-deduplication} +### イベントの重複排除 \{\#event\-deduplication\} SDK v4では、イベント重複排除はイベント`transaction ID`と組み合わされ、最大10個のユニークIDに制限されています。 - - - + ```swift let event = ADJEvent(eventToken: "eventToken") @@ -663,8 +560,7 @@ event.setTransactionId("deduplication_id") Adjust.trackEvent(event) ``` - - + ```objc ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; @@ -672,13 +568,10 @@ ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; [Adjust trackEvent:event]; ``` - - + SDK v5では、この機能は`transaction ID`から切り離され、イベント重複排除のために`deduplicationId`という新しいIDフィールドが追加されました。ユーザーは、重複イベントを識別するためにリストに追加可能な`deduplicationId`の数にカスタム制限を設定できます。デフォルトでは、制限は **10** に設定されています。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -695,8 +588,7 @@ event.setDeduplicationId("deduplication_id") Adjust.trackEvent(event) ``` - - + ```objc NSString *yourAppToken = @"{YourAppToken}"; @@ -712,19 +604,16 @@ ADJEvent *event = [[ADJEvent alloc] initWithEventToken:kEventToken3]; [Adjust trackEvent:event]; ``` - - + -### AdjustAttributionクラス {#attribution-class} +### AdjustAttributionクラス \{\#attribution\-class\} -SDK v4では、`AdjustAttribution`コールは`adid`というプロパティを持ちます。SDK v5 では、`AdjustAttribution` クラスから`adid`プロパティが削除されました。デバイスのADIDを取得するには、[`[Adjust adidWithCompletionHandler]`ゲッターメソッド](#device-id-getters)を使用してください。 +SDK v4では、`AdjustAttribution`コールは`adid`というプロパティを持ちます。SDK v5 では、`AdjustAttribution` クラスから`adid`プロパティが削除されました。デバイスのADIDを取得するには、[`[Adjust adidWithCompletionHandler]`ゲッターメソッド](#device-info)を使用してください。 -### ディープリンクを使用したリアトリビューション {#reattribution-using-deep-links} +### ディープリンクを使用したリアトリビューション \{\#reattribution\-using\-deep\-links\} SDK v4では、`[Adjust appWillOpenUrl]`メソッドにディープリンク情報をパスすることができます。 - - - + ```swift func application( @@ -744,8 +633,7 @@ func application( } ``` - - + ```objc - (BOOL)application:(UIApplication *)app @@ -763,13 +651,10 @@ func application( } ``` - - + SDK v5では、わかりやすくするために`[Adjust processDeeplink]`に改名されています。 - - - + ```swift func application( @@ -790,8 +675,7 @@ func application( } ``` - - + ```objc - (BOOL)application:(UIApplication *)app @@ -809,15 +693,12 @@ func application( } ``` - - + -### ディファードディープリンクのコールバック {#deferred-callback} +### ディファードディープリンクのコールバック \{\#deferred\-callback\} SDK v4では、`adjustDeepLinkResponse`メソッドを呼び出してディファード ディープリンク コールバックを処理できます。 - - - + ```swift func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { @@ -830,8 +711,7 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - - + ```objc - (BOOL)adjustDeeplinkResponse:(NSURL *)deeplink { @@ -844,13 +724,10 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - - + より明確にするため、SDK v5では、このメソッドは`adjustDeferredDeeplinkReceived`に改名されています。全ての引数は同じです。 - - - + ```swift func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { @@ -863,8 +740,7 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - - + ```objc - (BOOL)adjustDeferredDeeplinkReceived:(NSURL *)deeplink { @@ -877,66 +753,51 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - - + -### 児童オンラインプライバシー保護法(COPPA)コンプライアンス {#coppa-compliance} +### 児童オンラインプライバシー保護法(COPPA)コンプライアンス \{\#coppa\-compliance\} SDK v4では、ブール値を渡して`ADJConfig`インスタンスの`setCoppaCompliantEnabled`メソッドを呼び出すことで、アプリをCOPPAに準拠していることをマークできます。 - - - + ```swift adjustConfig.setCoppaCompliantEnabled(true) ``` - - + ```objc [adjustConfig setCoppaCompliantEnabled:YES]; ``` - - + SDK v5では、このメソッドは`enableCoppaCompliance`に改名されています。このメソッドは引数を取りません。 - - - + ```swift adjustConfig?.enableCoppaCompliance() ``` - - + ```objc [adjustConfig enableCoppaCompliance]; ``` - - + -### 特定のソースの広告収益を送信する {#send-ad-revenue} +### 特定のソースの広告収益を送信する \{\#send\-ad\-revenue\} SDK v4では、広告収益ソースは`ADJConfig`クラスの定数として定義されています。SDK v5では、広告収益ソースは文字列としてパスされる必要があります。 - - - - + ```swift - let adRevenue = ADJAdRevenue(source: ADJAdRevenueSourceAppLovinMAX); //v4 + let adRevenue = ADJAdRevenue(source: "applovin_max_sdk") //v5 ``` - - - - + ```objc - ADJAdRevenue *revenue = [[ADJAdRevenue alloc] @@ -945,12 +806,10 @@ SDK v4では、広告収益ソースは`ADJConfig`クラスの定数として定 + initWithSource:@"applovin_max_sdk"]; // v5 ``` - - - + -| v4 | v5 | -| ------------------------------------ | ------------------------- | +| v4 | v5 | +|--------------------------------------|---------------------------| | `ADJAdRevenueSourceAppLovinMAX` | `"applovin_max_sdk"` | | `ADJAdRevenueSourceAdMob` | `"admob_sdk"` | | `ADJAdRevenueSourceIronSource` | `"ironsource_sdk"` | @@ -963,7 +822,7 @@ SDK v4では、広告収益ソースは`ADJConfig`クラスの定数として定 | `ADJAdRevenueSourceTopOn` | `"topon_sdk"` | | `ADJAdRevenueSourceMopub` | `"mopub"` | -### データレジデンシーとURL戦略を設定する {#url-strategy} +### データレジデンシーとURL戦略を設定する \{\#url\-strategy\} SDK v4では、URL戦略とデータレジデンシーのドメインは`ADJConfig`クラスの定数として定義されています。 @@ -973,8 +832,8 @@ SDK v4では、URL戦略とデータレジデンシーのドメインは`ADJConf SDK v5では、選択したドメインを配列としてパスする必要があります。また、以下を設定することも可能です: -- `useSubdomains` (`BOOL`):ドメインをAdjustドメインとして扱うかどうか。`true`の場合、SDKはAdjust固有のサブドメインをドメインにプレフィックスとします。`false`の場合、SDKはプレフィックスを追加せずに、指定されたドメインをそのまま使用します。 -- `isDataResidency` (`BOOL`):ドメインをデータレジデンシーに使用するかどうか。 +* `useSubdomains` (`BOOL`):ドメインをAdjustドメインとして扱うかどうか。`true`の場合、SDKはAdjust固有のサブドメインをドメインにプレフィックスとします。`false`の場合、SDKはプレフィックスを追加せずに、指定されたドメインをそのまま使用します。 +* `isDataResidency` (`BOOL`):ドメインをデータレジデンシーに使用するかどうか。 ```objc NSArray *domain = []; @@ -984,71 +843,61 @@ NSArray *domain = []; SDK v5でURL戦略を設定する方法については、以下の表をご確認ください。 -| v4 | v5 \- メインおよびフォールバックドメイン | v5 \- サブドメインの使用 | v5 \- データレジデンシー | -| ---------------------- | ---------------------------------------- | ------------------------ | ------------------------ | -| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | -| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | -| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | -| `ADJUrlStrategyChina` | `"adjust.world"`。 `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCn` | `"adjust.cn"`。 `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | -| `ADJUrlStrategyIndia` | `"adjust.net.in"`。 `"adjust.com"` | `true` | `false` | +| v4 | v5 \- メインおよびフォールバックドメイン | v5 \- サブドメインの使用 | v5 \- データレジデンシー | +|------------------------|-----------------------------------|------------------|------------------| +| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | +| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | +| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | +| `ADJUrlStrategyChina` | `"adjust.world"`。 `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCn` | `"adjust.cn"`。 `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | +| `ADJUrlStrategyIndia` | `"adjust.net.in"`。 `"adjust.com"` | `true` | `false` | -#### 例 {#examples} +#### 例 \{\#examples\} - - - + ```swift let domain = ["adjust.net.in", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - - + ```swift let domain = ["adjust.world", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - - + ```swift let domain = ["adjust.cn"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - - + ```swift let domain = ["eu.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - - + ```swift let domain = ["tr.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - - + ```swift let domain = ["us.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - - - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1056,8 +905,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1065,8 +913,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1074,8 +921,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1083,8 +929,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1092,8 +937,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1101,16 +945,12 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - - - + -### SKAdNetworkの通信を無効化する {#disable-skan} +### SKAdNetworkの通信を無効化する \{\#disable\-skan\} SDK v4では、`[ADJConfig deactivateSKAdNetworkHandling]`メソッドを呼び出すことで、SDKがSKAdNetworkと通信しないようにすることができます。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -1122,8 +962,7 @@ let adjustConfig = ADJConfig( adjustConfig.deactivateSKAdNetworkHandling() ``` - - + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -1133,13 +972,10 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig deactivateSKAdNetworkHandling]; ``` - - + より明確にするため、SDK v5では、このメソッドは`[ADJConfig disableSkanAttribution]`に改名されています。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -1151,8 +987,7 @@ let adjustConfig = ADJConfig( adjustConfig?.disableSkanAttribution() ``` - - + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -1162,21 +997,19 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig disableSkanAttribution]; ``` - - + -### Conversion valueを更新する {#update-cvs} +### Conversion valueを更新する \{\#update\-cvs\} SDK v4では、`updateConversionValue`メソッドを使ってAdjustに更新されたconversion valueを送ることができます。このメソッドはAppleが廃止した[`updateConversionValue`メソッド](https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue)をラップするため、SDK v5では削除されています。 SDK v5でconversion valueを更新するには、以下の引数で`[Adjust updateSkanConversionValue]`メソッドを使用します: -- `conversionValue` (`NSInteger`):更新されたconversion value -- `coarseValue` (`NSString`):更新された[粗いconversion value](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -- `lockWindow` (`BOOL`):コンバージョン期間が終了する前にポストバックを送信するかどうか +* `conversionValue` (`NSInteger`):更新されたconversion value +* `coarseValue` (`NSString`):更新された[粗いconversion value](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +* `lockWindow` (`BOOL`):コンバージョン期間が終了する前にポストバックを送信するかどうか - - + ```swift Adjust.updateSkanConversionValue( @@ -1189,8 +1022,7 @@ Adjust.updateSkanConversionValue( } ``` - - + ```objc [Adjust updateSkanConversionValue:1 @@ -1201,15 +1033,12 @@ Adjust.updateSkanConversionValue( }]; ``` - - + -### App Tracking Transparency認証ラッパー {#att-wrapper} +### App Tracking Transparency認証ラッパー \{\#att\-wrapper\} SDK v4では、`[Adjust requestTrackingAuthorizationWithCompletionHandler]`メソッドを使用して、ユーザーのATT認証ステータスの変更を処理することができます。 - - - + ```swift Adjust.requestTrackingAuthorization { status in @@ -1232,8 +1061,7 @@ Adjust.requestTrackingAuthorization { status in } ``` - - + ```objc [Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1254,13 +1082,10 @@ Adjust.requestTrackingAuthorization { status in }]; ``` - - + より明確にするため、SDK v5では`[Adjust requestAppTrackingAuthorizationWithCompletionHandler]`に改名されました。 - - - + ```swift Adjust.requestAppTrackingAuthorization { status in @@ -1283,8 +1108,7 @@ Adjust.requestAppTrackingAuthorization { status in } ``` - - + ```objc [Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1305,16 +1129,12 @@ Adjust.requestAppTrackingAuthorization { status in }]; ``` - - + -### デバイス情報を取得する {#device-info} +### デバイス情報を取得する \{\#device\-info\} SDK v4では、全てのデバイス情報ゲッターメソッドは同期的に実行されます。SDK v5では、これらのメソッドは非同期に実行されるように変更されまています。非同期処理の完了時に情報を処理するコールバック関数を追加することができます。 - - - - + ```swift Adjust.adid { adid in @@ -1322,8 +1142,7 @@ Adjust.adid { adid in }; ``` - - + ```swift Adjust.idfa { idfa in @@ -1331,8 +1150,7 @@ Adjust.idfa { idfa in }; ``` - - + ```swift Adjust.idfv { idfv in @@ -1340,8 +1158,7 @@ Adjust.idfv { idfv in }; ``` - - + ```swift Adjust.sdkVersion { sdkVersion in @@ -1349,8 +1166,7 @@ Adjust.sdkVersion { sdkVersion in }; ``` - - + ```swift Adjust.isEnabled { isEnabled in @@ -1358,8 +1174,7 @@ Adjust.isEnabled { isEnabled in }; ``` - - + ```swift Adjust.attribution { attribution in @@ -1367,10 +1182,7 @@ Adjust.attribution { attribution in } ``` - - - - + ```objc [Adjust adidWithCompletionHandler:^(NSString * _Nullable adid) { @@ -1378,8 +1190,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust idfaWithCompletionHandler:^(NSString * _Nullable idfa) { @@ -1387,8 +1198,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust idfvWithCompletionHandler:^(NSString * _Nullable idfv) { @@ -1396,8 +1206,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust sdkVersionWithCompletionHandler:^(NSString * _Nullable sdkVersion) { @@ -1405,8 +1214,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust isEnabledWithCompletionHandler:^(BOOL isEnabled) { @@ -1414,8 +1222,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust attributionWithCompletionHandler:^(ADJAttribution * _Nullable attribution) { @@ -1423,179 +1230,148 @@ Adjust.attribution { attribution in } ``` - - - + -## 削除されたAPI {#removed-apis} +削除されたAPI \{\#removed\-apis\} +-------------------------------- -{" "} + SDK v5では、以下のAPIが削除されました。 -### イベントバッファリング {#event-buffering} +### イベントバッファリング \{\#event\-buffering\} SDK v4はイベントのバッファリングをサポートしています。この機能は、リクエストイベント、広告収益、Pushトークン、その他の情報をローカルバッファに保存し、後日送信します。 - - - + ```swift Adjust.setEventBufferingEnabled(true) ``` - - + ```objc [adjustConfig setEventBufferingEnabled:YES]; ``` - - + SDK v5では、この設定はご利用いただけません。 -### カスタムユーザーエージェント文字列 {#custom-user-agent} +### カスタムユーザーエージェント文字列 \{\#custom\-user\-agent\} SDK v4では、ユーザーエージェント文字列で`[AdjustConfig setUserAgent]`を呼び出すことによるカスタムユーザーエージェントの設定をサポートしています。 - - - + ```swift adjustConfig.setUserAgent("user_agent_value") ``` - - + ```objc [adjustConfig setUserAgent:@"user_agent_value"]; ``` - - + SDK v5では、この設定はご利用いただけません。 -### 既知のデバイスかどうかを通知する設定 {#set-device-known} +### 既知のデバイスかどうかを通知する設定 \{\#set\-device\-known\} SDK v4では、`[AdjustConfig setIsDeviceKnown];`メソッドを呼び出して、既知のデバイスかどうかをSDKに手動で通知することができます。 - - - + ```swift adjustConfig.setIsDeviceKnown(true) ``` - - + ```objc [adjustConfig setIsDeviceKnown:YES]; ``` - - + SDK v5では、この設定はご利用いただけません。 -### SDKの起動開始を遅延させる {#delay-sdk-start} +### SDKの起動開始を遅延させる \{\#delay\-sdk\-start\} SDK v4では、`[AdjustConfig setDelayStart];`を最大 **10秒** 遅延させて呼び出すことで、SDKの開始を遅延させることができます。 - - - + ```swift adjustConfig.setDelayStart(10) ``` - - + ```objc [adjustConfig setDelayStart:10]; ``` - - + SDK v5では、この設定はご利用いただけません。 -### サードパーティとの共有をグローバルに無効化する {#disable-sharing-globally} +### サードパーティとの共有をグローバルに無効化する \{\#disable\-sharing\-globally\} SDK v4では、`Adjust.disableThirdPartySharing()`メソッドを呼び出すことで、サードパーティとの情報共有をグローバルに無効化することができます。 - - - + ```swift Adjust.disableThirdPartySharing() ``` - - + ```objc [Adjust disableThirdPartySharing]; ``` - - + この機能はSDK v5では削除されました。SDK v5では、`[Adjust trackThirdPartySharing]`メソッドを使用してサードパーティとのデータ共有を有効化または無効化できます。 - - - + ```swift guard let adjustThirdPartySharing = ADJThirdPartySharing(isEnabled: 0) else { return } Adjust.trackThirdPartySharing(adjustThirdPartySharing) ``` - - + ```objc ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabled:@NO]; [Adjust trackThirdPartySharing:adjustThirdPartySharing]; ``` - - + -### 承認ステータスの変更を確認する {#check-att-status-change} +### 承認ステータスの変更を確認する \{\#check\-att\-status\-change\} SDK v4では、`[Adjust checkForNewAttStatus]`メソッドを使ってSDKにユーザーのATTステータスを読み込ませ、Adjustのサーバーに情報を転送することができます。 - - - + ```swift Adjust.checkForNewAttStatus() ``` - - + ```objc [Adjust checkForNewAttStatus]; ``` - - + このメソッドはSDK v5では廃止されています。 -### Conversion valueのアップデートを受信する {#listen-for-cv-updates} +### Conversion valueのアップデートを受信する \{\#listen\-for\-cv\-updates\} SDK v4では、`adjustConversionValueUpdated`メソッドを使用してSKAdNetworkのアップデートを受信することができます。 - - - + ```swift func adjustConversionValueUpdated(_ conversionValue: NSNumber) { @@ -1611,8 +1387,7 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - - + ```objc - (void)adjustConversionValueUpdated:(NSNumber *)conversionValue { @@ -1630,18 +1405,16 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - - + SDK v5では、これら2つのメソッドは、型付けされていない辞書を返す単一の`adjustSkanUpdatedWithConversionData`メソッドに置き換えられました。現在サポートされているキーは以下の通りです: -- `conversion_value`: 更新されたconversion value -- `coarse_value`: 更新された[粗いconversion value](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -- `lock_window`: コンバージョン期間が終了する前にポストバックを送信するかどうか -- `error`: 更新によって返されたエラーメッセージ +* `conversion_value`: 更新されたconversion value +* `coarse_value`: 更新された[粗いconversion value](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +* `lock_window`: コンバージョン期間が終了する前にポストバックを送信するかどうか +* `error`: 更新によって返されたエラーメッセージ - - + ```swift func adjustSkanUpdated(withConversionData data: [String: String]) { @@ -1650,8 +1423,7 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - - + ```objc - (void)adjustSkanUpdatedWithConversionData:(NSDictionary *)data { @@ -1660,38 +1432,35 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - - + -### アプリシークレットを設定{#set-an-app-secret} +### アプリシークレットを設定\{\#set\-an\-app\-secret\} SDK v4では、`ADJConfig`インスタンスの`setAppSecret`メソッドを呼び出して、SDKトラフィックの署名に使用するアプリシークレットを設定することができます。 - - - + ```swift adjustConfig.setAppSecret(secretId, info1: info1, info2: info2, info3: info3, info4: info4) ``` - - + ```objc [adjustConfig setAppSecret:secretId info1:info1 info2:info2 info3:info3 info4:info4]; ``` - - + SDK v5では、この設定はご利用いただけません。 -## 削除されたプラグイン {#removed-plugins} +削除されたプラグイン \{\#removed\-plugins\} +------------------------------------- -{" "} + SDK v5では以下のプラグインが削除されました: -- Criteo -- Trademob -- Sociomantic +* Criteo +* Trademob +* Sociomantic + From eaaa016d803f128042398b7a2854f64effddd18c Mon Sep 17 00:00:00 2001 From: "smartling-github-connector[bot]" <165276057+smartling-github-connector[bot]@users.noreply.github.com> Date: Fri, 7 Feb 2025 13:41:29 +0000 Subject: [PATCH 2/4] File src/content/docs/en/sdk/migration/ios/v4-to-v5.mdx was updated on zh-CN locale --- .../docs/zh/sdk/migration/ios/v4-to-v5.mdx | 769 ++++++------------ 1 file changed, 269 insertions(+), 500 deletions(-) diff --git a/src/content/docs/zh/sdk/migration/ios/v4-to-v5.mdx b/src/content/docs/zh/sdk/migration/ios/v4-to-v5.mdx index 49609d792..b3fa3c49b 100644 --- a/src/content/docs/zh/sdk/migration/ios/v4-to-v5.mdx +++ b/src/content/docs/zh/sdk/migration/ios/v4-to-v5.mdx @@ -1,20 +1,21 @@ --- -title: SDK v5 迁移指南 -description: 按照此指南从 SDK v4 升级到 SDK v5 -slug: zh/sdk/migration/ios/v4-to-v5 +title: "SDK v5 迁移指南" +description: "按照此指南从 SDK v4 升级到 SDK v5" +slug: "en/sdk/migration/ios/v4-to-v5" sidebar-position: 1 --- - -## 操作前须知 {#before-you-begin} +操作前须知 \{\#before\-you\-begin\} +----------------------------------- 在更新到 SDK v5 之前,您需要进行以下操作: -1. SDK v5 支持[SDK 签名验证](https://help.adjust.com/zh/article/sdk-signature)。如果您当前正在使用 SDK 签名库,则需要先将其卸载。 -2. 如果您的应用针对低于以下版本的 API,则需要先更新应用才能使用 SDK v5: - - iOS: **12\.0** - - tvOS: **12\.0** +1. SDK v5 支持[SDK 签名验证](https://help.adjust.com/en/article/sdk-signature)。如果您当前正在使用 SDK 签名库,则需要先将其卸载。 +2. 如果您的应用针对低于以下版本的 API,则需要先更新应用才能使用 SDK v5: + * iOS: **12\.0** + * tvOS: **12\.0** -## 安装 beta SDK {#install-the-sdk} +安装 beta SDK \{\#install\-the\-sdk\} +---------------------------------------- 要开始使用 SDK v5,您需要将其添加为 XCode 项目的依赖。为此请进行下列操作: @@ -22,24 +23,22 @@ sidebar-position: 1 2. 添加下列行至您的 `Podfile`: - + ```rb pod 'Adjust', '~> $IOS_V5_VERSION' ``` - - + 3. 运行`pod install`来安装依赖。 -## 更新初始化方法 {#init-method} +更新初始化方法 \{\#init\-method\} +------------------------------ -{" "} + 在 SDK v4 中,SDK 的初始化方法是配置`ADJConfig`对象并将其传递至`[Adjust appDidLaunch]`方法。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -51,8 +50,7 @@ let adjustConfig = ADJConfig( Adjust.appDidLaunch(adjustConfig) ``` - - + ```objc #import "Adjust.h" @@ -65,13 +63,10 @@ NSString *environment = ADJEnvironmentSandbox; [Adjust appDidLaunch:adjustConfig]; ``` - - + 在 SDK v5 中,该方法已重命名为`[Adjust initSdk]` 。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -83,8 +78,7 @@ let adjustConfig = ADJConfig( Adjust.initSdk(adjustConfig) ``` - - + ```objc #import "Adjust.h" @@ -97,364 +91,301 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:yourAppToken [Adjust initSdk:adjustConfig]; ``` - - + -### 配置 SDK 签名库 {#signature-setup} +### 配置 SDK 签名库 \{\#signature\-setup\} -SDK v5 包含 [SDK 签名库](https://help.adjust.com/zh/article/sdk-signature)。您可以按照[签名库集成指南](/zh/sdk/ios/integrations/signature-library)中的测试步骤对此进行测试。 +SDK v5 包含 [SDK 签名库](https://help.adjust.com/en/article/sdk-signature)。您可以按照[签名库集成指南](/en/sdk/ios/integrations/signature-library)中的测试步骤对此进行测试。 -签名保护功能默认处于禁用状态。要启用签名,您需要[执行签名验证](https://help.adjust.com/zh/article/sdk-signature#enforce-signature-validation)。 +签名保护功能默认处于禁用状态。要启用签名,您需要[执行签名验证](https://help.adjust.com/en/article/sdk-signature#enforce-signature-validation)。 -## 变更 API {#changed-apis} +变更 API \{\#changed\-apis\} +------------------------------ -{" "} + SDK v5 中变更了下列 API。 -### 禁用或启用 SDK {#disable-enable-sdk} +### 禁用或启用 SDK \{\#disable\-enable\-sdk\} 在 SDK v4 中,您可以通过调用带`BOOL`值的`[Adjust setEnabled]`来启用和禁用 SDK。 -- 调用`[Adjust setEnabled:NO]`来禁用 SDK。 -- 调用`[Adjust setEnabled:YES]`来启用 SDK。 +* 调用`[Adjust setEnabled:NO]`来禁用 SDK。 +* 调用`[Adjust setEnabled:YES]`来启用 SDK。 - - + ```swift Adjust.setEnabled(false) //disable SDK Adjust.setEnabled(true) //enable SDK ``` - - + ```objc [Adjust setEnabled:NO]; // disable SDK [Adjust setEnabled:YES]; // enable SDK ``` - - + 在 SDK v5 中,为清晰起见,此功能被分成单独的命令。 -- 调用`[Adjust disable]`来禁用 SDK。 -- 调用`[Adjust enable]`来启用 SDK。 +* 调用`[Adjust disable]`来禁用 SDK。 +* 调用`[Adjust enable]`来启用 SDK。 - - + ```swift Adjust.disable() //disable SDK Adjust.enable() //enable SDK ``` - - + ```objc [Adjust disable]; // disable SDK [Adjust enable]; // enable SDK ``` - - + -### 在后台发送信息 {#send-in-background} +### 在后台发送信息 \{\#send\-in\-background\} 在 SDK v4 中,您可以使用`true`参数调用`[ADJConfig setSendInBackground]`方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。 - - - + ```swift adjustConfig.setSendInBackground(true) ``` - - + ```objc [adjustConfig setSendInBackground:YES]; ``` - - + 在 SDK v5 中,您需要调用不带参数的`[ADJConfig enableSendingInBackground]`方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。 - - - + ```swift adjustConfig.enableSendingInBackground() ``` - - + ```objc [adjustConfig enableSendingInBackground]; ``` - - + -### 禁用 AdServices 信息读取 {#disable-adservices} +### 禁用 AdServices 信息读取 \{\#disable\-adservices\} 在 SDK v4 中,您可以使用`false`参数调用`[ADJConfig setAllowAdServicesInfoReading]`方法来阻止 Adjust SDK 读取 AdServices 信息。 - - - + ```swift adjustConfig.setAllowAdServicesInfoReading(false) ``` - - + ```objc [adjustConfig setAllowAdServicesInfoReading:NO]; ``` - - + 在 SDK v5 中,您需要调用不带参数的`disableAdServices`方法以防止 Adjust SDK 读取 AdServices 信息。 - - - + ```swift adjustConfig.disableAdServices() ``` - - + ```objc [adjustConfig disableAdServices]; ``` - - + -### 禁用 IDFA 读取 {#disable-idfa} +### 禁用 IDFA 读取 \{\#disable\-idfa\} 在 SDK v4 中,您可以使用`false`参数调用`[ADJConfig setAllowIdfaReading]`方法来阻止 Adjust SDK 读取设备的 IDFA。 - - - + ```swift adjustConfig.setAllowIdfaReading(false) ``` - - + ```objc [adjustConfig setAllowIdfaReading:NO]; ``` - - + 在 SDK v5 中,您需要调用不带参数的`disableIdfaReading`方法来阻止 Adjust SDK 读取设备的 IDFA。 - - - + ```swift adjustConfig.disableIdfaReading() ``` - - + ```objc [adjustConfig disableIdfaReading]; ``` - - + -### 在归因中启用成本数据 {#enable-cost-data} +### 在归因中启用成本数据 \{\#enable\-cost\-data\} 在 SDK v4 中,您可以通过调用带`true`参数的`[ADJConfig setNeedsCost]`方法在设备归因信息中启用成本数据。 - - - + ```swift adjustConfig.setNeedsCost(true) ``` - - + ```objc [adjustConfig setNeedsCost:YES]; ``` - - + 在 SDK v5 中,您需要在不带参数的情况下调用`[ADJConfig enableCostDataInAttribution]`方法。 - - - + ```swift adjustConfig.enableCostDataInAttribution() ``` - - + ```objc [adjustConfig enableCostDataInAttribution]; ``` - - - -#### 启用 LinkMe {#enable-linkme} + -在 SDK v4 中,您可以通过调用带有`true`参数的`[ADJConfig setLinkMeEnabled]`方法来启用[Adjust LinkMe](https://help.adjust.com/zh/article/linkme) 。 +#### 启用 LinkMe \{\#enable\-linkme\} - - +在 SDK v4 中,您可以通过调用带有`true`参数的`[ADJConfig setLinkMeEnabled]`方法来启用[Adjust LinkMe](https://help.adjust.com/en/article/linkme) 。 + ```swift adjustConfig.setLinkMeEnabled(true) ``` - - + ```objc [adjustConfig setLinkMeEnabled:YES]; ``` - - + 在 SDK v5 中,您需要在不带参数的情况下调用`[ADJConfig enableLinkMe]`方法。 - - - + ```swift adjustConfig.enableLinkMe() ``` - - + ```objc [adjustConfig enableLinkMe]; ``` - - + -### 只读取设备 ID 一次 {#read-device-id-once} +### 只读取设备 ID 一次 \{\#read\-device\-id\-once\} 在 SDK v4 中,您可以通过调用带有`true`参数的`[ADJConfig setReadDeviceInfoOnceEnabled]`方法来指示 SDK 在启动时仅读取一次设备标识符。 - - - + ```swift adjustConfig.setReadDeviceInfoOnceEnabled(true) ``` - - + ```objc [adjustConfig setReadDeviceInfoOnceEnabled:YES]; ``` - - + 在 SDK v5 中,您需要在不带参数的情况下调用`[ADJConfig enableDeviceIdsReadingOnce]`方法。 - - - + ```swift adjustConfig.enableDeviceIdsReadingOnce() ``` - - + ```objc [adjustConfig enableDeviceIdsReadingOnce]; ``` - - + -### 离线模式 {#offline-mode} +### 离线模式 \{\#offline\-mode\} 在 SDK v4 中,您可以通过调用带`BOOL`参数的`[Adjust setOfflineMode]`来启用和禁用 SDK 离线模式。 - - - + ```swift Adjust.setOfflineMode(true) // put the SDK in offline mode Adjust.setOfflineMode(false) // put the SDK back in online mode ``` - - + ```objc [Adjust setOfflineMode:YES]; // put the SDK in offline mode [Adjust setOfflineMode:NO]; // put the SDK back in online mode ``` - - + 在 SDK v5 中,为清晰起见,此功能被分成单独的命令。 -- 调用`[Adjust switchToOfflineMode]`将 SDK 设为离线模式。 -- 调用`[Adjust switchBackToOnlineMode]`将 SDK 重新设为在线模式。 +* 调用`[Adjust switchToOfflineMode]`将 SDK 设为离线模式。 +* 调用`[Adjust switchBackToOnlineMode]`将 SDK 重新设为在线模式。 - - + ```swift Adjust.switchToOfflineMode() // put the SDK in offline mode Adjust.switchBackToOnlineMode() // put the SDK back in online mode ``` - - + ```objc [Adjust switchToOfflineMode]; // put the SDK in offline mode [Adjust switchBackToOnlineMode]; // put the SDK back in online mode ``` - - + -### 推送标签 {#push-tokens} +### 推送标签 \{\#push\-tokens\} 在SDK v4 中,您可以使用 `[Adjust setDeviceToken]` 方法设置推送标签 \(Push token\)。 - - - + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { @@ -462,8 +393,7 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { @@ -471,13 +401,10 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - + 在 SDK v5 中,该方法已重命名为`[Adjust setPushToken]` 。 - - - + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken pushToken: Data) { @@ -485,8 +412,7 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pushToken { @@ -494,20 +420,15 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - - + SDK v4 包含一个名为`setPushToken`的方法,该方法接受`NSString`值。SDK v5 中的`setPushToken`方法接受`NSData`值。 + - - -### 会话回传参数 {#callback-params} +### 会话回传参数 \{\#callback\-params\} 在 SDK v4 中,您可以通过传递键值对至`[Adjust addSessionCallbackParameter]`方法来添加会话参数,也可以使用`[Adjust removeSessionCallbackParameter]`方法移除单个参数。 - - - + ```swift Adjust.addSessionCallbackParameter("foo", value: "bar") @@ -515,8 +436,7 @@ Adjust.removeSessionCallbackParameter("foo") Adjust.resetSessionCallbackParameters() ``` - - + ```objc [Adjust addSessionCallbackParameter:@"foo" value:@"bar"]; @@ -524,13 +444,10 @@ Adjust.resetSessionCallbackParameters() [Adjust resetSessionCallbackParameters]; ``` - - + 在 SDK v5 中,会话参数被重命名为统一参数。SDK v5 不再以位置参数的形式指定键和值,而是使用`forKey`实例方法将值指定给键。 - - - + ```swift Adjust.addGlobalCallbackParameter("bar", forKey: "foo") @@ -538,8 +455,7 @@ Adjust.removeGlobalCallbackParameter(forKey: "foo") Adjust.removeGlobalCallbackParameters() ``` - - + ```objc [Adjust addGlobalCallbackParameter:@"bar" forKey:@"foo"]; @@ -547,15 +463,12 @@ Adjust.removeGlobalCallbackParameters() [Adjust removeGlobalCallbackParameters]; ``` - - + -### 会话合作伙伴参数 {#partner-params} +### 会话合作伙伴参数 \{\#partner\-params\} 在 SDK v4 中,您可以通过传递键值对至`[Adjust addSessionPartnerParameter]`方法来添加会话合作伙伴参数,也可以使用`[Adjust removeSessionPartnerParameter]`方法移除单个参数。 - - - + ```swift Adjust.addSessionPartnerParameter("foo", value: "bar") @@ -563,8 +476,7 @@ Adjust.removeSessionPartnerParameter("foo") Adjust.resetSessionPartnerParameters() ``` - - + ```objc [Adjust addSessionPartnerParameter:@"foo" value:@"bar"]; @@ -572,13 +484,10 @@ Adjust.resetSessionPartnerParameters() [Adjust resetSessionPartnerParameters]; ``` - - + 在 SDK v5 中,会话合作伙伴参数被重命名为统一合作伙伴参数。SDK v5 不再以位置参数的形式指定键和值,而是使用`forKey`实例方法将值指定给键。 - - - + ```swift Adjust.addGlobalPartnerParameter("bar", forKey: "foo") @@ -586,8 +495,7 @@ Adjust.removeGlobalPartnerParameter(forKey: "foo") Adjust.removeGlobalPartnerParameters() ``` - - + ```objc [Adjust addGlobalPartnerParameter:@"bar" forKey:@"foo"]; @@ -595,15 +503,12 @@ Adjust.removeGlobalPartnerParameters() [Adjust removeGlobalPartnerParameters]; ``` - - + -### 发送订阅信息 {#send-subscriptions} +### 发送订阅信息 \{\#send\-subscriptions\} 在 SDK v4 中,您可以使用`ADJSubscription`类创建订阅信息负载发送至 Adjust。 - - - + ```swift let subscription = ADJSubscription( @@ -613,8 +518,7 @@ let subscription = ADJSubscription( andReceipt: receipt) ``` - - + ```objc ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price @@ -622,13 +526,10 @@ ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price transactionId:transactionId]; ``` - - + 为清晰起见,此类在 SDK v5 中已重命名为`ADJAppStoreSubscription` 。 - - - + ```swift let subscription = ADJAppStoreSubscription( @@ -637,8 +538,7 @@ let subscription = ADJAppStoreSubscription( transactionId: transactionId) ``` - - + ```objc ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] @@ -647,15 +547,12 @@ ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] transactionId:transactionId]; ``` - - + -### 事件去重 {#event-deduplication} +### 事件去重 \{\#event\-deduplication\} 在 SDK v4 中,事件去重与事件`transaction ID`同时进行且唯一 ID 的数量上限为 10 个。 - - - + ```swift let event = ADJEvent(eventToken: "eventToken") @@ -663,8 +560,7 @@ event.setTransactionId("deduplication_id") Adjust.trackEvent(event) ``` - - + ```objc ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; @@ -672,13 +568,10 @@ ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; [Adjust trackEvent:event]; ``` - - + 在 SDK v5 中,该功能与`transaction ID`分离。事件去重添加了名为`deduplicationId`的新 ID 字段。用户可以自定义`deduplicationId`的数量限制,添加到用于识别重复事件的列表中。默认情况下,数量上限为 **10** 。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -695,8 +588,7 @@ event.setDeduplicationId("deduplication_id") Adjust.trackEvent(event) ``` - - + ```objc NSString *yourAppToken = @"{YourAppToken}"; @@ -712,19 +604,16 @@ ADJEvent *event = [[ADJEvent alloc] initWithEventToken:kEventToken3]; [Adjust trackEvent:event]; ``` - - + -### AdjustAttribution 类 {#attribution-class} +### AdjustAttribution 类 \{\#attribution\-class\} -在 SDK v4 中,`AdjustAttribution`调用包含一个名为`adid`的属性。在 SDK v5 中,`adid`属性已从`AdjustAttribution`类中移除。您可以使用[`[Adjust adidWithCompletionHandler]` getter 方法](#device-id-getters)获取设备的 ADID。 +在 SDK v4 中,`AdjustAttribution`调用包含一个名为`adid`的属性。在 SDK v5 中,`adid`属性已从`AdjustAttribution`类中移除。您可以使用[`[Adjust adidWithCompletionHandler]` getter 方法](#device-info)获取设备的 ADID。 -### 通过深度链接进行再归因 {#reattribution-using-deep-links} +### 通过深度链接进行再归因 \{\#reattribution\-using\-deep\-links\} 在 SDK v4 中,您可以将深度链接信息传递至`[Adjust appWillOpenUrl]`方法。 - - - + ```swift func application( @@ -744,8 +633,7 @@ func application( } ``` - - + ```objc - (BOOL)application:(UIApplication *)app @@ -763,13 +651,10 @@ func application( } ``` - - + 为清晰起见,在 SDK v5 中,该方法已重命名为`[Adjust processDeeplink]` 。 - - - + ```swift func application( @@ -790,8 +675,7 @@ func application( } ``` - - + ```objc - (BOOL)application:(UIApplication *)app @@ -809,15 +693,12 @@ func application( } ``` - - + -### 延迟深度链接回传 {#deferred-callback} +### 延迟深度链接回传 \{\#deferred\-callback\} 在 SDK v4 中,您可以调用`adjustDeepLinkResponse`方法处理延迟深度链接回传。 - - - + ```swift func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { @@ -830,8 +711,7 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - - + ```objc - (BOOL)adjustDeeplinkResponse:(NSURL *)deeplink { @@ -844,13 +724,10 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - - + 在 SDK v5 中,为清晰起见,该方法已被重命名为`adjustDeferredDeeplinkReceived` 。所有参数都是相同的。 - - - + ```swift func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { @@ -863,8 +740,7 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - - + ```objc - (BOOL)adjustDeferredDeeplinkReceived:(NSURL *)deeplink { @@ -877,66 +753,51 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - - + -### COPPA 合规 {#coppa-compliance} +### COPPA 合规 \{\#coppa\-compliance\} 在 SDK v4 中,您可以使用布尔值在`ADJConfig`实例上调用`setCoppaCompliantEnabled`方法,将应用标记为 COPPA 合规。 - - - + ```swift adjustConfig.setCoppaCompliantEnabled(true) ``` - - + ```objc [adjustConfig setCoppaCompliantEnabled:YES]; ``` - - + 在 SDK v5 中,为清晰起见,该方法已被重命名为`enableCoppaCompliance` 。该方法不带参数。 - - - + ```swift adjustConfig?.enableCoppaCompliance() ``` - - + ```objc [adjustConfig enableCoppaCompliance]; ``` - - + -### 发送特定来源的广告收入 {#send-ad-revenue} +### 发送特定来源的广告收入 \{\#send\-ad\-revenue\} 在 SDK v4 中,广告收入来源被定义为`ADJConfig`类中的常量。在 SDK v5 中,广告收入来源需要以字符串形式传递。 - - - - + ```swift - let adRevenue = ADJAdRevenue(source: ADJAdRevenueSourceAppLovinMAX); //v4 + let adRevenue = ADJAdRevenue(source: "applovin_max_sdk") //v5 ``` - - - - + ```objc - ADJAdRevenue *revenue = [[ADJAdRevenue alloc] @@ -945,12 +806,10 @@ adjustConfig?.enableCoppaCompliance() + initWithSource:@"applovin_max_sdk"]; // v5 ``` - - - + -| v4 | v5 | -| ------------------------------------ | ------------------------- | +| v4 | v5 | +|--------------------------------------|---------------------------| | `ADJAdRevenueSourceAppLovinMAX` | `"applovin_max_sdk"` | | `ADJAdRevenueSourceAdMob` | `"admob_sdk"` | | `ADJAdRevenueSourceIronSource` | `"ironsource_sdk"` | @@ -963,7 +822,7 @@ adjustConfig?.enableCoppaCompliance() | `ADJAdRevenueSourceTopOn` | `"topon_sdk"` | | `ADJAdRevenueSourceMopub` | `"mopub"` | -### 设置数据驻留和 URL 策略 {#url-strategy} +### 设置数据驻留和 URL 策略 \{\#url\-strategy\} 在 SDK v4 中,URL 策略和数据驻留域名在`ADJConfig`类中被定义为常量。 @@ -973,8 +832,8 @@ adjustConfig?.enableCoppaCompliance() 在 SDK v5 中,您需要将选定的一个或多个域名以数组的形式发送。您还可以进行下列设置: -- `useSubdomains` \(`BOOL`\): 域名是否应被视为 Adjust 域名。若为 `true`,则 SDK 会为域名添加 Adjust 子域名前缀。若为 `false`,SDK 会使用收到的域名,不添加任何前缀。 -- `isDataResidency` \( `BOOL` \):域名是否用于数据驻留。 +* `useSubdomains` \(`BOOL`\): 域名是否应被视为 Adjust 域名。若为 `true`,则 SDK 会为域名添加 Adjust 子域名前缀。若为 `false`,SDK 会使用收到的域名,不添加任何前缀。 +* `isDataResidency` \( `BOOL` \):域名是否用于数据驻留。 ```objc NSArray *domain = []; @@ -984,71 +843,61 @@ NSArray *domain = []; 请查看下方表格,了解如何在 SDK v5 中配置 URL 策略。 -| v4 | v5 \- 主要和后备域名 | v5 \- 使用子域名 | v5 \- 数据驻留 | -| ---------------------- | ---------------------------------- | ---------------- | -------------- | -| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | -| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | -| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | -| `ADJUrlStrategyChina` | `"adjust.world"`: `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCn` | `"adjust.cn"`: `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | -| `ADJUrlStrategyIndia` | `"adjust.net.in"`: `"adjust.com"` | `true` | `false` | +| v4 | v5 \- 主要和后备域名 | v5 \- 使用子域名 | v5 \- 数据驻留 | +|------------------------|-----------------------------------|--------------|-------------| +| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | +| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | +| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | +| `ADJUrlStrategyChina` | `"adjust.world"`: `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCn` | `"adjust.cn"`: `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | +| `ADJUrlStrategyIndia` | `"adjust.net.in"`: `"adjust.com"` | `true` | `false` | -#### 示例 {#examples} +#### 示例 \{\#examples\} - - - + ```swift let domain = ["adjust.net.in", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - - + ```swift let domain = ["adjust.world", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - - + ```swift let domain = ["adjust.cn"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - - + ```swift let domain = ["eu.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - - + ```swift let domain = ["tr.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - - + ```swift let domain = ["us.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - - - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1056,8 +905,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1065,8 +913,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1074,8 +921,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1083,8 +929,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1092,8 +937,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1101,16 +945,12 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - - - + -### 关闭 SKAdNetwork 通讯 {#disable-skan} +### 关闭 SKAdNetwork 通讯 \{\#disable\-skan\} 在 SDK v4 中,您可以通过调用`[ADJConfig deactivateSKAdNetworkHandling]`方法来阻止 SDK 与 SKAdNetwork 通讯。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -1122,8 +962,7 @@ let adjustConfig = ADJConfig( adjustConfig.deactivateSKAdNetworkHandling() ``` - - + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -1133,13 +972,10 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig deactivateSKAdNetworkHandling]; ``` - - + 在 SDK v5 中,为清晰起见,该方法已被重命名为`[ADJConfig disableSkanAttribution]` 。 - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -1151,8 +987,7 @@ let adjustConfig = ADJConfig( adjustConfig?.disableSkanAttribution() ``` - - + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -1162,21 +997,19 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig disableSkanAttribution]; ``` - - + -### 更新转化值 {#update-cvs} +### 更新转化值 \{\#update\-cvs\} 在 SDK v4 中,您可以使用`updateConversionValue`方法向 Adjust 发送更新后的转化值。此方法包装 Apple 已弃用的[`updateConversionValue`方法](https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue),且在 SDK v5 中删除。 如需更新 SDK v5 中的转化值,请使用带下列参数的`[Adjust updateSkanConversionValue]`方法: -- `conversionValue` \( `NSInteger` \):更新后的转化值 -- `coarseValue` \( `NSString` \):更新后的[粗粒度转化值](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -- `lockWindow` \(`BOOL`\):是否在转化窗口结束前发送回调 +* `conversionValue` \( `NSInteger` \):更新后的转化值 +* `coarseValue` \( `NSString` \):更新后的[粗粒度转化值](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +* `lockWindow` \(`BOOL`\):是否在转化窗口结束前发送回调 - - + ```swift Adjust.updateSkanConversionValue( @@ -1189,8 +1022,7 @@ Adjust.updateSkanConversionValue( } ``` - - + ```objc [Adjust updateSkanConversionValue:1 @@ -1201,15 +1033,12 @@ Adjust.updateSkanConversionValue( }]; ``` - - + -### App Tracking Transparency 授权包装器 {#att-wrapper} +### App Tracking Transparency 授权包装器 \{\#att\-wrapper\} 在 SDK v4 中,您可以使用`[Adjust requestTrackingAuthorizationWithCompletionHandler]`方法处理用户 ATT 授权状态变更。 - - - + ```swift Adjust.requestTrackingAuthorization { status in @@ -1232,8 +1061,7 @@ Adjust.requestTrackingAuthorization { status in } ``` - - + ```objc [Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1254,13 +1082,10 @@ Adjust.requestTrackingAuthorization { status in }]; ``` - - + 为清晰起见,该参数在 SDK v5 中被重命名为`[Adjust requestAppTrackingAuthorizationWithCompletionHandler]` 。 - - - + ```swift Adjust.requestAppTrackingAuthorization { status in @@ -1283,8 +1108,7 @@ Adjust.requestAppTrackingAuthorization { status in } ``` - - + ```objc [Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1305,16 +1129,12 @@ Adjust.requestAppTrackingAuthorization { status in }]; ``` - - + -### 获取设备信息 {#device-info} +### 获取设备信息 \{\#device\-info\} 在 SDK v4 中,所有设备信息 getter 方法都会同步运行。在 SDK v5 中,这些方法已改为异步运行。您可以添加回传函数,在异步流程完成时处理信息。 - - - - + ```swift Adjust.adid { adid in @@ -1322,8 +1142,7 @@ Adjust.adid { adid in }; ``` - - + ```swift Adjust.idfa { idfa in @@ -1331,8 +1150,7 @@ Adjust.idfa { idfa in }; ``` - - + ```swift Adjust.idfv { idfv in @@ -1340,8 +1158,7 @@ Adjust.idfv { idfv in }; ``` - - + ```swift Adjust.sdkVersion { sdkVersion in @@ -1349,8 +1166,7 @@ Adjust.sdkVersion { sdkVersion in }; ``` - - + ```swift Adjust.isEnabled { isEnabled in @@ -1358,8 +1174,7 @@ Adjust.isEnabled { isEnabled in }; ``` - - + ```swift Adjust.attribution { attribution in @@ -1367,10 +1182,7 @@ Adjust.attribution { attribution in } ``` - - - - + ```objc [Adjust adidWithCompletionHandler:^(NSString * _Nullable adid) { @@ -1378,8 +1190,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust idfaWithCompletionHandler:^(NSString * _Nullable idfa) { @@ -1387,8 +1198,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust idfvWithCompletionHandler:^(NSString * _Nullable idfv) { @@ -1396,8 +1206,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust sdkVersionWithCompletionHandler:^(NSString * _Nullable sdkVersion) { @@ -1405,8 +1214,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust isEnabledWithCompletionHandler:^(BOOL isEnabled) { @@ -1414,8 +1222,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust attributionWithCompletionHandler:^(ADJAttribution * _Nullable attribution) { @@ -1423,179 +1230,148 @@ Adjust.attribution { attribution in } ``` - - - + -## 移除 API {#removed-apis} +移除 API \{\#removed\-apis\} +------------------------------ -{" "} + SDK v5 中移除了下列 API。 -### 事件缓冲 {#event-buffering} +### 事件缓冲 \{\#event\-buffering\} SDK v4 支持事件缓冲。该功能可将请求事件、广告收入、推送标签 \(Push token\) 和其他信息存储在本地缓冲区中以便在之后发送。 - - - + ```swift Adjust.setEventBufferingEnabled(true) ``` - - + ```objc [adjustConfig setEventBufferingEnabled:YES]; ``` - - + SDK v5 中已删除该设置。 -### 自定义用户代理字符串 {#custom-user-agent} +### 自定义用户代理字符串 \{\#custom\-user\-agent\} SDK v4 支持使用用户代理字符串调用 `[AdjustConfig setUserAgent]` 来设置自定义用户代理。 - - - + ```swift adjustConfig.setUserAgent("user_agent_value") ``` - - + ```objc [adjustConfig setUserAgent:@"user_agent_value"]; ``` - - + SDK v5 中已删除该设置。 -### 设置设备是否已知 {#set-device-known} +### 设置设备是否已知 \{\#set\-device\-known\} 在 SDK v4 中,您可以调用`[AdjustConfig setIsDeviceKnown];`方法,手动告知 SDK 设备是否为已知设备。 - - - + ```swift adjustConfig.setIsDeviceKnown(true) ``` - - + ```objc [adjustConfig setIsDeviceKnown:YES]; ``` - - + SDK v5 中已删除该设置。 -### 延迟 SDK 启动 {#delay-sdk-start} +### 延迟 SDK 启动 \{\#delay\-sdk\-start\} SDK v4 支持通过调用`[AdjustConfig setDelayStart];`来延迟 SDK 的启动,最多延迟 **10 秒** 。 - - - + ```swift adjustConfig.setDelayStart(10) ``` - - + ```objc [adjustConfig setDelayStart:10]; ``` - - + SDK v5 中已删除该设置。 -### 全局禁用第三方分享 {#disable-sharing-globally} +### 全局禁用第三方分享 \{\#disable\-sharing\-globally\} 在 SDK v4 中,您可以调用`Adjust.disableThirdPartySharing()`方法来全面禁用第三方信息分享。 - - - + ```swift Adjust.disableThirdPartySharing() ``` - - + ```objc [Adjust disableThirdPartySharing]; ``` - - + SDK v5 中已删除该功能。在 SDK v5 中,使用`[Adjust trackThirdPartySharing]`方法来启用或禁用第三方共享。 - - - + ```swift guard let adjustThirdPartySharing = ADJThirdPartySharing(isEnabled: 0) else { return } Adjust.trackThirdPartySharing(adjustThirdPartySharing) ``` - - + ```objc ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabled:@NO]; [Adjust trackThirdPartySharing:adjustThirdPartySharing]; ``` - - + -### 查看授权状态变化 {#check-att-status-change} +### 查看授权状态变化 \{\#check\-att\-status\-change\} 在 SDK v4 中,您可以使用`[Adjust checkForNewAttStatus]`方法提示 SDK 读取用户的 ATT 状态并将信息转发至 Adjust 服务器。 - - - + ```swift Adjust.checkForNewAttStatus() ``` - - + ```objc [Adjust checkForNewAttStatus]; ``` - - + 该方法在 SDK v5 中已被移除。 -### 监听转化值更新 {#listen-for-cv-updates} +### 监听转化值更新 \{\#listen\-for\-cv\-updates\} 在 SDK v4 中,您可以使用`adjustConversionValueUpdated`方法来监听 SKAdNetwork 更新。 - - - + ```swift func adjustConversionValueUpdated(_ conversionValue: NSNumber) { @@ -1611,8 +1387,7 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - - + ```objc - (void)adjustConversionValueUpdated:(NSNumber *)conversionValue { @@ -1630,18 +1405,16 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - - + 在 SDK v5 中,这两种方法已被单个`adjustSkanUpdatedWithConversionData`方法所取代,该方法会返回无类型字典。当前支持下列键: -- `conversion_value`: 更新后的转化值 -- `coarse_value`: 更新后的[粗粒度转化值](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -- `lock_window`: 是否在转化窗口结束前发送回调 -- `error`: 更新返回的错误信息。 +* `conversion_value`: 更新后的转化值 +* `coarse_value`: 更新后的[粗粒度转化值](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +* `lock_window`: 是否在转化窗口结束前发送回调 +* `error`: 更新返回的错误信息。 - - + ```swift func adjustSkanUpdated(withConversionData data: [String: String]) { @@ -1650,8 +1423,7 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - - + ```objc - (void)adjustSkanUpdatedWithConversionData:(NSDictionary *)data { @@ -1660,38 +1432,35 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - - + -### 设置应用密钥 {#set-an-app-secret} +### 设置应用密钥 \{\#set\-an\-app\-secret\} SDK v4 支持通过在`ADJConfig`实例上调用`setAppSecret`方法来设置应用密钥,以此对 SDK 流量进行签名。 - - - + ```swift adjustConfig.setAppSecret(secretId, info1: info1, info2: info2, info3: info3, info4: info4) ``` - - + ```objc [adjustConfig setAppSecret:secretId info1:info1 info2:info2 info3:info3 info4:info4]; ``` - - + SDK v5 中已删除该设置。 -## 移除插件 {#removed-plugins} +移除插件 \{\#removed\-plugins\} +------------------------------- -{" "} + SDK v5 中移除了下列插件: -- Criteo -- Trademob -- Sociomantic +* Criteo +* Trademob +* Sociomantic + From 47d748a6da41bdf43ad5366252817fc61c8c2bf9 Mon Sep 17 00:00:00 2001 From: "smartling-github-connector[bot]" <165276057+smartling-github-connector[bot]@users.noreply.github.com> Date: Fri, 7 Feb 2025 13:41:30 +0000 Subject: [PATCH 3/4] File src/content/docs/en/sdk/migration/ios/v4-to-v5.mdx was updated on ko-KR locale --- .../docs/ko/sdk/migration/ios/v4-to-v5.mdx | 771 ++++++------------ 1 file changed, 270 insertions(+), 501 deletions(-) diff --git a/src/content/docs/ko/sdk/migration/ios/v4-to-v5.mdx b/src/content/docs/ko/sdk/migration/ios/v4-to-v5.mdx index 84a2aebe5..6cacc885b 100644 --- a/src/content/docs/ko/sdk/migration/ios/v4-to-v5.mdx +++ b/src/content/docs/ko/sdk/migration/ios/v4-to-v5.mdx @@ -1,20 +1,21 @@ --- -title: SDK v5 마이그레이션 가이드 -description: 이 가이드에 따라 SDK v4에서 SDK v5로 업그레이드하시기 바랍니다. -slug: ko/sdk/migration/ios/v4-to-v5 +title: "SDK v5 마이그레이션 가이드" +description: "이 가이드에 따라 SDK v4에서 SDK v5로 업그레이드하시기 바랍니다." +slug: "en/sdk/migration/ios/v4-to-v5" sidebar-position: 1 --- - -## 시작에 앞서 {#before-you-begin} +시작에 앞서 \{\#before\-you\-begin\} +------------------------------------ SDK v5로 업데이트하기 전에 다음을 수행하시기 바랍니다. -1. SDK v5는 [SDK Signature 인증](https://help.adjust.com/ko/article/sdk-signature)을 기본적으로 지원합니다. 현재 SDK 서명 라이브러리를 사용하는 경우 먼저 이것을 삭제해야 합니다. -2. 앱이 다음보다 낮은 버전의 API를 대상으로 하는 경우 SDK v5를 사용하려면 앱을 업데이트해야 합니다. - - iOS: **12\.0** - - tvOS: **12\.0** +1. SDK v5는 [SDK Signature 인증](https://help.adjust.com/en/article/sdk-signature)을 기본적으로 지원합니다. 현재 SDK 서명 라이브러리를 사용하는 경우 먼저 이것을 삭제해야 합니다. +2. 앱이 다음보다 낮은 버전의 API를 대상으로 하는 경우 SDK v5를 사용하려면 앱을 업데이트해야 합니다. + * iOS: **12\.0** + * tvOS: **12\.0** -## 베타 SDK 설치 {#install-the-sdk} +베타 SDK 설치 \{\#install\-the\-sdk\} +-------------------------------------- SDK v5를 사용하려면 XCode 프로젝트에서 디펜던시로 추가해야 합니다. 이를 위해 다음을 수행하시기 바랍니다. @@ -22,24 +23,22 @@ SDK v5를 사용하려면 XCode 프로젝트에서 디펜던시로 추가해야 2. `Podfile`에 다음 줄을 추가합니다. - + ```rb pod 'Adjust', '~> $IOS_V5_VERSION' ``` - - + 3. `pod install`을 실행하여 디펜던시를 설치합니다. -## {#init-method} 초기화 메서드 업데이트 +\{\#init\-method\} 초기화 메서드 업데이트 +----------------------------------- -{" "} + SDK v4에서는 `ADJConfig` 객체를 구성하고 이를 `[Adjust appDidLaunch]` 메서드에 전달하는 방식으로 SDK를 초기화합니다. - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -51,8 +50,7 @@ let adjustConfig = ADJConfig( Adjust.appDidLaunch(adjustConfig) ``` - - + ```objc #import "Adjust.h" @@ -65,13 +63,10 @@ NSString *environment = ADJEnvironmentSandbox; [Adjust appDidLaunch:adjustConfig]; ``` - - + SDK v5에서는 이 메서드의 이름이 `[Adjust initSdk]`로 변경되었습니다. - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -83,8 +78,7 @@ let adjustConfig = ADJConfig( Adjust.initSdk(adjustConfig) ``` - - + ```objc #import "Adjust.h" @@ -97,364 +91,301 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:yourAppToken [Adjust initSdk:adjustConfig]; ``` - - + -### SDK Signature 라이브러리 {#signature-setup}를 구성합니다. +### SDK Signature 라이브러리 \{\#signature\-setup\}를 구성합니다. -SDK v5는 [SDK Signature 라이브러리](https://help.adjust.com/ko/article/sdk-signature)를 포함합니다. 이를 테스트하려면 [Signature 라이브러리 연동 가이드](/ko/sdk/ios/integrations/signature-library) 에 나온 테스트 단계를 수행하시기 바랍니다. +SDK v5는 [SDK Signature 라이브러리](https://help.adjust.com/en/article/sdk-signature)를 포함합니다. 이를 테스트하려면 [Signature 라이브러리 연동 가이드](/en/sdk/ios/integrations/signature-library) 에 나온 테스트 단계를 수행하시기 바랍니다. -서명 보호는 기본 설정에 따라 비활성화되어 있습니다. 이를 활성화하려면 [서명 검증을 시행](https://help.adjust.com/ko/article/sdk-signature#enforce-signature-validation) 해야 합니다. +서명 보호는 기본 설정에 따라 비활성화되어 있습니다. 이를 활성화하려면 [서명 검증을 시행](https://help.adjust.com/en/article/sdk-signature#enforce-signature-validation) 해야 합니다. -## 변경된 API {#changed-apis} +변경된 API \{\#changed\-apis\} +------------------------------- -{" "} + 다음 API가 SDK v5에서 변경되었습니다. -### SDK 비활성화 및 활성화 {#disable-enable-sdk} +### SDK 비활성화 및 활성화 \{\#disable\-enable\-sdk\} SDK v4에서는 `BOOL` 값과 함께 `[Adjust setEnabled]`를 호출하여 SDK를 활성화 및 비활성화할 수 있습니다. -- SDK를 비활성화하려면 `[Adjust setEnabled:NO]`를 호출합니다. -- SDK를 활성화하려면 `[Adjust setEnabled:YES]`를 호출합니다. +* SDK를 비활성화하려면 `[Adjust setEnabled:NO]`를 호출합니다. +* SDK를 활성화하려면 `[Adjust setEnabled:YES]`를 호출합니다. - - + ```swift Adjust.setEnabled(false) //disable SDK Adjust.setEnabled(true) //enable SDK ``` - - + ```objc [Adjust setEnabled:NO]; // disable SDK [Adjust setEnabled:YES]; // enable SDK ``` - - + SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다. -- SDK를 비활성화하려면 `[Adjust disable]`를 호출합니다. -- SDK를 활성화하려면 `[Adjust enable]`를 호출합니다. +* SDK를 비활성화하려면 `[Adjust disable]`를 호출합니다. +* SDK를 활성화하려면 `[Adjust enable]`를 호출합니다. - - + ```swift Adjust.disable() //disable SDK Adjust.enable() //enable SDK ``` - - + ```objc [Adjust disable]; // disable SDK [Adjust enable]; // enable SDK ``` - - + -### 백그라운드에서 정보 전송 {#send-in-background} +### 백그라운드에서 정보 전송 \{\#send\-in\-background\} SDK v4에서는 `true` 인수와 함께 `[ADJConfig setSendInBackground]` 메서드를 호출하여 앱이 백그라운드에서 실행 중일 때 SDK가 Adjust에 정보를 전달하도록 설정할 수 있습니다. - - - + ```swift adjustConfig.setSendInBackground(true) ``` - - + ```objc [adjustConfig setSendInBackground:YES]; ``` - - + SDK v5에서는 앱이 백그라운드에서 실행 중일 때 SDK가 Adjust에 정보를 전송할 수 있게 하려면 인수 없이 `[ADJConfig enableSendingInBackground]` 메서드를 호출해야 합니다. - - - + ```swift adjustConfig.enableSendingInBackground() ``` - - + ```objc [adjustConfig enableSendingInBackground]; ``` - - + -### AdServices 정보 읽기 비활성화 {#disable-adservices} +### AdServices 정보 읽기 비활성화 \{\#disable\-adservices\} SDK v4에서는 `false` 인수와 함께 `[ADJConfig setAllowAdServicesInfoReading]` 메서드를 호출하여 Adjust SDK가 AdServices 정보를 읽는 것을 방지할 수 있습니다. - - - + ```swift adjustConfig.setAllowAdServicesInfoReading(false) ``` - - + ```objc [adjustConfig setAllowAdServicesInfoReading:NO]; ``` - - + SDK v5에서는 Adjust SDK가 AdServices 정보를 읽는 것을 방지하려면 인수 없이 `disableAdServices` 메서드를 호출해야 합니다. - - - + ```swift adjustConfig.disableAdServices() ``` - - + ```objc [adjustConfig disableAdServices]; ``` - - + -### IDFA 읽기 비활성화 {#disable-idfa} +### IDFA 읽기 비활성화 \{\#disable\-idfa\} SDK v4에서는 `false` 인수와 함께 `[ADJConfig setAllowIdfaReading]` 메서드를 호출하여 Adjust SDK가 기기의 IDFA를 읽는 것을 방지할 수 있습니다. - - - + ```swift adjustConfig.setAllowIdfaReading(false) ``` - - + ```objc [adjustConfig setAllowIdfaReading:NO]; ``` - - + SDK v5에서는 Adjust SDK가 기기의 IDFA를 읽는 것을 방지하려면 인수 없이 `disableIdfaReading` 메서드를 호출해야 합니다. - - - + ```swift adjustConfig.disableIdfaReading() ``` - - + ```objc [adjustConfig disableIdfaReading]; ``` - - + -### 어트리뷰션에서 비용 데이터 활성화 {#enable-cost-data} +### 어트리뷰션에서 비용 데이터 활성화 \{\#enable\-cost\-data\} SDK v4에서는 `true` 인수와 함께 `[ADJConfig setNeedsCost]` 메서드를 호출하여 기기의 어트리뷰션 정보에서 비용 데이터를 활성화할 수 있습니다. - - - + ```swift adjustConfig.setNeedsCost(true) ``` - - + ```objc [adjustConfig setNeedsCost:YES]; ``` - - + SDK v5에서는 인수 없이 `[ADJConfig enableCostDataInAttribution]` 메서드를 호출해야 합니다. - - - + ```swift adjustConfig.enableCostDataInAttribution() ``` - - + ```objc [adjustConfig enableCostDataInAttribution]; ``` - - - -#### LinkMe 활성화 {#enable-linkme} + -SDK v4에서는 `true` 인수와 함께 `[ADJConfig setLinkMeEnabled]` 메서드를 호출하여 [Adjust LinkMe](https://help.adjust.com/ko/article/linkme)를 활성화할 수 있습니다. +#### LinkMe 활성화 \{\#enable\-linkme\} - - +SDK v4에서는 `true` 인수와 함께 `[ADJConfig setLinkMeEnabled]` 메서드를 호출하여 [Adjust LinkMe](https://help.adjust.com/en/article/linkme)를 활성화할 수 있습니다. + ```swift adjustConfig.setLinkMeEnabled(true) ``` - - + ```objc [adjustConfig setLinkMeEnabled:YES]; ``` - - + SDK v5에서는 인수 없이 `[ADJConfig enableLinkMe]` 메서드를 호출해야 합니다. - - - + ```swift adjustConfig.enableLinkMe() ``` - - + ```objc [adjustConfig enableLinkMe]; ``` - - + -### 기기 ID를 한 번만 읽기 {#read-device-id-once} +### 기기 ID를 한 번만 읽기 \{\#read\-device\-id\-once\} SDK v4에서는 `true` 인수와 함께 `[ADJConfig setReadDeviceInfoOnceEnabled]` 메서드를 호출하여 SDK가 기기 식별자를 앱 시작 시 한 번만 읽도록 설정할 수 있습니다. - - - + ```swift adjustConfig.setReadDeviceInfoOnceEnabled(true) ``` - - + ```objc [adjustConfig setReadDeviceInfoOnceEnabled:YES]; ``` - - + SDK v5에서는 인수 없이 `[ADJConfig enableDeviceIdsReadingOnce]` 메서드를 호출해야 합니다. - - - + ```swift adjustConfig.enableDeviceIdsReadingOnce() ``` - - + ```objc [adjustConfig enableDeviceIdsReadingOnce]; ``` - - + -### 오프라인 모드 {#offline-mode} +### 오프라인 모드 \{\#offline\-mode\} SDK v4에서는 `BOOL` 인수와 함께 `[Adjust setOfflineMode]`를 호출하여 SDK의 오프라인 모드를 활성화 및 비활성화할 수 있습니다. - - - + ```swift Adjust.setOfflineMode(true) // put the SDK in offline mode Adjust.setOfflineMode(false) // put the SDK back in online mode ``` - - + ```objc [Adjust setOfflineMode:YES]; // put the SDK in offline mode [Adjust setOfflineMode:NO]; // put the SDK back in online mode ``` - - + SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다. -- SDK를 오프라인 모드로 설정하려면 `[Adjust switchToOfflineMode]`를 호출합니다. -- SDK를 온라인 모드로 전환하려면`[Adjust switchBackToOnlineMode]`를 호출합니다. +* SDK를 오프라인 모드로 설정하려면 `[Adjust switchToOfflineMode]`를 호출합니다. +* SDK를 온라인 모드로 전환하려면`[Adjust switchBackToOnlineMode]`를 호출합니다. - - + ```swift Adjust.switchToOfflineMode() // put the SDK in offline mode Adjust.switchBackToOnlineMode() // put the SDK back in online mode ``` - - + ```objc [Adjust switchToOfflineMode]; // put the SDK in offline mode [Adjust switchBackToOnlineMode]; // put the SDK back in online mode ``` - - + -### 푸시 토큰 {#push-tokens} +### 푸시 토큰 \{\#push\-tokens\} SDK v4에서는 `[Adjust setDeviceToken]` 메서드를 사용하여 푸시 토큰을 설정할 수 있습니다. - - - + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { @@ -462,8 +393,7 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { @@ -471,13 +401,10 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - + 이 메서드는 SDK v5에서 이름이 `[Adjust setPushToken]`으로 변경되었습니다. - - - + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken pushToken: Data) { @@ -485,8 +412,7 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pushToken { @@ -494,20 +420,15 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - - - + SDK v4에는 `NSString` 값을 사용하는 `setPushToken`이라는 이름의 메서드가 포함되어 있습니다. SDK v5에서 `setPushToken` 메서드는 `NSData` 값을 허용합니다. + - - -### 세션 콜백 파라미터 {#callback-params} +### 세션 콜백 파라미터 \{\#callback\-params\} SDK v4에서는 키\-값 쌍을 `[Adjust addSessionCallbackParameter]` 메서드에 전달하여 세션 파라미터를 추가하고, `[Adjust removeSessionCallbackParameter]` 메서드를 사용하여 개별 파라미터를 제거할 수 있습니다. - - - + ```swift Adjust.addSessionCallbackParameter("foo", value: "bar") @@ -515,8 +436,7 @@ Adjust.removeSessionCallbackParameter("foo") Adjust.resetSessionCallbackParameters() ``` - - + ```objc [Adjust addSessionCallbackParameter:@"foo" value:@"bar"]; @@ -524,13 +444,10 @@ Adjust.resetSessionCallbackParameters() [Adjust resetSessionCallbackParameters]; ``` - - + SDK v5에서는 세션 파라미터가 글로벌 파라미터로 이름이 변경되었습니다. 키와 값을 위치 인수로 할당하는 대신 SDK v5는 `forKey` 인스턴스 메서드를 사용하여 값을 키에 할당합니다. - - - + ```swift Adjust.addGlobalCallbackParameter("bar", forKey: "foo") @@ -538,8 +455,7 @@ Adjust.removeGlobalCallbackParameter(forKey: "foo") Adjust.removeGlobalCallbackParameters() ``` - - + ```objc [Adjust addGlobalCallbackParameter:@"bar" forKey:@"foo"]; @@ -547,15 +463,12 @@ Adjust.removeGlobalCallbackParameters() [Adjust removeGlobalCallbackParameters]; ``` - - + -### 세션 파트너 파라미터 {#partner-params} +### 세션 파트너 파라미터 \{\#partner\-params\} SDK v4에서는 키\-값 쌍을 `[Adjust addSessionPartnerParameter]` 메서드에 전달하여 파트너 파라미터를 추가하고, `[Adjust removeSessionPartnerParameter]` 메서드를 사용하여 개별 파라미터를 제거할 수 있습니다. - - - + ```swift Adjust.addSessionPartnerParameter("foo", value: "bar") @@ -563,8 +476,7 @@ Adjust.removeSessionPartnerParameter("foo") Adjust.resetSessionPartnerParameters() ``` - - + ```objc [Adjust addSessionPartnerParameter:@"foo" value:@"bar"]; @@ -572,13 +484,10 @@ Adjust.resetSessionPartnerParameters() [Adjust resetSessionPartnerParameters]; ``` - - + SDK v5에서는 세션 파트너 파라미터가 글로벌 파트너 파라미터로 이름이 변경되었습니다. 키와 값을 위치 인수로 할당하는 대신 SDK v5는 `forKey` 인스턴스 메서드를 사용하여 값을 키에 할당합니다. - - - + ```swift Adjust.addGlobalPartnerParameter("bar", forKey: "foo") @@ -586,8 +495,7 @@ Adjust.removeGlobalPartnerParameter(forKey: "foo") Adjust.removeGlobalPartnerParameters() ``` - - + ```objc [Adjust addGlobalPartnerParameter:@"bar" forKey:@"foo"]; @@ -595,15 +503,12 @@ Adjust.removeGlobalPartnerParameters() [Adjust removeGlobalPartnerParameters]; ``` - - + -### 구독 정보 전송 {#send-subscriptions} +### 구독 정보 전송 \{\#send\-subscriptions\} SDK v4에서는 `ADJSubscription` 클래스를 사용하여 Adjust에 전송할 구독 정보의 페이로드를 생성할 수 있습니다. - - - + ```swift let subscription = ADJSubscription( @@ -613,8 +518,7 @@ let subscription = ADJSubscription( andReceipt: receipt) ``` - - + ```objc ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price @@ -622,13 +526,10 @@ ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price transactionId:transactionId]; ``` - - + 이 클래스는 명확성을 위해 SDK v5에서 이름이 `ADJAppStoreSubscription`으로 변경되었습니다. - - - + ```swift let subscription = ADJAppStoreSubscription( @@ -637,8 +538,7 @@ let subscription = ADJAppStoreSubscription( transactionId: transactionId) ``` - - + ```objc ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] @@ -647,15 +547,12 @@ ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] transactionId:transactionId]; ``` - - + -### 이벤트 중복 제거 {#event-deduplication} +### 이벤트 중복 제거 \{\#event\-deduplication\} SDK v4에서는 이벤트 중복 제거가 이벤트 `transaction ID`와 결합되어 있으며 최대 10개의 고유 ID로 제한됩니다. - - - + ```swift let event = ADJEvent(eventToken: "eventToken") @@ -663,8 +560,7 @@ event.setTransactionId("deduplication_id") Adjust.trackEvent(event) ``` - - + ```objc ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; @@ -672,13 +568,10 @@ ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; [Adjust trackEvent:event]; ``` - - + -SDK v5에서는 이 기능이 `transaction ID`와 분리되었습니다. 이벤트 중복 제거를 위해 `deduplicationId`라는 새로운 ID 필드가 추가되었습니다. 사용자는 중복 이벤트를 식별하기 위해 목록에 추가할 수 있는 `deduplicationId` 수의 사용자 지정 한도를 설정할 수 있습니다. 기본 설정된 값은 **10** 입니다. - - - +SDK v5에서는 이 기능이 `transaction ID`와 분리되었습니다. 이벤트 중복 제거를 위해 `deduplicationId`라는 새로운 ID 필드가 추가되었습니다. 사용자는 중복 이벤트를 식별하기 위해 목록에 추가할 수 있는 `deduplicationId` 수의 사용자 지정 한도를 설정할 수 있습니다. 기본 설정된 값은 **10** 입니다. + ```swift let yourAppToken = "{YourAppToken}" @@ -695,8 +588,7 @@ event.setDeduplicationId("deduplication_id") Adjust.trackEvent(event) ``` - - + ```objc NSString *yourAppToken = @"{YourAppToken}"; @@ -712,19 +604,16 @@ ADJEvent *event = [[ADJEvent alloc] initWithEventToken:kEventToken3]; [Adjust trackEvent:event]; ``` - - + -### AdjustAttribution 클래스 {#attribution-class} +### AdjustAttribution 클래스 \{\#attribution\-class\} -SDK v4에서는 `AdjustAttribution` 호출에 `adid`라는 속성이 있습니다. SDK v5에서는 `adid` 속성이 `AdjustAttribution` 클래스에서 제거되었습니다. [`[Adjust adidWithCompletionHandler]` 게터 메서드](#device-id-getters)를 사용하여 기기의 ADID를 조회할 수 있습니다. +SDK v4에서는 `AdjustAttribution` 호출에 `adid`라는 속성이 있습니다. SDK v5에서는 `adid` 속성이 `AdjustAttribution` 클래스에서 제거되었습니다. [`[Adjust adidWithCompletionHandler]` 게터 메서드](#device-info)를 사용하여 기기의 ADID를 조회할 수 있습니다. -### 딥링크를 사용한 리어트리뷰션 {#reattribution-using-deep-links} +### 딥링크를 사용한 리어트리뷰션 \{\#reattribution\-using\-deep\-links\} SDK v4에서는 딥링크 정보를 `[Adjust appWillOpenUrl]` 메서드에 전달할 수 있습니다. - - - + ```swift func application( @@ -744,8 +633,7 @@ func application( } ``` - - + ```objc - (BOOL)application:(UIApplication *)app @@ -763,13 +651,10 @@ func application( } ``` - - + SDK v5에서는 명확성을 위해 이름이 `[Adjust processDeeplink]`로 변경되었습니다. - - - + ```swift func application( @@ -790,8 +675,7 @@ func application( } ``` - - + ```objc - (BOOL)application:(UIApplication *)app @@ -809,15 +693,12 @@ func application( } ``` - - + -### 디퍼드 딥링크 콜백 {#deferred-callback} +### 디퍼드 딥링크 콜백 \{\#deferred\-callback\} SDK v4에서는 `adjustDeepLinkResponse` 메서드를 호출하여 디퍼드 딥링크 콜백을 처리할 수 있습니다. - - - + ```swift func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { @@ -830,8 +711,7 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - - + ```objc - (BOOL)adjustDeeplinkResponse:(NSURL *)deeplink { @@ -844,13 +724,10 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - - + SDK v5에서는 명확성을 위해 이 메서드의 이름이 `adjustDeferredDeeplinkReceived`로 변경되었습니다. 모든 인수는 동일합니다. - - - + ```swift func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { @@ -863,8 +740,7 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - - + ```objc - (BOOL)adjustDeferredDeeplinkReceived:(NSURL *)deeplink { @@ -877,66 +753,51 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - - + -### COPPA 준수 {#coppa-compliance} +### COPPA 준수 \{\#coppa\-compliance\} SDK v4에서는 부울 값과 함께 `ADJConfig` 인스턴스의 `setCoppaCompliantEnabled` 메서드를 호출하여 앱이 COPPA를 준수하는 것으로 표시할 수 있습니다. - - - + ```swift adjustConfig.setCoppaCompliantEnabled(true) ``` - - + ```objc [adjustConfig setCoppaCompliantEnabled:YES]; ``` - - + SDK v5에서는 명확성을 위해 이 메서드의 이름이 `enableCoppaCompliance`로 변경되었습니다. 이 메서드는 인수를 사용하지 않습니다. - - - + ```swift adjustConfig?.enableCoppaCompliance() ``` - - + ```objc [adjustConfig enableCoppaCompliance]; ``` - - + -### 특정 소스로부터 광고 매출 전송 {#send-ad-revenue} +### 특정 소스로부터 광고 매출 전송 \{\#send\-ad\-revenue\} SDK v4에서는 광고 매출 소스가 `ADJConfig` 클래스의 상수로 정의됩니다. SDK v5에서는 광고 매출 소스를 문자열로 전달해야 합니다. - - - - + ```swift - let adRevenue = ADJAdRevenue(source: ADJAdRevenueSourceAppLovinMAX); //v4 + let adRevenue = ADJAdRevenue(source: "applovin_max_sdk") //v5 ``` - - - - + ```objc - ADJAdRevenue *revenue = [[ADJAdRevenue alloc] @@ -945,12 +806,10 @@ SDK v4에서는 광고 매출 소스가 `ADJConfig` 클래스의 상수로 정 + initWithSource:@"applovin_max_sdk"]; // v5 ``` - - - + -| v4 | v5 | -| ------------------------------------ | ------------------------- | +| v4 | v5 | +|--------------------------------------|---------------------------| | `ADJAdRevenueSourceAppLovinMAX` | `"applovin_max_sdk"` | | `ADJAdRevenueSourceAdMob` | `"admob_sdk"` | | `ADJAdRevenueSourceIronSource` | `"ironsource_sdk"` | @@ -963,7 +822,7 @@ SDK v4에서는 광고 매출 소스가 `ADJConfig` 클래스의 상수로 정 | `ADJAdRevenueSourceTopOn` | `"topon_sdk"` | | `ADJAdRevenueSourceMopub` | `"mopub"` | -### 데이터 레지던시 및 URL 전략 설정 {#url-strategy} +### 데이터 레지던시 및 URL 전략 설정 \{\#url\-strategy\} SDK v4에서는 URL 전략 및 데이터 레지던시 도메인이 `ADJConfig` 클래스의 상수로 정의됩니다. @@ -973,8 +832,8 @@ SDK v4에서는 URL 전략 및 데이터 레지던시 도메인이 `ADJConfig` SDK v5에서는 선택한 도메인을 배열로 전달해야 합니다. 또한 다음 항목을 설정할 수 있습니다. -- `useSubdomains` \(`BOOL`\): 도메인을 Adjust 도메인으로 취급할지 여부. `true`인 경우, SDK는 도메인의 접두사로 Adjust에 특화된 하위 도메인을 사용합니다. `false`인 경우 SDK는 접두사를 추가하지 않고 제공된 도메인을 그대로 사용합니다. -- `isDataResidency` \(`BOOL`\): 도메인을 데이터 레지던시에 사용해야 하는지 여부. +* `useSubdomains` \(`BOOL`\): 도메인을 Adjust 도메인으로 취급할지 여부. `true`인 경우, SDK는 도메인의 접두사로 Adjust에 특화된 하위 도메인을 사용합니다. `false`인 경우 SDK는 접두사를 추가하지 않고 제공된 도메인을 그대로 사용합니다. +* `isDataResidency` \(`BOOL`\): 도메인을 데이터 레지던시에 사용해야 하는지 여부. ```objc NSArray *domain = []; @@ -984,71 +843,61 @@ NSArray *domain = []; 아래 표를 보고 SDK v5에서 URL 전략을 구성하는 방법을 확인하시기 바랍니다. -| v4 | v5 \- 메인 및 폴백 도메인 | v5 \- 하위 도메인 사용 | v5 \- 데이터 레지던시 여부 | -| ---------------------- | --------------------------------- | ---------------------- | -------------------------- | -| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | -| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | -| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | -| `ADJUrlStrategyChina` | `"adjust.world"`, `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCn` | `"adjust.cn"`, `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | -| `ADJUrlStrategyIndia` | `"adjust.net.in"`, `"adjust.com"` | `true` | `false` | +| v4 | v5 \- 메인 및 폴백 도메인 | v5 \- 하위 도메인 사용 | v5 \- 데이터 레지던시 여부 | +|------------------------|-----------------------------------|------------------|--------------------| +| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | +| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | +| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | +| `ADJUrlStrategyChina` | `"adjust.world"`, `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCn` | `"adjust.cn"`, `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | +| `ADJUrlStrategyIndia` | `"adjust.net.in"`, `"adjust.com"` | `true` | `false` | -#### 예 {#examples} +#### 예 \{\#examples\} - - - + ```swift let domain = ["adjust.net.in", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - - + ```swift let domain = ["adjust.world", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - - + ```swift let domain = ["adjust.cn"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - - + ```swift let domain = ["eu.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - - + ```swift let domain = ["tr.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - - + ```swift let domain = ["us.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - - - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1056,8 +905,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1065,8 +913,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1074,8 +921,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1083,8 +929,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1092,8 +937,7 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - - + ```objc NSArray *domain = [[NSArray alloc] @@ -1101,16 +945,12 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - - - + -### SKAdNetwork 커뮤니케이션 비활성화 {#disable-skan} +### SKAdNetwork 커뮤니케이션 비활성화 \{\#disable\-skan\} SDK v4에서는 `[ADJConfig deactivateSKAdNetworkHandling]` 메서드를 호출하여 SDK가 SKAdNetwork와 통신하는 것을 방지할 수 있습니다. - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -1122,8 +962,7 @@ let adjustConfig = ADJConfig( adjustConfig.deactivateSKAdNetworkHandling() ``` - - + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -1133,13 +972,10 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig deactivateSKAdNetworkHandling]; ``` - - + SDK v5에서는 명확성을 위해 이 메서드의 이름이 `[ADJConfig disableSkanAttribution]`로 변경되었습니다. - - - + ```swift let yourAppToken = "{YourAppToken}" @@ -1151,8 +987,7 @@ let adjustConfig = ADJConfig( adjustConfig?.disableSkanAttribution() ``` - - + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -1162,21 +997,19 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig disableSkanAttribution]; ``` - - + -### 전환값 업데이트 {#update-cvs} +### 전환값 업데이트 \{\#update\-cvs\} SDK v4에서는 `updateConversionValue` 메서드를 사용하여 Adjust에 업데이트된 전환값을 전송할 수 있습니다. 이 메서드는 Apple의 지원 종료된 [`updateConversionValue` 메서드](https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue)를 래핑하며 SDK v5에서는 제거되었습니다. SDK v5에서는 다음 인수와 함께 `[Adjust updateSkanConversionValue]` 메서드를 사용하여 전환값을 업데이트할 수 있습니다. -- `conversionValue` \(`NSInteger`\): 업데이트된 전환값 -- `coarseValue` \(`NSString`\): 업데이트된 [coarse 전환값](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -- `lockWindow` \(`BOOL`\): 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부 +* `conversionValue` \(`NSInteger`\): 업데이트된 전환값 +* `coarseValue` \(`NSString`\): 업데이트된 [coarse 전환값](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +* `lockWindow` \(`BOOL`\): 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부 - - + ```swift Adjust.updateSkanConversionValue( @@ -1189,8 +1022,7 @@ Adjust.updateSkanConversionValue( } ``` - - + ```objc [Adjust updateSkanConversionValue:1 @@ -1201,15 +1033,12 @@ Adjust.updateSkanConversionValue( }]; ``` - - + -### App Tracking Transparency\(ATT\) 승인 래퍼 {#att-wrapper} +### App Tracking Transparency\(ATT\) 승인 래퍼 \{\#att\-wrapper\} SDK v4에서는 `[Adjust requestTrackingAuthorizationWithCompletionHandler]` 메서드를 사용하여 사용자의 ATT 승인 상태 변경 사항을 처리할 수 있습니다. - - - + ```swift Adjust.requestTrackingAuthorization { status in @@ -1232,8 +1061,7 @@ Adjust.requestTrackingAuthorization { status in } ``` - - + ```objc [Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1254,13 +1082,10 @@ Adjust.requestTrackingAuthorization { status in }]; ``` - - + 명확성을 위해 SDK v5에서 이름이 `[Adjust requestAppTrackingAuthorizationWithCompletionHandler]`으로 변경되었습니다. - - - + ```swift Adjust.requestAppTrackingAuthorization { status in @@ -1283,8 +1108,7 @@ Adjust.requestAppTrackingAuthorization { status in } ``` - - + ```objc [Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1305,16 +1129,12 @@ Adjust.requestAppTrackingAuthorization { status in }]; ``` - - + -### 디바이스 정보 확인 {#device-info} +### 디바이스 정보 확인 \{\#device\-info\} SDK v4에서는 모든 기기 정보 게터 메서드가 동기적으로 실행됩니다. SDK v5에서는 이러한 메서드가 비동기적으로 실행되도록 변경되었습니다. 비동기 프로세스가 완료되면 콜백 기능을 추가하여 해당 정보를 처리할 수 있습니다. - - - - + ```swift Adjust.adid { adid in @@ -1322,8 +1142,7 @@ Adjust.adid { adid in }; ``` - - + ```swift Adjust.idfa { idfa in @@ -1331,8 +1150,7 @@ Adjust.idfa { idfa in }; ``` - - + ```swift Adjust.idfv { idfv in @@ -1340,8 +1158,7 @@ Adjust.idfv { idfv in }; ``` - - + ```swift Adjust.sdkVersion { sdkVersion in @@ -1349,8 +1166,7 @@ Adjust.sdkVersion { sdkVersion in }; ``` - - + ```swift Adjust.isEnabled { isEnabled in @@ -1358,8 +1174,7 @@ Adjust.isEnabled { isEnabled in }; ``` - - + ```swift Adjust.attribution { attribution in @@ -1367,10 +1182,7 @@ Adjust.attribution { attribution in } ``` - - - - + ```objc [Adjust adidWithCompletionHandler:^(NSString * _Nullable adid) { @@ -1378,8 +1190,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust idfaWithCompletionHandler:^(NSString * _Nullable idfa) { @@ -1387,8 +1198,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust idfvWithCompletionHandler:^(NSString * _Nullable idfv) { @@ -1396,8 +1206,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust sdkVersionWithCompletionHandler:^(NSString * _Nullable sdkVersion) { @@ -1405,8 +1214,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust isEnabledWithCompletionHandler:^(BOOL isEnabled) { @@ -1414,8 +1222,7 @@ Adjust.attribution { attribution in }]; ``` - - + ```objc [Adjust attributionWithCompletionHandler:^(ADJAttribution * _Nullable attribution) { @@ -1423,179 +1230,148 @@ Adjust.attribution { attribution in } ``` - - - + -## 삭제된 API {#removed-apis} +삭제된 API \{\#removed\-apis\} +------------------------------- -{" "} + 다음 API가 SDK v5에서 삭제되었습니다. -### 이벤트 버퍼링 {#event-buffering} +### 이벤트 버퍼링 \{\#event\-buffering\} SDK v4는 이벤트 버퍼링을 지원합니다. 이 기능은 요청 이벤트, 광고 매출, 푸시 토큰 및 기타 정보를 로컬 버퍼에 저장하여 나중에 전송할 수 있게 해줍니다. - - - + ```swift Adjust.setEventBufferingEnabled(true) ``` - - + ```objc [adjustConfig setEventBufferingEnabled:YES]; ``` - - + 이 설정은 SDK v5에서 제거되었습니다. -### 커스텀 사용자 에이전트 문자열 {#custom-user-agent} +### 커스텀 사용자 에이전트 문자열 \{\#custom\-user\-agent\} SDK v4는 사용자 에이전트 문자열과 함께 `[AdjustConfig setUserAgent]`를 호출하여 사용자 지정 사용자 에이전트를 설정하는 기능을 지원합니다. - - - + ```swift adjustConfig.setUserAgent("user_agent_value") ``` - - + ```objc [adjustConfig setUserAgent:@"user_agent_value"]; ``` - - + 이 설정은 SDK v5에서 제거되었습니다. -### 알려진 기기 여부 설정 {#set-device-known} +### 알려진 기기 여부 설정 \{\#set\-device\-known\} SDK v4에서는 `[AdjustConfig setIsDeviceKnown];` 메서드를 호출하여 알려진 기기인지 여부를 수동으로 SDK에 알릴 수 있습니다. - - - + ```swift adjustConfig.setIsDeviceKnown(true) ``` - - + ```objc [adjustConfig setIsDeviceKnown:YES]; ``` - - + 이 설정은 SDK v5에서 제거되었습니다. -### SDK 작동 시작 지연 {#delay-sdk-start} +### SDK 작동 시작 지연 \{\#delay\-sdk\-start\} SDK v4는 `[AdjustConfig setDelayStart];`를 호출하여 SDK 작동 시작을 최대 **10초** 간 지연하는 기능을 지원합니다. - - - + ```swift adjustConfig.setDelayStart(10) ``` - - + ```objc [adjustConfig setDelayStart:10]; ``` - - + 이 설정은 SDK v5에서 제거되었습니다. -### 글로벌 서드파티 공유 비활성화 {#disable-sharing-globally} +### 글로벌 서드파티 공유 비활성화 \{\#disable\-sharing\-globally\} SDK v4에서는 `Adjust.disableThirdPartySharing()` 메서드를 호출하여 전 세계에서 서드파티와의 정보 공유를 비활성화할 수 있습니다. - - - + ```swift Adjust.disableThirdPartySharing() ``` - - + ```objc [Adjust disableThirdPartySharing]; ``` - - + 이 기능은 SDK v5에서 제거되었습니다. SDK v5에서는 `[Adjust trackThirdPartySharing]` 메서드를 사용하여 서드파티 공유를 활성화 또는 비활성화합니다. - - - + ```swift guard let adjustThirdPartySharing = ADJThirdPartySharing(isEnabled: 0) else { return } Adjust.trackThirdPartySharing(adjustThirdPartySharing) ``` - - + ```objc ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabled:@NO]; [Adjust trackThirdPartySharing:adjustThirdPartySharing]; ``` - - + -### 승인 상태 변경 확인 {#check-att-status-change} +### 승인 상태 변경 확인 \{\#check\-att\-status\-change\} SDK v4에서는 `[Adjust checkForNewAttStatus]` 메서드를 사용하여 SDK가 사용자의 ATT 상태를 읽고 해당 정보를 Adjust 서버에 전달하도록 설정할 수 있습니다. - - - + ```swift Adjust.checkForNewAttStatus() ``` - - + ```objc [Adjust checkForNewAttStatus]; ``` - - + 이 메서드는 SDK v5에서 제거되었습니다. -### 전환값 업데이트 수신 {#listen-for-cv-updates} +### 전환값 업데이트 수신 \{\#listen\-for\-cv\-updates\} SDK v4에서는 `adjustConversionValueUpdated` 메서드를 사용하여 SKAdNetwork 업데이트를 수신할 수 있습니다. - - - + ```swift func adjustConversionValueUpdated(_ conversionValue: NSNumber) { @@ -1611,8 +1387,7 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - - + ```objc - (void)adjustConversionValueUpdated:(NSNumber *)conversionValue { @@ -1630,18 +1405,16 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - - + SDK v5에서는 이 두 메서드가 단일 `adjustSkanUpdatedWithConversionData` 메서드로 교체되었으며 이 메서드는 유형이 지정되지 않은 딕셔너리를 반환합니다. 현재 지원되는 키는 다음과 같습니다. -- `conversion_value`: 업데이트된 전환값 -- `coarse_value`: 업데이트된 [coarse 전환값](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -- `lock_window`: 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부 -- `error`: 업데이트로 반환된 모든 오류 메시지 +* `conversion_value`: 업데이트된 전환값 +* `coarse_value`: 업데이트된 [coarse 전환값](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +* `lock_window`: 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부 +* `error`: 업데이트로 반환된 모든 오류 메시지 - - + ```swift func adjustSkanUpdated(withConversionData data: [String: String]) { @@ -1650,8 +1423,7 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - - + ```objc - (void)adjustSkanUpdatedWithConversionData:(NSDictionary *)data { @@ -1660,38 +1432,35 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - - + -### 앱 시크릿 {#set-an-app-secret} 설정 +### 앱 시크릿 \{\#set\-an\-app\-secret\} 설정 SDK v4는 `ADJConfig` 인스턴스의 `setAppSecret` 메서드를 호출하여 SDK 트래픽을 서명하는 데 사용할 앱 시크릿을 설정하는 기능을 지원합니다. - - - + ```swift adjustConfig.setAppSecret(secretId, info1: info1, info2: info2, info3: info3, info4: info4) ``` - - + ```objc [adjustConfig setAppSecret:secretId info1:info1 info2:info2 info3:info3 info4:info4]; ``` - - + 이 설정은 SDK v5에서 제거되었습니다. -## 제거된 플러그인 {#removed-plugins} +제거된 플러그인 \{\#removed\-plugins\} +----------------------------------- -{" "} + 다음 플러그인은 SDK v5에서 제거되었습니다. -- Criteo -- Trademob -- Sociomantic +* Criteo +* Trademob +* Sociomantic + From 05d904896ce31286938f25fe1f155945185e8132 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 7 Feb 2025 13:42:02 +0000 Subject: [PATCH 4/4] Fix translated and formatted files --- .../docs/ja/sdk/migration/ios/v4-to-v5.mdx | 757 ++++++++++------- .../docs/ko/sdk/migration/ios/v4-to-v5.mdx | 759 +++++++++++------- .../docs/zh/sdk/migration/ios/v4-to-v5.mdx | 757 ++++++++++------- 3 files changed, 1468 insertions(+), 805 deletions(-) diff --git a/src/content/docs/ja/sdk/migration/ios/v4-to-v5.mdx b/src/content/docs/ja/sdk/migration/ios/v4-to-v5.mdx index c20387762..6bae16418 100644 --- a/src/content/docs/ja/sdk/migration/ios/v4-to-v5.mdx +++ b/src/content/docs/ja/sdk/migration/ios/v4-to-v5.mdx @@ -1,21 +1,20 @@ --- -title: "SDK v5移行ガイド" -description: "SDK v4からSDK v5にアップグレードするには、このガイドをご覧ください" -slug: "en/sdk/migration/ios/v4-to-v5" +title: SDK v5移行ガイド +description: SDK v4からSDK v5にアップグレードするには、このガイドをご覧ください +slug: ja/sdk/migration/ios/v4-to-v5 sidebar-position: 1 --- -事前準備 \{\#before\-you\-begin\} ----------------------------------- + +## 事前準備 \{\#before\-you\-begin\} SDK v5にアップデートする前に、以下を行ってください。 -1. SDK v5は[SDKシグネチャーの検証](https://help.adjust.com/en/article/sdk-signature)をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。 -2. アプリが以下のバージョン以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります: - * iOS: **12\.0** - * tvOS: **12\.0** +1. SDK v5は[SDKシグネチャーの検証](https://help.adjust.com/ja/article/sdk-signature)をネイティブにサポートします。現在SDKシグネチャーライブラリを使用している場合は、まずこれをアンインストールしてください。 +2. アプリが以下のバージョン以前のAPIバージョンを対象にしている場合、SDK v5を使用する前にアプリをアップデートする必要があります: + - iOS: **12\.0** + - tvOS: **12\.0** -ベータ版のSDKをインストールする \{\#install\-the\-sdk\} ----------------------------------------------- +## ベータ版のSDKをインストールする \{\#install\-the\-sdk\} SDK v5の使用を開始するには、XCodeプロジェクトにdependencyとしてSDK v5を追加する必要があります。これを行うには、以下の手順に従ってください。 @@ -23,22 +22,24 @@ SDK v5の使用を開始するには、XCodeプロジェクトにdependencyと 2. 以下を`Podfile`ファイルに追加します: - + ```rb pod 'Adjust', '~> $IOS_V5_VERSION' ``` - + + 3. `pod install`を実行してdependencyをインストールします。 -初期化メソッドを更新 \{\#init\-method\} ---------------------------------- +## 初期化メソッドを更新 \{\#init\-method\} - +{" "} SDK v4では、SDKは`ADJConfig`オブジェクトを設定し、`[Adjust appDidLaunch]`メソッドにパスすることで初期化されます。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -50,7 +51,8 @@ let adjustConfig = ADJConfig( Adjust.appDidLaunch(adjustConfig) ``` - + + ```objc #import "Adjust.h" @@ -63,10 +65,13 @@ NSString *environment = ADJEnvironmentSandbox; [Adjust appDidLaunch:adjustConfig]; ``` - + + SDK v5では、このメソッドの名前は`[Adjust initSdk]`に変更されました。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -78,7 +83,8 @@ let adjustConfig = ADJConfig( Adjust.initSdk(adjustConfig) ``` - + + ```objc #import "Adjust.h" @@ -91,301 +97,364 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:yourAppToken [Adjust initSdk:adjustConfig]; ``` - + + -### SDKシグネチャーライブラリを設定 \{\#signature\-setup\} +### SDKシグネチャーライブラリを設定 {#signature-setup} -SDK v5には、 [SDKシグネチャーライブラリ](https://help.adjust.com/en/article/sdk-signature)が含まれています。これは、[シグネチャーライブラリ連携ガイド](/en/sdk/ios/integrations/signature-library)のテスト手順に従ってテストすることができます。 +SDK v5には、 [SDKシグネチャーライブラリ](https://help.adjust.com/ja/article/sdk-signature)が含まれています。これは、[シグネチャーライブラリ連携ガイド](/ja/sdk/ios/integrations/signature-library)のテスト手順に従ってテストすることができます。 -シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、[シグネチャーの検証](https://help.adjust.com/en/article/sdk-signature#enforce-signature-validation)を有効化してください。 +シグネチャーの保護機能は、デフォルトで非アクティブになっています。これを有効化するには、[シグネチャーの検証](https://help.adjust.com/ja/article/sdk-signature#enforce-signature-validation)を有効化してください。 -変更されたAPI \{\#changed\-apis\} --------------------------------- +## 変更されたAPI \{\#changed\-apis\} - +{" "} SDK v5では、以下のAPIが変更されました。 -### SDKを無効化および有効化する \{\#disable\-enable\-sdk\} +### SDKを無効化および有効化する {#disable-enable-sdk} SDK v4では、`BOOL`値で`[Adjust setEnabled]`を呼び出すことで、SDKを有効化・無効化することができます。 -* SDKを無効化するには、`[Adjust setEnabled:NO]`を呼び出します。 -* SDKを有効化するには、`[Adjust setEnabled:YES]`を呼び出します。 +- SDKを無効化するには、`[Adjust setEnabled:NO]`を呼び出します。 +- SDKを有効化するには、`[Adjust setEnabled:YES]`を呼び出します。 - + + ```swift Adjust.setEnabled(false) //disable SDK Adjust.setEnabled(true) //enable SDK ``` - + + ```objc [Adjust setEnabled:NO]; // disable SDK [Adjust setEnabled:YES]; // enable SDK ``` - + + より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。 -* SDKを無効化するには、`[Adjust disable]`を呼び出します。 -* SDKを有効化するには、`[Adjust enable]`を呼び出します。 +- SDKを無効化するには、`[Adjust disable]`を呼び出します。 +- SDKを有効化するには、`[Adjust enable]`を呼び出します。 - + + ```swift Adjust.disable() //disable SDK Adjust.enable() //enable SDK ``` - + + ```objc [Adjust disable]; // disable SDK [Adjust enable]; // enable SDK ``` - + + -### バックグラウンドで情報を送信する \{\#send\-in\-background\} +### バックグラウンドで情報を送信する {#send-in-background} SDK v4では、`[ADJConfig setSendInBackground]`メソッドに`true`引数を付けて呼び出すことで、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信することができます。 - + + + ```swift adjustConfig.setSendInBackground(true) ``` - + + ```objc [adjustConfig setSendInBackground:YES]; ``` - + + SDK v5では、アプリがバックグラウンドで動作している間にSDKがAdjustに情報を送信できるようにするには、引数なしで`[ADJConfig enableSendingInBackground]`メソッドを呼び出す必要があります。 - + + + ```swift adjustConfig.enableSendingInBackground() ``` - + + ```objc [adjustConfig enableSendingInBackground]; ``` - + + -### AdServices情報の読み取りを無効化する \{\#disable\-adservices\} +### AdServices情報の読み取りを無効化する {#disable-adservices} SDK v4では、`[ADJConfig setAllowAdServicesInfoReading]`メソッドに`false`引数を付けて呼び出すことで、Adjust SDKがAdServices情報を読み取らないようにすることができます。 - + + + ```swift adjustConfig.setAllowAdServicesInfoReading(false) ``` - + + ```objc [adjustConfig setAllowAdServicesInfoReading:NO]; ``` - + + SDK v5では、Adjust SDKがAdServices情報を読み取らないようにするには、引数なしで`disableAdServices`メソッドを呼び出す必要があります。 - + + + ```swift adjustConfig.disableAdServices() ``` - + + ```objc [adjustConfig disableAdServices]; ``` - + + -### IDFAの読み取りを無効化する \{\#disable\-idfa\} +### IDFAの読み取りを無効化する {#disable-idfa} SDK v4では、`[ADJConfig setAllowIdfaReading]`メソッドに`false`引数を付けて呼び出すことで、Adjust SDKがデバイスのIDFAを読み取らないようにすることができます。 - + + + ```swift adjustConfig.setAllowIdfaReading(false) ``` - + + ```objc [adjustConfig setAllowIdfaReading:NO]; ``` - + + SDK v5では、Adjust SDKがデバイスのIDFAを読み取らないようにするには、引数なしで`disableIdfaReading`メソッドを呼び出す必要があります。 - + + + ```swift adjustConfig.disableIdfaReading() ``` - + + ```objc [adjustConfig disableIdfaReading]; ``` - + + -### アトリビューションにコストデータを有効化する \{\#enable\-cost\-data\} +### アトリビューションにコストデータを有効化する {#enable-cost-data} SDK v4では、`[ADJConfig setNeedsCost]`メソッドに`true`引数をつけて呼び出すことで、デバイスのアトリビューション情報のコストデータを有効化することができます。 - + + + ```swift adjustConfig.setNeedsCost(true) ``` - + + ```objc [adjustConfig setNeedsCost:YES]; ``` - + + SDK v5では、引数なしで`[ADJConfig enableCostDataInAttribution]`メソッドを呼び出す必要があります。 - + + + ```swift adjustConfig.enableCostDataInAttribution() ``` - + + ```objc [adjustConfig enableCostDataInAttribution]; ``` - + + + +#### LinkMeを有効化する {#enable-linkme} -#### LinkMeを有効化する \{\#enable\-linkme\} +SDK v4では、`[ADJConfig setLinkMeEnabled]`メソッドに`true`引数を付けて呼び出すことで、[Adjust LinkMe](https://help.adjust.com/ja/article/linkme)を有効化できます。 -SDK v4では、`[ADJConfig setLinkMeEnabled]`メソッドに`true`引数を付けて呼び出すことで、[Adjust LinkMe](https://help.adjust.com/en/article/linkme)を有効化できます。 - + + ```swift adjustConfig.setLinkMeEnabled(true) ``` - + + ```objc [adjustConfig setLinkMeEnabled:YES]; ``` - + + SDK v5では、引数なしで`[ADJConfig enableLinkMe]`メソッドを呼び出す必要があります。 - + + + ```swift adjustConfig.enableLinkMe() ``` - + + ```objc [adjustConfig enableLinkMe]; ``` - + + -### デバイスIDを1回だけ読み取る \{\#read\-device\-id\-once\} +### デバイスIDを1回だけ読み取る {#read-device-id-once} SDK v4では、`[ADJConfig setReadDeviceInfoOnceEnabled]`メソッドに`true`引数を付けて呼び出すことで、起動時に1回だけデバイス識別子を読み込むようにSDKに指示することができます。 - + + + ```swift adjustConfig.setReadDeviceInfoOnceEnabled(true) ``` - + + ```objc [adjustConfig setReadDeviceInfoOnceEnabled:YES]; ``` - + + SDK v5では、引数なしで`[ADJConfig enableDeviceIdsReadingOnce]`メソッドを呼び出す必要があります。 - + + + ```swift adjustConfig.enableDeviceIdsReadingOnce() ``` - + + ```objc [adjustConfig enableDeviceIdsReadingOnce]; ``` - + + -### オフラインモード \{\#offline\-mode\} +### オフラインモード {#offline-mode} SDK v4では、`BOOL`引数で`[Adjust setOfflineMode]`を呼び出すことで、SDKでオフラインモードを有効化・無効化することができます。 - + + + ```swift Adjust.setOfflineMode(true) // put the SDK in offline mode Adjust.setOfflineMode(false) // put the SDK back in online mode ``` - + + ```objc [Adjust setOfflineMode:YES]; // put the SDK in offline mode [Adjust setOfflineMode:NO]; // put the SDK back in online mode ``` - + + より明確にするため、SDK v5では、この機能は別々のコマンドに分割されています。 -* SDKをオフラインモードに設定するには、`[Adjust switchToOfflineMode]`を呼び出します。 -* SDKをオンラインモードに戻すには、`[Adjust switchBackToOnlineMode]`を呼び出します。 +- SDKをオフラインモードに設定するには、`[Adjust switchToOfflineMode]`を呼び出します。 +- SDKをオンラインモードに戻すには、`[Adjust switchBackToOnlineMode]`を呼び出します。 - + + ```swift Adjust.switchToOfflineMode() // put the SDK in offline mode Adjust.switchBackToOnlineMode() // put the SDK back in online mode ``` - + + ```objc [Adjust switchToOfflineMode]; // put the SDK in offline mode [Adjust switchBackToOnlineMode]; // put the SDK back in online mode ``` - + + -### Pushトークン \{\#push\-tokens\} +### Pushトークン {#push-tokens} SDK v4では、`[Adjust setDeviceToken]`メソッドを使用してPushトークンを設定できます。 - + + + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { @@ -393,7 +462,8 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { @@ -401,10 +471,13 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + このメソッドはSDK v5では`[Adjust setPushToken]`に改名されています。 - + + + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken pushToken: Data) { @@ -412,7 +485,8 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pushToken { @@ -420,15 +494,19 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + SDK v4には、`NSString`の値を取る`setPushToken`というメソッドがあります。SDK v5の`setPushToken`メソッドは`NSData`値を受け入れます。 - -### セッションコールバックパラメーター \{\#callback\-params\} + + +### セッションコールバックパラメーター {#callback-params} SDK v4では、`[Adjust addSessionCallbackParameter]`メソッドにキーと値のペアをパスすることでセッションパラメーターを追加し、`[Adjust removeSessionCallbackParameter]`メソッドを使用して個々のパラメーターを削除することができます。 - + + + ```swift Adjust.addSessionCallbackParameter("foo", value: "bar") @@ -436,7 +514,8 @@ Adjust.removeSessionCallbackParameter("foo") Adjust.resetSessionCallbackParameters() ``` - + + ```objc [Adjust addSessionCallbackParameter:@"foo" value:@"bar"]; @@ -444,10 +523,13 @@ Adjust.resetSessionCallbackParameters() [Adjust resetSessionCallbackParameters]; ``` - + + SDK v5では、セッションパラメーターはグローバルパラメーターに改名されています。SDK v5では、キーと値を位置引数として代入する代わりに、`forKey`インスタンスメソッドを使用してキーに値を代入します。 - + + + ```swift Adjust.addGlobalCallbackParameter("bar", forKey: "foo") @@ -455,7 +537,8 @@ Adjust.removeGlobalCallbackParameter(forKey: "foo") Adjust.removeGlobalCallbackParameters() ``` - + + ```objc [Adjust addGlobalCallbackParameter:@"bar" forKey:@"foo"]; @@ -463,12 +546,15 @@ Adjust.removeGlobalCallbackParameters() [Adjust removeGlobalCallbackParameters]; ``` - + + -### セッションパートナーパラメーター \{\#partner\-params\} +### セッションパートナーパラメーター {#partner-params} SDK v4では、`[Adjust addSessionPartnerParameter]`メソッドにキーと値のペアをパスすることでセッション パートナー パラメーターを追加し、`[Adjust removeSessionPartnerParameter]`メソッドを使用して個々のパラメーターを削除することができます。 - + + + ```swift Adjust.addSessionPartnerParameter("foo", value: "bar") @@ -476,7 +562,8 @@ Adjust.removeSessionPartnerParameter("foo") Adjust.resetSessionPartnerParameters() ``` - + + ```objc [Adjust addSessionPartnerParameter:@"foo" value:@"bar"]; @@ -484,10 +571,13 @@ Adjust.resetSessionPartnerParameters() [Adjust resetSessionPartnerParameters]; ``` - + + SDK v5では、セッション パートナー パラメーターはグローバル パートナー パラメーターに改名されました。SDK v5では、キーと値を位置引数として代入する代わりに、`forKey`インスタンスメソッドを使用してキーに値を代入します。 - + + + ```swift Adjust.addGlobalPartnerParameter("bar", forKey: "foo") @@ -495,7 +585,8 @@ Adjust.removeGlobalPartnerParameter(forKey: "foo") Adjust.removeGlobalPartnerParameters() ``` - + + ```objc [Adjust addGlobalPartnerParameter:@"bar" forKey:@"foo"]; @@ -503,12 +594,15 @@ Adjust.removeGlobalPartnerParameters() [Adjust removeGlobalPartnerParameters]; ``` - + + -### サブスクリプション情報を送信する \{\#send\-subscriptions\} +### サブスクリプション情報を送信する {#send-subscriptions} SDK v4では、`ADJSubscription`クラスを使ってAdjustに送信するサブスクリプション情報のペイロードを作成することができます。 - + + + ```swift let subscription = ADJSubscription( @@ -518,7 +612,8 @@ let subscription = ADJSubscription( andReceipt: receipt) ``` - + + ```objc ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price @@ -526,10 +621,13 @@ ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price transactionId:transactionId]; ``` - + + より明確にするため、SDK v5では、このクラスは`ADJAppStoreSubscription`に改名されました。 - + + + ```swift let subscription = ADJAppStoreSubscription( @@ -538,7 +636,8 @@ let subscription = ADJAppStoreSubscription( transactionId: transactionId) ``` - + + ```objc ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] @@ -547,12 +646,15 @@ ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] transactionId:transactionId]; ``` - + + -### イベントの重複排除 \{\#event\-deduplication\} +### イベントの重複排除 {#event-deduplication} SDK v4では、イベント重複排除はイベント`transaction ID`と組み合わされ、最大10個のユニークIDに制限されています。 - + + + ```swift let event = ADJEvent(eventToken: "eventToken") @@ -560,7 +662,8 @@ event.setTransactionId("deduplication_id") Adjust.trackEvent(event) ``` - + + ```objc ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; @@ -568,10 +671,13 @@ ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; [Adjust trackEvent:event]; ``` - + + SDK v5では、この機能は`transaction ID`から切り離され、イベント重複排除のために`deduplicationId`という新しいIDフィールドが追加されました。ユーザーは、重複イベントを識別するためにリストに追加可能な`deduplicationId`の数にカスタム制限を設定できます。デフォルトでは、制限は **10** に設定されています。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -588,7 +694,8 @@ event.setDeduplicationId("deduplication_id") Adjust.trackEvent(event) ``` - + + ```objc NSString *yourAppToken = @"{YourAppToken}"; @@ -604,16 +711,19 @@ ADJEvent *event = [[ADJEvent alloc] initWithEventToken:kEventToken3]; [Adjust trackEvent:event]; ``` - + + -### AdjustAttributionクラス \{\#attribution\-class\} +### AdjustAttributionクラス {#attribution-class} SDK v4では、`AdjustAttribution`コールは`adid`というプロパティを持ちます。SDK v5 では、`AdjustAttribution` クラスから`adid`プロパティが削除されました。デバイスのADIDを取得するには、[`[Adjust adidWithCompletionHandler]`ゲッターメソッド](#device-info)を使用してください。 -### ディープリンクを使用したリアトリビューション \{\#reattribution\-using\-deep\-links\} +### ディープリンクを使用したリアトリビューション {#reattribution-using-deep-links} SDK v4では、`[Adjust appWillOpenUrl]`メソッドにディープリンク情報をパスすることができます。 - + + + ```swift func application( @@ -633,7 +743,8 @@ func application( } ``` - + + ```objc - (BOOL)application:(UIApplication *)app @@ -651,10 +762,13 @@ func application( } ``` - + + SDK v5では、わかりやすくするために`[Adjust processDeeplink]`に改名されています。 - + + + ```swift func application( @@ -675,7 +789,8 @@ func application( } ``` - + + ```objc - (BOOL)application:(UIApplication *)app @@ -693,12 +808,15 @@ func application( } ``` - + + -### ディファードディープリンクのコールバック \{\#deferred\-callback\} +### ディファードディープリンクのコールバック {#deferred-callback} SDK v4では、`adjustDeepLinkResponse`メソッドを呼び出してディファード ディープリンク コールバックを処理できます。 - + + + ```swift func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { @@ -711,7 +829,8 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - + + ```objc - (BOOL)adjustDeeplinkResponse:(NSURL *)deeplink { @@ -724,10 +843,13 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - + + より明確にするため、SDK v5では、このメソッドは`adjustDeferredDeeplinkReceived`に改名されています。全ての引数は同じです。 - + + + ```swift func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { @@ -740,7 +862,8 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - + + ```objc - (BOOL)adjustDeferredDeeplinkReceived:(NSURL *)deeplink { @@ -753,51 +876,64 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - + + -### 児童オンラインプライバシー保護法(COPPA)コンプライアンス \{\#coppa\-compliance\} +### 児童オンラインプライバシー保護法(COPPA)コンプライアンス {#coppa-compliance} SDK v4では、ブール値を渡して`ADJConfig`インスタンスの`setCoppaCompliantEnabled`メソッドを呼び出すことで、アプリをCOPPAに準拠していることをマークできます。 - + + + ```swift adjustConfig.setCoppaCompliantEnabled(true) ``` - + + ```objc [adjustConfig setCoppaCompliantEnabled:YES]; ``` - + + SDK v5では、このメソッドは`enableCoppaCompliance`に改名されています。このメソッドは引数を取りません。 - + + + ```swift adjustConfig?.enableCoppaCompliance() ``` - + + ```objc [adjustConfig enableCoppaCompliance]; ``` - + + -### 特定のソースの広告収益を送信する \{\#send\-ad\-revenue\} +### 特定のソースの広告収益を送信する {#send-ad-revenue} SDK v4では、広告収益ソースは`ADJConfig`クラスの定数として定義されています。SDK v5では、広告収益ソースは文字列としてパスされる必要があります。 - + + + ```swift - let adRevenue = ADJAdRevenue(source: ADJAdRevenueSourceAppLovinMAX); //v4 + let adRevenue = ADJAdRevenue(source: "applovin_max_sdk") //v5 ``` - + + + ```objc - ADJAdRevenue *revenue = [[ADJAdRevenue alloc] @@ -806,10 +942,11 @@ SDK v4では、広告収益ソースは`ADJConfig`クラスの定数として定 + initWithSource:@"applovin_max_sdk"]; // v5 ``` - + + -| v4 | v5 | -|--------------------------------------|---------------------------| +| v4 | v5 | +| ------------------------------------ | ------------------------- | | `ADJAdRevenueSourceAppLovinMAX` | `"applovin_max_sdk"` | | `ADJAdRevenueSourceAdMob` | `"admob_sdk"` | | `ADJAdRevenueSourceIronSource` | `"ironsource_sdk"` | @@ -822,7 +959,7 @@ SDK v4では、広告収益ソースは`ADJConfig`クラスの定数として定 | `ADJAdRevenueSourceTopOn` | `"topon_sdk"` | | `ADJAdRevenueSourceMopub` | `"mopub"` | -### データレジデンシーとURL戦略を設定する \{\#url\-strategy\} +### データレジデンシーとURL戦略を設定する {#url-strategy} SDK v4では、URL戦略とデータレジデンシーのドメインは`ADJConfig`クラスの定数として定義されています。 @@ -832,8 +969,8 @@ SDK v4では、URL戦略とデータレジデンシーのドメインは`ADJConf SDK v5では、選択したドメインを配列としてパスする必要があります。また、以下を設定することも可能です: -* `useSubdomains` (`BOOL`):ドメインをAdjustドメインとして扱うかどうか。`true`の場合、SDKはAdjust固有のサブドメインをドメインにプレフィックスとします。`false`の場合、SDKはプレフィックスを追加せずに、指定されたドメインをそのまま使用します。 -* `isDataResidency` (`BOOL`):ドメインをデータレジデンシーに使用するかどうか。 +- `useSubdomains` (`BOOL`):ドメインをAdjustドメインとして扱うかどうか。`true`の場合、SDKはAdjust固有のサブドメインをドメインにプレフィックスとします。`false`の場合、SDKはプレフィックスを追加せずに、指定されたドメインをそのまま使用します。 +- `isDataResidency` (`BOOL`):ドメインをデータレジデンシーに使用するかどうか。 ```objc NSArray *domain = []; @@ -843,61 +980,69 @@ NSArray *domain = []; SDK v5でURL戦略を設定する方法については、以下の表をご確認ください。 -| v4 | v5 \- メインおよびフォールバックドメイン | v5 \- サブドメインの使用 | v5 \- データレジデンシー | -|------------------------|-----------------------------------|------------------|------------------| -| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | -| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | -| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | -| `ADJUrlStrategyChina` | `"adjust.world"`。 `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCn` | `"adjust.cn"`。 `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | -| `ADJUrlStrategyIndia` | `"adjust.net.in"`。 `"adjust.com"` | `true` | `false` | +| v4 | v5 \- メインおよびフォールバックドメイン | v5 \- サブドメインの使用 | v5 \- データレジデンシー | +| ---------------------- | ---------------------------------------- | ------------------------ | ------------------------ | +| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | +| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | +| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | +| `ADJUrlStrategyChina` | `"adjust.world"`。 `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCn` | `"adjust.cn"`。 `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | +| `ADJUrlStrategyIndia` | `"adjust.net.in"`。 `"adjust.com"` | `true` | `false` | -#### 例 \{\#examples\} +#### 例 {#examples} - + + ```swift let domain = ["adjust.net.in", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - + + ```swift let domain = ["adjust.world", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - + + ```swift let domain = ["adjust.cn"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - + + ```swift let domain = ["eu.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - + + ```swift let domain = ["tr.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - + + ```swift let domain = ["us.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - + + + ```objc NSArray *domain = [[NSArray alloc] @@ -905,7 +1050,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -913,7 +1059,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -921,7 +1068,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -929,7 +1077,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -937,7 +1086,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -945,12 +1095,15 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - + + -### SKAdNetworkの通信を無効化する \{\#disable\-skan\} +### SKAdNetworkの通信を無効化する {#disable-skan} SDK v4では、`[ADJConfig deactivateSKAdNetworkHandling]`メソッドを呼び出すことで、SDKがSKAdNetworkと通信しないようにすることができます。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -962,7 +1115,8 @@ let adjustConfig = ADJConfig( adjustConfig.deactivateSKAdNetworkHandling() ``` - + + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -972,10 +1126,13 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig deactivateSKAdNetworkHandling]; ``` - + + より明確にするため、SDK v5では、このメソッドは`[ADJConfig disableSkanAttribution]`に改名されています。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -987,7 +1144,8 @@ let adjustConfig = ADJConfig( adjustConfig?.disableSkanAttribution() ``` - + + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -997,19 +1155,21 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig disableSkanAttribution]; ``` - + + -### Conversion valueを更新する \{\#update\-cvs\} +### Conversion valueを更新する {#update-cvs} SDK v4では、`updateConversionValue`メソッドを使ってAdjustに更新されたconversion valueを送ることができます。このメソッドはAppleが廃止した[`updateConversionValue`メソッド](https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue)をラップするため、SDK v5では削除されています。 SDK v5でconversion valueを更新するには、以下の引数で`[Adjust updateSkanConversionValue]`メソッドを使用します: -* `conversionValue` (`NSInteger`):更新されたconversion value -* `coarseValue` (`NSString`):更新された[粗いconversion value](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -* `lockWindow` (`BOOL`):コンバージョン期間が終了する前にポストバックを送信するかどうか +- `conversionValue` (`NSInteger`):更新されたconversion value +- `coarseValue` (`NSString`):更新された[粗いconversion value](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +- `lockWindow` (`BOOL`):コンバージョン期間が終了する前にポストバックを送信するかどうか - + + ```swift Adjust.updateSkanConversionValue( @@ -1022,7 +1182,8 @@ Adjust.updateSkanConversionValue( } ``` - + + ```objc [Adjust updateSkanConversionValue:1 @@ -1033,12 +1194,15 @@ Adjust.updateSkanConversionValue( }]; ``` - + + -### App Tracking Transparency認証ラッパー \{\#att\-wrapper\} +### App Tracking Transparency認証ラッパー {#att-wrapper} SDK v4では、`[Adjust requestTrackingAuthorizationWithCompletionHandler]`メソッドを使用して、ユーザーのATT認証ステータスの変更を処理することができます。 - + + + ```swift Adjust.requestTrackingAuthorization { status in @@ -1061,7 +1225,8 @@ Adjust.requestTrackingAuthorization { status in } ``` - + + ```objc [Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1082,10 +1247,13 @@ Adjust.requestTrackingAuthorization { status in }]; ``` - + + より明確にするため、SDK v5では`[Adjust requestAppTrackingAuthorizationWithCompletionHandler]`に改名されました。 - + + + ```swift Adjust.requestAppTrackingAuthorization { status in @@ -1108,7 +1276,8 @@ Adjust.requestAppTrackingAuthorization { status in } ``` - + + ```objc [Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1129,12 +1298,15 @@ Adjust.requestAppTrackingAuthorization { status in }]; ``` - + + -### デバイス情報を取得する \{\#device\-info\} +### デバイス情報を取得する {#device-info} SDK v4では、全てのデバイス情報ゲッターメソッドは同期的に実行されます。SDK v5では、これらのメソッドは非同期に実行されるように変更されまています。非同期処理の完了時に情報を処理するコールバック関数を追加することができます。 - + + + ```swift Adjust.adid { adid in @@ -1142,7 +1314,8 @@ Adjust.adid { adid in }; ``` - + + ```swift Adjust.idfa { idfa in @@ -1150,7 +1323,8 @@ Adjust.idfa { idfa in }; ``` - + + ```swift Adjust.idfv { idfv in @@ -1158,7 +1332,8 @@ Adjust.idfv { idfv in }; ``` - + + ```swift Adjust.sdkVersion { sdkVersion in @@ -1166,7 +1341,8 @@ Adjust.sdkVersion { sdkVersion in }; ``` - + + ```swift Adjust.isEnabled { isEnabled in @@ -1174,7 +1350,8 @@ Adjust.isEnabled { isEnabled in }; ``` - + + ```swift Adjust.attribution { attribution in @@ -1182,7 +1359,9 @@ Adjust.attribution { attribution in } ``` - + + + ```objc [Adjust adidWithCompletionHandler:^(NSString * _Nullable adid) { @@ -1190,7 +1369,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust idfaWithCompletionHandler:^(NSString * _Nullable idfa) { @@ -1198,7 +1378,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust idfvWithCompletionHandler:^(NSString * _Nullable idfv) { @@ -1206,7 +1387,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust sdkVersionWithCompletionHandler:^(NSString * _Nullable sdkVersion) { @@ -1214,7 +1396,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust isEnabledWithCompletionHandler:^(BOOL isEnabled) { @@ -1222,7 +1405,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust attributionWithCompletionHandler:^(ADJAttribution * _Nullable attribution) { @@ -1230,148 +1414,178 @@ Adjust.attribution { attribution in } ``` - + + -削除されたAPI \{\#removed\-apis\} --------------------------------- +## 削除されたAPI \{\#removed\-apis\} - +{" "} SDK v5では、以下のAPIが削除されました。 -### イベントバッファリング \{\#event\-buffering\} +### イベントバッファリング {#event-buffering} SDK v4はイベントのバッファリングをサポートしています。この機能は、リクエストイベント、広告収益、Pushトークン、その他の情報をローカルバッファに保存し、後日送信します。 - + + + ```swift Adjust.setEventBufferingEnabled(true) ``` - + + ```objc [adjustConfig setEventBufferingEnabled:YES]; ``` - + + SDK v5では、この設定はご利用いただけません。 -### カスタムユーザーエージェント文字列 \{\#custom\-user\-agent\} +### カスタムユーザーエージェント文字列 {#custom-user-agent} SDK v4では、ユーザーエージェント文字列で`[AdjustConfig setUserAgent]`を呼び出すことによるカスタムユーザーエージェントの設定をサポートしています。 - + + + ```swift adjustConfig.setUserAgent("user_agent_value") ``` - + + ```objc [adjustConfig setUserAgent:@"user_agent_value"]; ``` - + + SDK v5では、この設定はご利用いただけません。 -### 既知のデバイスかどうかを通知する設定 \{\#set\-device\-known\} +### 既知のデバイスかどうかを通知する設定 {#set-device-known} SDK v4では、`[AdjustConfig setIsDeviceKnown];`メソッドを呼び出して、既知のデバイスかどうかをSDKに手動で通知することができます。 - + + + ```swift adjustConfig.setIsDeviceKnown(true) ``` - + + ```objc [adjustConfig setIsDeviceKnown:YES]; ``` - + + SDK v5では、この設定はご利用いただけません。 -### SDKの起動開始を遅延させる \{\#delay\-sdk\-start\} +### SDKの起動開始を遅延させる {#delay-sdk-start} SDK v4では、`[AdjustConfig setDelayStart];`を最大 **10秒** 遅延させて呼び出すことで、SDKの開始を遅延させることができます。 - + + + ```swift adjustConfig.setDelayStart(10) ``` - + + ```objc [adjustConfig setDelayStart:10]; ``` - + + SDK v5では、この設定はご利用いただけません。 -### サードパーティとの共有をグローバルに無効化する \{\#disable\-sharing\-globally\} +### サードパーティとの共有をグローバルに無効化する {#disable-sharing-globally} SDK v4では、`Adjust.disableThirdPartySharing()`メソッドを呼び出すことで、サードパーティとの情報共有をグローバルに無効化することができます。 - + + + ```swift Adjust.disableThirdPartySharing() ``` - + + ```objc [Adjust disableThirdPartySharing]; ``` - + + この機能はSDK v5では削除されました。SDK v5では、`[Adjust trackThirdPartySharing]`メソッドを使用してサードパーティとのデータ共有を有効化または無効化できます。 - + + + ```swift guard let adjustThirdPartySharing = ADJThirdPartySharing(isEnabled: 0) else { return } Adjust.trackThirdPartySharing(adjustThirdPartySharing) ``` - + + ```objc ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabled:@NO]; [Adjust trackThirdPartySharing:adjustThirdPartySharing]; ``` - + + -### 承認ステータスの変更を確認する \{\#check\-att\-status\-change\} +### 承認ステータスの変更を確認する {#check-att-status-change} SDK v4では、`[Adjust checkForNewAttStatus]`メソッドを使ってSDKにユーザーのATTステータスを読み込ませ、Adjustのサーバーに情報を転送することができます。 - + + + ```swift Adjust.checkForNewAttStatus() ``` - + + ```objc [Adjust checkForNewAttStatus]; ``` - + + このメソッドはSDK v5では廃止されています。 -### Conversion valueのアップデートを受信する \{\#listen\-for\-cv\-updates\} +### Conversion valueのアップデートを受信する {#listen-for-cv-updates} SDK v4では、`adjustConversionValueUpdated`メソッドを使用してSKAdNetworkのアップデートを受信することができます。 - + + + ```swift func adjustConversionValueUpdated(_ conversionValue: NSNumber) { @@ -1387,7 +1601,8 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - + + ```objc - (void)adjustConversionValueUpdated:(NSNumber *)conversionValue { @@ -1405,16 +1620,18 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - + + SDK v5では、これら2つのメソッドは、型付けされていない辞書を返す単一の`adjustSkanUpdatedWithConversionData`メソッドに置き換えられました。現在サポートされているキーは以下の通りです: -* `conversion_value`: 更新されたconversion value -* `coarse_value`: 更新された[粗いconversion value](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -* `lock_window`: コンバージョン期間が終了する前にポストバックを送信するかどうか -* `error`: 更新によって返されたエラーメッセージ +- `conversion_value`: 更新されたconversion value +- `coarse_value`: 更新された[粗いconversion value](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +- `lock_window`: コンバージョン期間が終了する前にポストバックを送信するかどうか +- `error`: 更新によって返されたエラーメッセージ - + + ```swift func adjustSkanUpdated(withConversionData data: [String: String]) { @@ -1423,7 +1640,8 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - + + ```objc - (void)adjustSkanUpdatedWithConversionData:(NSDictionary *)data { @@ -1432,35 +1650,38 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - + + -### アプリシークレットを設定\{\#set\-an\-app\-secret\} +### アプリシークレットを設定{#set-an-app-secret} SDK v4では、`ADJConfig`インスタンスの`setAppSecret`メソッドを呼び出して、SDKトラフィックの署名に使用するアプリシークレットを設定することができます。 - + + + ```swift adjustConfig.setAppSecret(secretId, info1: info1, info2: info2, info3: info3, info4: info4) ``` - + + ```objc [adjustConfig setAppSecret:secretId info1:info1 info2:info2 info3:info3 info4:info4]; ``` - + + SDK v5では、この設定はご利用いただけません。 -削除されたプラグイン \{\#removed\-plugins\} -------------------------------------- +## 削除されたプラグイン \{\#removed\-plugins\} - +{" "} SDK v5では以下のプラグインが削除されました: -* Criteo -* Trademob -* Sociomantic - +- Criteo +- Trademob +- Sociomantic diff --git a/src/content/docs/ko/sdk/migration/ios/v4-to-v5.mdx b/src/content/docs/ko/sdk/migration/ios/v4-to-v5.mdx index 6cacc885b..af3b27492 100644 --- a/src/content/docs/ko/sdk/migration/ios/v4-to-v5.mdx +++ b/src/content/docs/ko/sdk/migration/ios/v4-to-v5.mdx @@ -1,21 +1,20 @@ --- -title: "SDK v5 마이그레이션 가이드" -description: "이 가이드에 따라 SDK v4에서 SDK v5로 업그레이드하시기 바랍니다." -slug: "en/sdk/migration/ios/v4-to-v5" +title: SDK v5 마이그레이션 가이드 +description: 이 가이드에 따라 SDK v4에서 SDK v5로 업그레이드하시기 바랍니다. +slug: ko/sdk/migration/ios/v4-to-v5 sidebar-position: 1 --- -시작에 앞서 \{\#before\-you\-begin\} ------------------------------------- + +## 시작에 앞서 \{\#before\-you\-begin\} SDK v5로 업데이트하기 전에 다음을 수행하시기 바랍니다. -1. SDK v5는 [SDK Signature 인증](https://help.adjust.com/en/article/sdk-signature)을 기본적으로 지원합니다. 현재 SDK 서명 라이브러리를 사용하는 경우 먼저 이것을 삭제해야 합니다. -2. 앱이 다음보다 낮은 버전의 API를 대상으로 하는 경우 SDK v5를 사용하려면 앱을 업데이트해야 합니다. - * iOS: **12\.0** - * tvOS: **12\.0** +1. SDK v5는 [SDK Signature 인증](https://help.adjust.com/ko/article/sdk-signature)을 기본적으로 지원합니다. 현재 SDK 서명 라이브러리를 사용하는 경우 먼저 이것을 삭제해야 합니다. +2. 앱이 다음보다 낮은 버전의 API를 대상으로 하는 경우 SDK v5를 사용하려면 앱을 업데이트해야 합니다. + - iOS: **12\.0** + - tvOS: **12\.0** -베타 SDK 설치 \{\#install\-the\-sdk\} --------------------------------------- +## 베타 SDK 설치 \{\#install\-the\-sdk\} SDK v5를 사용하려면 XCode 프로젝트에서 디펜던시로 추가해야 합니다. 이를 위해 다음을 수행하시기 바랍니다. @@ -23,22 +22,24 @@ SDK v5를 사용하려면 XCode 프로젝트에서 디펜던시로 추가해야 2. `Podfile`에 다음 줄을 추가합니다. - + ```rb pod 'Adjust', '~> $IOS_V5_VERSION' ``` - + + 3. `pod install`을 실행하여 디펜던시를 설치합니다. -\{\#init\-method\} 초기화 메서드 업데이트 ------------------------------------ +## \{\#init\-method\} 초기화 메서드 업데이트 - +{" "} SDK v4에서는 `ADJConfig` 객체를 구성하고 이를 `[Adjust appDidLaunch]` 메서드에 전달하는 방식으로 SDK를 초기화합니다. - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -50,7 +51,8 @@ let adjustConfig = ADJConfig( Adjust.appDidLaunch(adjustConfig) ``` - + + ```objc #import "Adjust.h" @@ -63,10 +65,13 @@ NSString *environment = ADJEnvironmentSandbox; [Adjust appDidLaunch:adjustConfig]; ``` - + + SDK v5에서는 이 메서드의 이름이 `[Adjust initSdk]`로 변경되었습니다. - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -78,7 +83,8 @@ let adjustConfig = ADJConfig( Adjust.initSdk(adjustConfig) ``` - + + ```objc #import "Adjust.h" @@ -91,301 +97,364 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:yourAppToken [Adjust initSdk:adjustConfig]; ``` - + + -### SDK Signature 라이브러리 \{\#signature\-setup\}를 구성합니다. +### SDK Signature 라이브러리 {#signature-setup}를 구성합니다. -SDK v5는 [SDK Signature 라이브러리](https://help.adjust.com/en/article/sdk-signature)를 포함합니다. 이를 테스트하려면 [Signature 라이브러리 연동 가이드](/en/sdk/ios/integrations/signature-library) 에 나온 테스트 단계를 수행하시기 바랍니다. +SDK v5는 [SDK Signature 라이브러리](https://help.adjust.com/ko/article/sdk-signature)를 포함합니다. 이를 테스트하려면 [Signature 라이브러리 연동 가이드](/ko/sdk/ios/integrations/signature-library) 에 나온 테스트 단계를 수행하시기 바랍니다. -서명 보호는 기본 설정에 따라 비활성화되어 있습니다. 이를 활성화하려면 [서명 검증을 시행](https://help.adjust.com/en/article/sdk-signature#enforce-signature-validation) 해야 합니다. +서명 보호는 기본 설정에 따라 비활성화되어 있습니다. 이를 활성화하려면 [서명 검증을 시행](https://help.adjust.com/ko/article/sdk-signature#enforce-signature-validation) 해야 합니다. -변경된 API \{\#changed\-apis\} -------------------------------- +## 변경된 API \{\#changed\-apis\} - +{" "} 다음 API가 SDK v5에서 변경되었습니다. -### SDK 비활성화 및 활성화 \{\#disable\-enable\-sdk\} +### SDK 비활성화 및 활성화 {#disable-enable-sdk} SDK v4에서는 `BOOL` 값과 함께 `[Adjust setEnabled]`를 호출하여 SDK를 활성화 및 비활성화할 수 있습니다. -* SDK를 비활성화하려면 `[Adjust setEnabled:NO]`를 호출합니다. -* SDK를 활성화하려면 `[Adjust setEnabled:YES]`를 호출합니다. +- SDK를 비활성화하려면 `[Adjust setEnabled:NO]`를 호출합니다. +- SDK를 활성화하려면 `[Adjust setEnabled:YES]`를 호출합니다. - + + ```swift Adjust.setEnabled(false) //disable SDK Adjust.setEnabled(true) //enable SDK ``` - + + ```objc [Adjust setEnabled:NO]; // disable SDK [Adjust setEnabled:YES]; // enable SDK ``` - + + SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다. -* SDK를 비활성화하려면 `[Adjust disable]`를 호출합니다. -* SDK를 활성화하려면 `[Adjust enable]`를 호출합니다. +- SDK를 비활성화하려면 `[Adjust disable]`를 호출합니다. +- SDK를 활성화하려면 `[Adjust enable]`를 호출합니다. - + + ```swift Adjust.disable() //disable SDK Adjust.enable() //enable SDK ``` - + + ```objc [Adjust disable]; // disable SDK [Adjust enable]; // enable SDK ``` - + + -### 백그라운드에서 정보 전송 \{\#send\-in\-background\} +### 백그라운드에서 정보 전송 {#send-in-background} SDK v4에서는 `true` 인수와 함께 `[ADJConfig setSendInBackground]` 메서드를 호출하여 앱이 백그라운드에서 실행 중일 때 SDK가 Adjust에 정보를 전달하도록 설정할 수 있습니다. - + + + ```swift adjustConfig.setSendInBackground(true) ``` - + + ```objc [adjustConfig setSendInBackground:YES]; ``` - + + SDK v5에서는 앱이 백그라운드에서 실행 중일 때 SDK가 Adjust에 정보를 전송할 수 있게 하려면 인수 없이 `[ADJConfig enableSendingInBackground]` 메서드를 호출해야 합니다. - + + + ```swift adjustConfig.enableSendingInBackground() ``` - + + ```objc [adjustConfig enableSendingInBackground]; ``` - + + -### AdServices 정보 읽기 비활성화 \{\#disable\-adservices\} +### AdServices 정보 읽기 비활성화 {#disable-adservices} SDK v4에서는 `false` 인수와 함께 `[ADJConfig setAllowAdServicesInfoReading]` 메서드를 호출하여 Adjust SDK가 AdServices 정보를 읽는 것을 방지할 수 있습니다. - + + + ```swift adjustConfig.setAllowAdServicesInfoReading(false) ``` - + + ```objc [adjustConfig setAllowAdServicesInfoReading:NO]; ``` - + + SDK v5에서는 Adjust SDK가 AdServices 정보를 읽는 것을 방지하려면 인수 없이 `disableAdServices` 메서드를 호출해야 합니다. - + + + ```swift adjustConfig.disableAdServices() ``` - + + ```objc [adjustConfig disableAdServices]; ``` - + + -### IDFA 읽기 비활성화 \{\#disable\-idfa\} +### IDFA 읽기 비활성화 {#disable-idfa} SDK v4에서는 `false` 인수와 함께 `[ADJConfig setAllowIdfaReading]` 메서드를 호출하여 Adjust SDK가 기기의 IDFA를 읽는 것을 방지할 수 있습니다. - + + + ```swift adjustConfig.setAllowIdfaReading(false) ``` - + + ```objc [adjustConfig setAllowIdfaReading:NO]; ``` - + + SDK v5에서는 Adjust SDK가 기기의 IDFA를 읽는 것을 방지하려면 인수 없이 `disableIdfaReading` 메서드를 호출해야 합니다. - + + + ```swift adjustConfig.disableIdfaReading() ``` - + + ```objc [adjustConfig disableIdfaReading]; ``` - + + -### 어트리뷰션에서 비용 데이터 활성화 \{\#enable\-cost\-data\} +### 어트리뷰션에서 비용 데이터 활성화 {#enable-cost-data} SDK v4에서는 `true` 인수와 함께 `[ADJConfig setNeedsCost]` 메서드를 호출하여 기기의 어트리뷰션 정보에서 비용 데이터를 활성화할 수 있습니다. - + + + ```swift adjustConfig.setNeedsCost(true) ``` - + + ```objc [adjustConfig setNeedsCost:YES]; ``` - + + SDK v5에서는 인수 없이 `[ADJConfig enableCostDataInAttribution]` 메서드를 호출해야 합니다. - + + + ```swift adjustConfig.enableCostDataInAttribution() ``` - + + ```objc [adjustConfig enableCostDataInAttribution]; ``` - + + + +#### LinkMe 활성화 {#enable-linkme} -#### LinkMe 활성화 \{\#enable\-linkme\} +SDK v4에서는 `true` 인수와 함께 `[ADJConfig setLinkMeEnabled]` 메서드를 호출하여 [Adjust LinkMe](https://help.adjust.com/ko/article/linkme)를 활성화할 수 있습니다. -SDK v4에서는 `true` 인수와 함께 `[ADJConfig setLinkMeEnabled]` 메서드를 호출하여 [Adjust LinkMe](https://help.adjust.com/en/article/linkme)를 활성화할 수 있습니다. - + + ```swift adjustConfig.setLinkMeEnabled(true) ``` - + + ```objc [adjustConfig setLinkMeEnabled:YES]; ``` - + + SDK v5에서는 인수 없이 `[ADJConfig enableLinkMe]` 메서드를 호출해야 합니다. - + + + ```swift adjustConfig.enableLinkMe() ``` - + + ```objc [adjustConfig enableLinkMe]; ``` - + + -### 기기 ID를 한 번만 읽기 \{\#read\-device\-id\-once\} +### 기기 ID를 한 번만 읽기 {#read-device-id-once} SDK v4에서는 `true` 인수와 함께 `[ADJConfig setReadDeviceInfoOnceEnabled]` 메서드를 호출하여 SDK가 기기 식별자를 앱 시작 시 한 번만 읽도록 설정할 수 있습니다. - + + + ```swift adjustConfig.setReadDeviceInfoOnceEnabled(true) ``` - + + ```objc [adjustConfig setReadDeviceInfoOnceEnabled:YES]; ``` - + + SDK v5에서는 인수 없이 `[ADJConfig enableDeviceIdsReadingOnce]` 메서드를 호출해야 합니다. - + + + ```swift adjustConfig.enableDeviceIdsReadingOnce() ``` - + + ```objc [adjustConfig enableDeviceIdsReadingOnce]; ``` - + + -### 오프라인 모드 \{\#offline\-mode\} +### 오프라인 모드 {#offline-mode} SDK v4에서는 `BOOL` 인수와 함께 `[Adjust setOfflineMode]`를 호출하여 SDK의 오프라인 모드를 활성화 및 비활성화할 수 있습니다. - + + + ```swift Adjust.setOfflineMode(true) // put the SDK in offline mode Adjust.setOfflineMode(false) // put the SDK back in online mode ``` - + + ```objc [Adjust setOfflineMode:YES]; // put the SDK in offline mode [Adjust setOfflineMode:NO]; // put the SDK back in online mode ``` - + + SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다. -* SDK를 오프라인 모드로 설정하려면 `[Adjust switchToOfflineMode]`를 호출합니다. -* SDK를 온라인 모드로 전환하려면`[Adjust switchBackToOnlineMode]`를 호출합니다. +- SDK를 오프라인 모드로 설정하려면 `[Adjust switchToOfflineMode]`를 호출합니다. +- SDK를 온라인 모드로 전환하려면`[Adjust switchBackToOnlineMode]`를 호출합니다. - + + ```swift Adjust.switchToOfflineMode() // put the SDK in offline mode Adjust.switchBackToOnlineMode() // put the SDK back in online mode ``` - + + ```objc [Adjust switchToOfflineMode]; // put the SDK in offline mode [Adjust switchBackToOnlineMode]; // put the SDK back in online mode ``` - + + -### 푸시 토큰 \{\#push\-tokens\} +### 푸시 토큰 {#push-tokens} SDK v4에서는 `[Adjust setDeviceToken]` 메서드를 사용하여 푸시 토큰을 설정할 수 있습니다. - + + + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { @@ -393,7 +462,8 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { @@ -401,10 +471,13 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + 이 메서드는 SDK v5에서 이름이 `[Adjust setPushToken]`으로 변경되었습니다. - + + + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken pushToken: Data) { @@ -412,7 +485,8 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pushToken { @@ -420,15 +494,19 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + SDK v4에는 `NSString` 값을 사용하는 `setPushToken`이라는 이름의 메서드가 포함되어 있습니다. SDK v5에서 `setPushToken` 메서드는 `NSData` 값을 허용합니다. - -### 세션 콜백 파라미터 \{\#callback\-params\} + + +### 세션 콜백 파라미터 {#callback-params} SDK v4에서는 키\-값 쌍을 `[Adjust addSessionCallbackParameter]` 메서드에 전달하여 세션 파라미터를 추가하고, `[Adjust removeSessionCallbackParameter]` 메서드를 사용하여 개별 파라미터를 제거할 수 있습니다. - + + + ```swift Adjust.addSessionCallbackParameter("foo", value: "bar") @@ -436,7 +514,8 @@ Adjust.removeSessionCallbackParameter("foo") Adjust.resetSessionCallbackParameters() ``` - + + ```objc [Adjust addSessionCallbackParameter:@"foo" value:@"bar"]; @@ -444,10 +523,13 @@ Adjust.resetSessionCallbackParameters() [Adjust resetSessionCallbackParameters]; ``` - + + SDK v5에서는 세션 파라미터가 글로벌 파라미터로 이름이 변경되었습니다. 키와 값을 위치 인수로 할당하는 대신 SDK v5는 `forKey` 인스턴스 메서드를 사용하여 값을 키에 할당합니다. - + + + ```swift Adjust.addGlobalCallbackParameter("bar", forKey: "foo") @@ -455,7 +537,8 @@ Adjust.removeGlobalCallbackParameter(forKey: "foo") Adjust.removeGlobalCallbackParameters() ``` - + + ```objc [Adjust addGlobalCallbackParameter:@"bar" forKey:@"foo"]; @@ -463,12 +546,15 @@ Adjust.removeGlobalCallbackParameters() [Adjust removeGlobalCallbackParameters]; ``` - + + -### 세션 파트너 파라미터 \{\#partner\-params\} +### 세션 파트너 파라미터 {#partner-params} SDK v4에서는 키\-값 쌍을 `[Adjust addSessionPartnerParameter]` 메서드에 전달하여 파트너 파라미터를 추가하고, `[Adjust removeSessionPartnerParameter]` 메서드를 사용하여 개별 파라미터를 제거할 수 있습니다. - + + + ```swift Adjust.addSessionPartnerParameter("foo", value: "bar") @@ -476,7 +562,8 @@ Adjust.removeSessionPartnerParameter("foo") Adjust.resetSessionPartnerParameters() ``` - + + ```objc [Adjust addSessionPartnerParameter:@"foo" value:@"bar"]; @@ -484,10 +571,13 @@ Adjust.resetSessionPartnerParameters() [Adjust resetSessionPartnerParameters]; ``` - + + SDK v5에서는 세션 파트너 파라미터가 글로벌 파트너 파라미터로 이름이 변경되었습니다. 키와 값을 위치 인수로 할당하는 대신 SDK v5는 `forKey` 인스턴스 메서드를 사용하여 값을 키에 할당합니다. - + + + ```swift Adjust.addGlobalPartnerParameter("bar", forKey: "foo") @@ -495,7 +585,8 @@ Adjust.removeGlobalPartnerParameter(forKey: "foo") Adjust.removeGlobalPartnerParameters() ``` - + + ```objc [Adjust addGlobalPartnerParameter:@"bar" forKey:@"foo"]; @@ -503,12 +594,15 @@ Adjust.removeGlobalPartnerParameters() [Adjust removeGlobalPartnerParameters]; ``` - + + -### 구독 정보 전송 \{\#send\-subscriptions\} +### 구독 정보 전송 {#send-subscriptions} SDK v4에서는 `ADJSubscription` 클래스를 사용하여 Adjust에 전송할 구독 정보의 페이로드를 생성할 수 있습니다. - + + + ```swift let subscription = ADJSubscription( @@ -518,7 +612,8 @@ let subscription = ADJSubscription( andReceipt: receipt) ``` - + + ```objc ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price @@ -526,10 +621,13 @@ ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price transactionId:transactionId]; ``` - + + 이 클래스는 명확성을 위해 SDK v5에서 이름이 `ADJAppStoreSubscription`으로 변경되었습니다. - + + + ```swift let subscription = ADJAppStoreSubscription( @@ -538,7 +636,8 @@ let subscription = ADJAppStoreSubscription( transactionId: transactionId) ``` - + + ```objc ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] @@ -547,12 +646,15 @@ ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] transactionId:transactionId]; ``` - + + -### 이벤트 중복 제거 \{\#event\-deduplication\} +### 이벤트 중복 제거 {#event-deduplication} SDK v4에서는 이벤트 중복 제거가 이벤트 `transaction ID`와 결합되어 있으며 최대 10개의 고유 ID로 제한됩니다. - + + + ```swift let event = ADJEvent(eventToken: "eventToken") @@ -560,7 +662,8 @@ event.setTransactionId("deduplication_id") Adjust.trackEvent(event) ``` - + + ```objc ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; @@ -568,10 +671,13 @@ ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; [Adjust trackEvent:event]; ``` - + + -SDK v5에서는 이 기능이 `transaction ID`와 분리되었습니다. 이벤트 중복 제거를 위해 `deduplicationId`라는 새로운 ID 필드가 추가되었습니다. 사용자는 중복 이벤트를 식별하기 위해 목록에 추가할 수 있는 `deduplicationId` 수의 사용자 지정 한도를 설정할 수 있습니다. 기본 설정된 값은 **10** 입니다. - +SDK v5에서는 이 기능이 `transaction ID`와 분리되었습니다. 이벤트 중복 제거를 위해 `deduplicationId`라는 새로운 ID 필드가 추가되었습니다. 사용자는 중복 이벤트를 식별하기 위해 목록에 추가할 수 있는 `deduplicationId` 수의 사용자 지정 한도를 설정할 수 있습니다. 기본 설정된 값은 **10** 입니다. + + + ```swift let yourAppToken = "{YourAppToken}" @@ -588,7 +694,8 @@ event.setDeduplicationId("deduplication_id") Adjust.trackEvent(event) ``` - + + ```objc NSString *yourAppToken = @"{YourAppToken}"; @@ -604,16 +711,19 @@ ADJEvent *event = [[ADJEvent alloc] initWithEventToken:kEventToken3]; [Adjust trackEvent:event]; ``` - + + -### AdjustAttribution 클래스 \{\#attribution\-class\} +### AdjustAttribution 클래스 {#attribution-class} SDK v4에서는 `AdjustAttribution` 호출에 `adid`라는 속성이 있습니다. SDK v5에서는 `adid` 속성이 `AdjustAttribution` 클래스에서 제거되었습니다. [`[Adjust adidWithCompletionHandler]` 게터 메서드](#device-info)를 사용하여 기기의 ADID를 조회할 수 있습니다. -### 딥링크를 사용한 리어트리뷰션 \{\#reattribution\-using\-deep\-links\} +### 딥링크를 사용한 리어트리뷰션 {#reattribution-using-deep-links} SDK v4에서는 딥링크 정보를 `[Adjust appWillOpenUrl]` 메서드에 전달할 수 있습니다. - + + + ```swift func application( @@ -633,7 +743,8 @@ func application( } ``` - + + ```objc - (BOOL)application:(UIApplication *)app @@ -651,10 +762,13 @@ func application( } ``` - + + SDK v5에서는 명확성을 위해 이름이 `[Adjust processDeeplink]`로 변경되었습니다. - + + + ```swift func application( @@ -675,7 +789,8 @@ func application( } ``` - + + ```objc - (BOOL)application:(UIApplication *)app @@ -693,12 +808,15 @@ func application( } ``` - + + -### 디퍼드 딥링크 콜백 \{\#deferred\-callback\} +### 디퍼드 딥링크 콜백 {#deferred-callback} SDK v4에서는 `adjustDeepLinkResponse` 메서드를 호출하여 디퍼드 딥링크 콜백을 처리할 수 있습니다. - + + + ```swift func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { @@ -711,7 +829,8 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - + + ```objc - (BOOL)adjustDeeplinkResponse:(NSURL *)deeplink { @@ -724,10 +843,13 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - + + SDK v5에서는 명확성을 위해 이 메서드의 이름이 `adjustDeferredDeeplinkReceived`로 변경되었습니다. 모든 인수는 동일합니다. - + + + ```swift func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { @@ -740,7 +862,8 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - + + ```objc - (BOOL)adjustDeferredDeeplinkReceived:(NSURL *)deeplink { @@ -753,51 +876,64 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - + + -### COPPA 준수 \{\#coppa\-compliance\} +### COPPA 준수 {#coppa-compliance} SDK v4에서는 부울 값과 함께 `ADJConfig` 인스턴스의 `setCoppaCompliantEnabled` 메서드를 호출하여 앱이 COPPA를 준수하는 것으로 표시할 수 있습니다. - + + + ```swift adjustConfig.setCoppaCompliantEnabled(true) ``` - + + ```objc [adjustConfig setCoppaCompliantEnabled:YES]; ``` - + + SDK v5에서는 명확성을 위해 이 메서드의 이름이 `enableCoppaCompliance`로 변경되었습니다. 이 메서드는 인수를 사용하지 않습니다. - + + + ```swift adjustConfig?.enableCoppaCompliance() ``` - + + ```objc [adjustConfig enableCoppaCompliance]; ``` - + + -### 특정 소스로부터 광고 매출 전송 \{\#send\-ad\-revenue\} +### 특정 소스로부터 광고 매출 전송 {#send-ad-revenue} SDK v4에서는 광고 매출 소스가 `ADJConfig` 클래스의 상수로 정의됩니다. SDK v5에서는 광고 매출 소스를 문자열로 전달해야 합니다. - + + + ```swift - let adRevenue = ADJAdRevenue(source: ADJAdRevenueSourceAppLovinMAX); //v4 + let adRevenue = ADJAdRevenue(source: "applovin_max_sdk") //v5 ``` - + + + ```objc - ADJAdRevenue *revenue = [[ADJAdRevenue alloc] @@ -806,10 +942,11 @@ SDK v4에서는 광고 매출 소스가 `ADJConfig` 클래스의 상수로 정 + initWithSource:@"applovin_max_sdk"]; // v5 ``` - + + -| v4 | v5 | -|--------------------------------------|---------------------------| +| v4 | v5 | +| ------------------------------------ | ------------------------- | | `ADJAdRevenueSourceAppLovinMAX` | `"applovin_max_sdk"` | | `ADJAdRevenueSourceAdMob` | `"admob_sdk"` | | `ADJAdRevenueSourceIronSource` | `"ironsource_sdk"` | @@ -822,7 +959,7 @@ SDK v4에서는 광고 매출 소스가 `ADJConfig` 클래스의 상수로 정 | `ADJAdRevenueSourceTopOn` | `"topon_sdk"` | | `ADJAdRevenueSourceMopub` | `"mopub"` | -### 데이터 레지던시 및 URL 전략 설정 \{\#url\-strategy\} +### 데이터 레지던시 및 URL 전략 설정 {#url-strategy} SDK v4에서는 URL 전략 및 데이터 레지던시 도메인이 `ADJConfig` 클래스의 상수로 정의됩니다. @@ -832,8 +969,8 @@ SDK v4에서는 URL 전략 및 데이터 레지던시 도메인이 `ADJConfig` SDK v5에서는 선택한 도메인을 배열로 전달해야 합니다. 또한 다음 항목을 설정할 수 있습니다. -* `useSubdomains` \(`BOOL`\): 도메인을 Adjust 도메인으로 취급할지 여부. `true`인 경우, SDK는 도메인의 접두사로 Adjust에 특화된 하위 도메인을 사용합니다. `false`인 경우 SDK는 접두사를 추가하지 않고 제공된 도메인을 그대로 사용합니다. -* `isDataResidency` \(`BOOL`\): 도메인을 데이터 레지던시에 사용해야 하는지 여부. +- `useSubdomains` \(`BOOL`\): 도메인을 Adjust 도메인으로 취급할지 여부. `true`인 경우, SDK는 도메인의 접두사로 Adjust에 특화된 하위 도메인을 사용합니다. `false`인 경우 SDK는 접두사를 추가하지 않고 제공된 도메인을 그대로 사용합니다. +- `isDataResidency` \(`BOOL`\): 도메인을 데이터 레지던시에 사용해야 하는지 여부. ```objc NSArray *domain = []; @@ -843,61 +980,69 @@ NSArray *domain = []; 아래 표를 보고 SDK v5에서 URL 전략을 구성하는 방법을 확인하시기 바랍니다. -| v4 | v5 \- 메인 및 폴백 도메인 | v5 \- 하위 도메인 사용 | v5 \- 데이터 레지던시 여부 | -|------------------------|-----------------------------------|------------------|--------------------| -| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | -| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | -| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | -| `ADJUrlStrategyChina` | `"adjust.world"`, `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCn` | `"adjust.cn"`, `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | -| `ADJUrlStrategyIndia` | `"adjust.net.in"`, `"adjust.com"` | `true` | `false` | +| v4 | v5 \- 메인 및 폴백 도메인 | v5 \- 하위 도메인 사용 | v5 \- 데이터 레지던시 여부 | +| ---------------------- | --------------------------------- | ---------------------- | -------------------------- | +| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | +| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | +| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | +| `ADJUrlStrategyChina` | `"adjust.world"`, `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCn` | `"adjust.cn"`, `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | +| `ADJUrlStrategyIndia` | `"adjust.net.in"`, `"adjust.com"` | `true` | `false` | -#### 예 \{\#examples\} +#### 예 {#examples} - + + ```swift let domain = ["adjust.net.in", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - + + ```swift let domain = ["adjust.world", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - + + ```swift let domain = ["adjust.cn"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - + + ```swift let domain = ["eu.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - + + ```swift let domain = ["tr.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - + + ```swift let domain = ["us.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - + + + ```objc NSArray *domain = [[NSArray alloc] @@ -905,7 +1050,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -913,7 +1059,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -921,7 +1068,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -929,7 +1077,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -937,7 +1086,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -945,12 +1095,15 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - + + -### SKAdNetwork 커뮤니케이션 비활성화 \{\#disable\-skan\} +### SKAdNetwork 커뮤니케이션 비활성화 {#disable-skan} SDK v4에서는 `[ADJConfig deactivateSKAdNetworkHandling]` 메서드를 호출하여 SDK가 SKAdNetwork와 통신하는 것을 방지할 수 있습니다. - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -962,7 +1115,8 @@ let adjustConfig = ADJConfig( adjustConfig.deactivateSKAdNetworkHandling() ``` - + + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -972,10 +1126,13 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig deactivateSKAdNetworkHandling]; ``` - + + SDK v5에서는 명확성을 위해 이 메서드의 이름이 `[ADJConfig disableSkanAttribution]`로 변경되었습니다. - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -987,7 +1144,8 @@ let adjustConfig = ADJConfig( adjustConfig?.disableSkanAttribution() ``` - + + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -997,19 +1155,21 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig disableSkanAttribution]; ``` - + + -### 전환값 업데이트 \{\#update\-cvs\} +### 전환값 업데이트 {#update-cvs} SDK v4에서는 `updateConversionValue` 메서드를 사용하여 Adjust에 업데이트된 전환값을 전송할 수 있습니다. 이 메서드는 Apple의 지원 종료된 [`updateConversionValue` 메서드](https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue)를 래핑하며 SDK v5에서는 제거되었습니다. SDK v5에서는 다음 인수와 함께 `[Adjust updateSkanConversionValue]` 메서드를 사용하여 전환값을 업데이트할 수 있습니다. -* `conversionValue` \(`NSInteger`\): 업데이트된 전환값 -* `coarseValue` \(`NSString`\): 업데이트된 [coarse 전환값](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -* `lockWindow` \(`BOOL`\): 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부 +- `conversionValue` \(`NSInteger`\): 업데이트된 전환값 +- `coarseValue` \(`NSString`\): 업데이트된 [coarse 전환값](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +- `lockWindow` \(`BOOL`\): 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부 - + + ```swift Adjust.updateSkanConversionValue( @@ -1022,7 +1182,8 @@ Adjust.updateSkanConversionValue( } ``` - + + ```objc [Adjust updateSkanConversionValue:1 @@ -1033,12 +1194,15 @@ Adjust.updateSkanConversionValue( }]; ``` - + + -### App Tracking Transparency\(ATT\) 승인 래퍼 \{\#att\-wrapper\} +### App Tracking Transparency\(ATT\) 승인 래퍼 {#att-wrapper} SDK v4에서는 `[Adjust requestTrackingAuthorizationWithCompletionHandler]` 메서드를 사용하여 사용자의 ATT 승인 상태 변경 사항을 처리할 수 있습니다. - + + + ```swift Adjust.requestTrackingAuthorization { status in @@ -1061,7 +1225,8 @@ Adjust.requestTrackingAuthorization { status in } ``` - + + ```objc [Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1082,10 +1247,13 @@ Adjust.requestTrackingAuthorization { status in }]; ``` - + + 명확성을 위해 SDK v5에서 이름이 `[Adjust requestAppTrackingAuthorizationWithCompletionHandler]`으로 변경되었습니다. - + + + ```swift Adjust.requestAppTrackingAuthorization { status in @@ -1108,7 +1276,8 @@ Adjust.requestAppTrackingAuthorization { status in } ``` - + + ```objc [Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1129,12 +1298,15 @@ Adjust.requestAppTrackingAuthorization { status in }]; ``` - + + -### 디바이스 정보 확인 \{\#device\-info\} +### 디바이스 정보 확인 {#device-info} SDK v4에서는 모든 기기 정보 게터 메서드가 동기적으로 실행됩니다. SDK v5에서는 이러한 메서드가 비동기적으로 실행되도록 변경되었습니다. 비동기 프로세스가 완료되면 콜백 기능을 추가하여 해당 정보를 처리할 수 있습니다. - + + + ```swift Adjust.adid { adid in @@ -1142,7 +1314,8 @@ Adjust.adid { adid in }; ``` - + + ```swift Adjust.idfa { idfa in @@ -1150,7 +1323,8 @@ Adjust.idfa { idfa in }; ``` - + + ```swift Adjust.idfv { idfv in @@ -1158,7 +1332,8 @@ Adjust.idfv { idfv in }; ``` - + + ```swift Adjust.sdkVersion { sdkVersion in @@ -1166,7 +1341,8 @@ Adjust.sdkVersion { sdkVersion in }; ``` - + + ```swift Adjust.isEnabled { isEnabled in @@ -1174,7 +1350,8 @@ Adjust.isEnabled { isEnabled in }; ``` - + + ```swift Adjust.attribution { attribution in @@ -1182,7 +1359,9 @@ Adjust.attribution { attribution in } ``` - + + + ```objc [Adjust adidWithCompletionHandler:^(NSString * _Nullable adid) { @@ -1190,7 +1369,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust idfaWithCompletionHandler:^(NSString * _Nullable idfa) { @@ -1198,7 +1378,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust idfvWithCompletionHandler:^(NSString * _Nullable idfv) { @@ -1206,7 +1387,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust sdkVersionWithCompletionHandler:^(NSString * _Nullable sdkVersion) { @@ -1214,7 +1396,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust isEnabledWithCompletionHandler:^(BOOL isEnabled) { @@ -1222,7 +1405,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust attributionWithCompletionHandler:^(ADJAttribution * _Nullable attribution) { @@ -1230,148 +1414,178 @@ Adjust.attribution { attribution in } ``` - + + -삭제된 API \{\#removed\-apis\} -------------------------------- +## 삭제된 API \{\#removed\-apis\} - +{" "} 다음 API가 SDK v5에서 삭제되었습니다. -### 이벤트 버퍼링 \{\#event\-buffering\} +### 이벤트 버퍼링 {#event-buffering} SDK v4는 이벤트 버퍼링을 지원합니다. 이 기능은 요청 이벤트, 광고 매출, 푸시 토큰 및 기타 정보를 로컬 버퍼에 저장하여 나중에 전송할 수 있게 해줍니다. - + + + ```swift Adjust.setEventBufferingEnabled(true) ``` - + + ```objc [adjustConfig setEventBufferingEnabled:YES]; ``` - + + 이 설정은 SDK v5에서 제거되었습니다. -### 커스텀 사용자 에이전트 문자열 \{\#custom\-user\-agent\} +### 커스텀 사용자 에이전트 문자열 {#custom-user-agent} SDK v4는 사용자 에이전트 문자열과 함께 `[AdjustConfig setUserAgent]`를 호출하여 사용자 지정 사용자 에이전트를 설정하는 기능을 지원합니다. - + + + ```swift adjustConfig.setUserAgent("user_agent_value") ``` - + + ```objc [adjustConfig setUserAgent:@"user_agent_value"]; ``` - + + 이 설정은 SDK v5에서 제거되었습니다. -### 알려진 기기 여부 설정 \{\#set\-device\-known\} +### 알려진 기기 여부 설정 {#set-device-known} SDK v4에서는 `[AdjustConfig setIsDeviceKnown];` 메서드를 호출하여 알려진 기기인지 여부를 수동으로 SDK에 알릴 수 있습니다. - + + + ```swift adjustConfig.setIsDeviceKnown(true) ``` - + + ```objc [adjustConfig setIsDeviceKnown:YES]; ``` - + + 이 설정은 SDK v5에서 제거되었습니다. -### SDK 작동 시작 지연 \{\#delay\-sdk\-start\} +### SDK 작동 시작 지연 {#delay-sdk-start} SDK v4는 `[AdjustConfig setDelayStart];`를 호출하여 SDK 작동 시작을 최대 **10초** 간 지연하는 기능을 지원합니다. - + + + ```swift adjustConfig.setDelayStart(10) ``` - + + ```objc [adjustConfig setDelayStart:10]; ``` - + + 이 설정은 SDK v5에서 제거되었습니다. -### 글로벌 서드파티 공유 비활성화 \{\#disable\-sharing\-globally\} +### 글로벌 서드파티 공유 비활성화 {#disable-sharing-globally} SDK v4에서는 `Adjust.disableThirdPartySharing()` 메서드를 호출하여 전 세계에서 서드파티와의 정보 공유를 비활성화할 수 있습니다. - + + + ```swift Adjust.disableThirdPartySharing() ``` - + + ```objc [Adjust disableThirdPartySharing]; ``` - + + 이 기능은 SDK v5에서 제거되었습니다. SDK v5에서는 `[Adjust trackThirdPartySharing]` 메서드를 사용하여 서드파티 공유를 활성화 또는 비활성화합니다. - + + + ```swift guard let adjustThirdPartySharing = ADJThirdPartySharing(isEnabled: 0) else { return } Adjust.trackThirdPartySharing(adjustThirdPartySharing) ``` - + + ```objc ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabled:@NO]; [Adjust trackThirdPartySharing:adjustThirdPartySharing]; ``` - + + -### 승인 상태 변경 확인 \{\#check\-att\-status\-change\} +### 승인 상태 변경 확인 {#check-att-status-change} SDK v4에서는 `[Adjust checkForNewAttStatus]` 메서드를 사용하여 SDK가 사용자의 ATT 상태를 읽고 해당 정보를 Adjust 서버에 전달하도록 설정할 수 있습니다. - + + + ```swift Adjust.checkForNewAttStatus() ``` - + + ```objc [Adjust checkForNewAttStatus]; ``` - + + 이 메서드는 SDK v5에서 제거되었습니다. -### 전환값 업데이트 수신 \{\#listen\-for\-cv\-updates\} +### 전환값 업데이트 수신 {#listen-for-cv-updates} SDK v4에서는 `adjustConversionValueUpdated` 메서드를 사용하여 SKAdNetwork 업데이트를 수신할 수 있습니다. - + + + ```swift func adjustConversionValueUpdated(_ conversionValue: NSNumber) { @@ -1387,7 +1601,8 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - + + ```objc - (void)adjustConversionValueUpdated:(NSNumber *)conversionValue { @@ -1405,16 +1620,18 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - + + SDK v5에서는 이 두 메서드가 단일 `adjustSkanUpdatedWithConversionData` 메서드로 교체되었으며 이 메서드는 유형이 지정되지 않은 딕셔너리를 반환합니다. 현재 지원되는 키는 다음과 같습니다. -* `conversion_value`: 업데이트된 전환값 -* `coarse_value`: 업데이트된 [coarse 전환값](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -* `lock_window`: 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부 -* `error`: 업데이트로 반환된 모든 오류 메시지 +- `conversion_value`: 업데이트된 전환값 +- `coarse_value`: 업데이트된 [coarse 전환값](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +- `lock_window`: 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부 +- `error`: 업데이트로 반환된 모든 오류 메시지 - + + ```swift func adjustSkanUpdated(withConversionData data: [String: String]) { @@ -1423,7 +1640,8 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - + + ```objc - (void)adjustSkanUpdatedWithConversionData:(NSDictionary *)data { @@ -1432,35 +1650,38 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - + + -### 앱 시크릿 \{\#set\-an\-app\-secret\} 설정 +### 앱 시크릿 {#set-an-app-secret} 설정 SDK v4는 `ADJConfig` 인스턴스의 `setAppSecret` 메서드를 호출하여 SDK 트래픽을 서명하는 데 사용할 앱 시크릿을 설정하는 기능을 지원합니다. - + + + ```swift adjustConfig.setAppSecret(secretId, info1: info1, info2: info2, info3: info3, info4: info4) ``` - + + ```objc [adjustConfig setAppSecret:secretId info1:info1 info2:info2 info3:info3 info4:info4]; ``` - + + 이 설정은 SDK v5에서 제거되었습니다. -제거된 플러그인 \{\#removed\-plugins\} ------------------------------------ +## 제거된 플러그인 \{\#removed\-plugins\} - +{" "} 다음 플러그인은 SDK v5에서 제거되었습니다. -* Criteo -* Trademob -* Sociomantic - +- Criteo +- Trademob +- Sociomantic diff --git a/src/content/docs/zh/sdk/migration/ios/v4-to-v5.mdx b/src/content/docs/zh/sdk/migration/ios/v4-to-v5.mdx index b3fa3c49b..6c5529ebd 100644 --- a/src/content/docs/zh/sdk/migration/ios/v4-to-v5.mdx +++ b/src/content/docs/zh/sdk/migration/ios/v4-to-v5.mdx @@ -1,21 +1,20 @@ --- -title: "SDK v5 迁移指南" -description: "按照此指南从 SDK v4 升级到 SDK v5" -slug: "en/sdk/migration/ios/v4-to-v5" +title: SDK v5 迁移指南 +description: 按照此指南从 SDK v4 升级到 SDK v5 +slug: zh/sdk/migration/ios/v4-to-v5 sidebar-position: 1 --- -操作前须知 \{\#before\-you\-begin\} ------------------------------------ + +## 操作前须知 \{\#before\-you\-begin\} 在更新到 SDK v5 之前,您需要进行以下操作: -1. SDK v5 支持[SDK 签名验证](https://help.adjust.com/en/article/sdk-signature)。如果您当前正在使用 SDK 签名库,则需要先将其卸载。 -2. 如果您的应用针对低于以下版本的 API,则需要先更新应用才能使用 SDK v5: - * iOS: **12\.0** - * tvOS: **12\.0** +1. SDK v5 支持[SDK 签名验证](https://help.adjust.com/zh/article/sdk-signature)。如果您当前正在使用 SDK 签名库,则需要先将其卸载。 +2. 如果您的应用针对低于以下版本的 API,则需要先更新应用才能使用 SDK v5: + - iOS: **12\.0** + - tvOS: **12\.0** -安装 beta SDK \{\#install\-the\-sdk\} ----------------------------------------- +## 安装 beta SDK \{\#install\-the\-sdk\} 要开始使用 SDK v5,您需要将其添加为 XCode 项目的依赖。为此请进行下列操作: @@ -23,22 +22,24 @@ sidebar-position: 1 2. 添加下列行至您的 `Podfile`: - + ```rb pod 'Adjust', '~> $IOS_V5_VERSION' ``` - + + 3. 运行`pod install`来安装依赖。 -更新初始化方法 \{\#init\-method\} ------------------------------- +## 更新初始化方法 \{\#init\-method\} - +{" "} 在 SDK v4 中,SDK 的初始化方法是配置`ADJConfig`对象并将其传递至`[Adjust appDidLaunch]`方法。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -50,7 +51,8 @@ let adjustConfig = ADJConfig( Adjust.appDidLaunch(adjustConfig) ``` - + + ```objc #import "Adjust.h" @@ -63,10 +65,13 @@ NSString *environment = ADJEnvironmentSandbox; [Adjust appDidLaunch:adjustConfig]; ``` - + + 在 SDK v5 中,该方法已重命名为`[Adjust initSdk]` 。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -78,7 +83,8 @@ let adjustConfig = ADJConfig( Adjust.initSdk(adjustConfig) ``` - + + ```objc #import "Adjust.h" @@ -91,301 +97,364 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] initWithAppToken:yourAppToken [Adjust initSdk:adjustConfig]; ``` - + + -### 配置 SDK 签名库 \{\#signature\-setup\} +### 配置 SDK 签名库 {#signature-setup} -SDK v5 包含 [SDK 签名库](https://help.adjust.com/en/article/sdk-signature)。您可以按照[签名库集成指南](/en/sdk/ios/integrations/signature-library)中的测试步骤对此进行测试。 +SDK v5 包含 [SDK 签名库](https://help.adjust.com/zh/article/sdk-signature)。您可以按照[签名库集成指南](/zh/sdk/ios/integrations/signature-library)中的测试步骤对此进行测试。 -签名保护功能默认处于禁用状态。要启用签名,您需要[执行签名验证](https://help.adjust.com/en/article/sdk-signature#enforce-signature-validation)。 +签名保护功能默认处于禁用状态。要启用签名,您需要[执行签名验证](https://help.adjust.com/zh/article/sdk-signature#enforce-signature-validation)。 -变更 API \{\#changed\-apis\} ------------------------------- +## 变更 API \{\#changed\-apis\} - +{" "} SDK v5 中变更了下列 API。 -### 禁用或启用 SDK \{\#disable\-enable\-sdk\} +### 禁用或启用 SDK {#disable-enable-sdk} 在 SDK v4 中,您可以通过调用带`BOOL`值的`[Adjust setEnabled]`来启用和禁用 SDK。 -* 调用`[Adjust setEnabled:NO]`来禁用 SDK。 -* 调用`[Adjust setEnabled:YES]`来启用 SDK。 +- 调用`[Adjust setEnabled:NO]`来禁用 SDK。 +- 调用`[Adjust setEnabled:YES]`来启用 SDK。 - + + ```swift Adjust.setEnabled(false) //disable SDK Adjust.setEnabled(true) //enable SDK ``` - + + ```objc [Adjust setEnabled:NO]; // disable SDK [Adjust setEnabled:YES]; // enable SDK ``` - + + 在 SDK v5 中,为清晰起见,此功能被分成单独的命令。 -* 调用`[Adjust disable]`来禁用 SDK。 -* 调用`[Adjust enable]`来启用 SDK。 +- 调用`[Adjust disable]`来禁用 SDK。 +- 调用`[Adjust enable]`来启用 SDK。 - + + ```swift Adjust.disable() //disable SDK Adjust.enable() //enable SDK ``` - + + ```objc [Adjust disable]; // disable SDK [Adjust enable]; // enable SDK ``` - + + -### 在后台发送信息 \{\#send\-in\-background\} +### 在后台发送信息 {#send-in-background} 在 SDK v4 中,您可以使用`true`参数调用`[ADJConfig setSendInBackground]`方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。 - + + + ```swift adjustConfig.setSendInBackground(true) ``` - + + ```objc [adjustConfig setSendInBackground:YES]; ``` - + + 在 SDK v5 中,您需要调用不带参数的`[ADJConfig enableSendingInBackground]`方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。 - + + + ```swift adjustConfig.enableSendingInBackground() ``` - + + ```objc [adjustConfig enableSendingInBackground]; ``` - + + -### 禁用 AdServices 信息读取 \{\#disable\-adservices\} +### 禁用 AdServices 信息读取 {#disable-adservices} 在 SDK v4 中,您可以使用`false`参数调用`[ADJConfig setAllowAdServicesInfoReading]`方法来阻止 Adjust SDK 读取 AdServices 信息。 - + + + ```swift adjustConfig.setAllowAdServicesInfoReading(false) ``` - + + ```objc [adjustConfig setAllowAdServicesInfoReading:NO]; ``` - + + 在 SDK v5 中,您需要调用不带参数的`disableAdServices`方法以防止 Adjust SDK 读取 AdServices 信息。 - + + + ```swift adjustConfig.disableAdServices() ``` - + + ```objc [adjustConfig disableAdServices]; ``` - + + -### 禁用 IDFA 读取 \{\#disable\-idfa\} +### 禁用 IDFA 读取 {#disable-idfa} 在 SDK v4 中,您可以使用`false`参数调用`[ADJConfig setAllowIdfaReading]`方法来阻止 Adjust SDK 读取设备的 IDFA。 - + + + ```swift adjustConfig.setAllowIdfaReading(false) ``` - + + ```objc [adjustConfig setAllowIdfaReading:NO]; ``` - + + 在 SDK v5 中,您需要调用不带参数的`disableIdfaReading`方法来阻止 Adjust SDK 读取设备的 IDFA。 - + + + ```swift adjustConfig.disableIdfaReading() ``` - + + ```objc [adjustConfig disableIdfaReading]; ``` - + + -### 在归因中启用成本数据 \{\#enable\-cost\-data\} +### 在归因中启用成本数据 {#enable-cost-data} 在 SDK v4 中,您可以通过调用带`true`参数的`[ADJConfig setNeedsCost]`方法在设备归因信息中启用成本数据。 - + + + ```swift adjustConfig.setNeedsCost(true) ``` - + + ```objc [adjustConfig setNeedsCost:YES]; ``` - + + 在 SDK v5 中,您需要在不带参数的情况下调用`[ADJConfig enableCostDataInAttribution]`方法。 - + + + ```swift adjustConfig.enableCostDataInAttribution() ``` - + + ```objc [adjustConfig enableCostDataInAttribution]; ``` - + + + +#### 启用 LinkMe {#enable-linkme} -#### 启用 LinkMe \{\#enable\-linkme\} +在 SDK v4 中,您可以通过调用带有`true`参数的`[ADJConfig setLinkMeEnabled]`方法来启用[Adjust LinkMe](https://help.adjust.com/zh/article/linkme) 。 -在 SDK v4 中,您可以通过调用带有`true`参数的`[ADJConfig setLinkMeEnabled]`方法来启用[Adjust LinkMe](https://help.adjust.com/en/article/linkme) 。 - + + ```swift adjustConfig.setLinkMeEnabled(true) ``` - + + ```objc [adjustConfig setLinkMeEnabled:YES]; ``` - + + 在 SDK v5 中,您需要在不带参数的情况下调用`[ADJConfig enableLinkMe]`方法。 - + + + ```swift adjustConfig.enableLinkMe() ``` - + + ```objc [adjustConfig enableLinkMe]; ``` - + + -### 只读取设备 ID 一次 \{\#read\-device\-id\-once\} +### 只读取设备 ID 一次 {#read-device-id-once} 在 SDK v4 中,您可以通过调用带有`true`参数的`[ADJConfig setReadDeviceInfoOnceEnabled]`方法来指示 SDK 在启动时仅读取一次设备标识符。 - + + + ```swift adjustConfig.setReadDeviceInfoOnceEnabled(true) ``` - + + ```objc [adjustConfig setReadDeviceInfoOnceEnabled:YES]; ``` - + + 在 SDK v5 中,您需要在不带参数的情况下调用`[ADJConfig enableDeviceIdsReadingOnce]`方法。 - + + + ```swift adjustConfig.enableDeviceIdsReadingOnce() ``` - + + ```objc [adjustConfig enableDeviceIdsReadingOnce]; ``` - + + -### 离线模式 \{\#offline\-mode\} +### 离线模式 {#offline-mode} 在 SDK v4 中,您可以通过调用带`BOOL`参数的`[Adjust setOfflineMode]`来启用和禁用 SDK 离线模式。 - + + + ```swift Adjust.setOfflineMode(true) // put the SDK in offline mode Adjust.setOfflineMode(false) // put the SDK back in online mode ``` - + + ```objc [Adjust setOfflineMode:YES]; // put the SDK in offline mode [Adjust setOfflineMode:NO]; // put the SDK back in online mode ``` - + + 在 SDK v5 中,为清晰起见,此功能被分成单独的命令。 -* 调用`[Adjust switchToOfflineMode]`将 SDK 设为离线模式。 -* 调用`[Adjust switchBackToOnlineMode]`将 SDK 重新设为在线模式。 +- 调用`[Adjust switchToOfflineMode]`将 SDK 设为离线模式。 +- 调用`[Adjust switchBackToOnlineMode]`将 SDK 重新设为在线模式。 - + + ```swift Adjust.switchToOfflineMode() // put the SDK in offline mode Adjust.switchBackToOnlineMode() // put the SDK back in online mode ``` - + + ```objc [Adjust switchToOfflineMode]; // put the SDK in offline mode [Adjust switchBackToOnlineMode]; // put the SDK back in online mode ``` - + + -### 推送标签 \{\#push\-tokens\} +### 推送标签 {#push-tokens} 在SDK v4 中,您可以使用 `[Adjust setDeviceToken]` 方法设置推送标签 \(Push token\)。 - + + + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { @@ -393,7 +462,8 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { @@ -401,10 +471,13 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + 在 SDK v5 中,该方法已重命名为`[Adjust setPushToken]` 。 - + + + ```swift func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken pushToken: Data) { @@ -412,7 +485,8 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + ```objc - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)pushToken { @@ -420,15 +494,19 @@ func application(_ app: UIApplication, didRegisterForRemoteNotificationsWithDevi } ``` - + + SDK v4 包含一个名为`setPushToken`的方法,该方法接受`NSString`值。SDK v5 中的`setPushToken`方法接受`NSData`值。 - -### 会话回传参数 \{\#callback\-params\} + + +### 会话回传参数 {#callback-params} 在 SDK v4 中,您可以通过传递键值对至`[Adjust addSessionCallbackParameter]`方法来添加会话参数,也可以使用`[Adjust removeSessionCallbackParameter]`方法移除单个参数。 - + + + ```swift Adjust.addSessionCallbackParameter("foo", value: "bar") @@ -436,7 +514,8 @@ Adjust.removeSessionCallbackParameter("foo") Adjust.resetSessionCallbackParameters() ``` - + + ```objc [Adjust addSessionCallbackParameter:@"foo" value:@"bar"]; @@ -444,10 +523,13 @@ Adjust.resetSessionCallbackParameters() [Adjust resetSessionCallbackParameters]; ``` - + + 在 SDK v5 中,会话参数被重命名为统一参数。SDK v5 不再以位置参数的形式指定键和值,而是使用`forKey`实例方法将值指定给键。 - + + + ```swift Adjust.addGlobalCallbackParameter("bar", forKey: "foo") @@ -455,7 +537,8 @@ Adjust.removeGlobalCallbackParameter(forKey: "foo") Adjust.removeGlobalCallbackParameters() ``` - + + ```objc [Adjust addGlobalCallbackParameter:@"bar" forKey:@"foo"]; @@ -463,12 +546,15 @@ Adjust.removeGlobalCallbackParameters() [Adjust removeGlobalCallbackParameters]; ``` - + + -### 会话合作伙伴参数 \{\#partner\-params\} +### 会话合作伙伴参数 {#partner-params} 在 SDK v4 中,您可以通过传递键值对至`[Adjust addSessionPartnerParameter]`方法来添加会话合作伙伴参数,也可以使用`[Adjust removeSessionPartnerParameter]`方法移除单个参数。 - + + + ```swift Adjust.addSessionPartnerParameter("foo", value: "bar") @@ -476,7 +562,8 @@ Adjust.removeSessionPartnerParameter("foo") Adjust.resetSessionPartnerParameters() ``` - + + ```objc [Adjust addSessionPartnerParameter:@"foo" value:@"bar"]; @@ -484,10 +571,13 @@ Adjust.resetSessionPartnerParameters() [Adjust resetSessionPartnerParameters]; ``` - + + 在 SDK v5 中,会话合作伙伴参数被重命名为统一合作伙伴参数。SDK v5 不再以位置参数的形式指定键和值,而是使用`forKey`实例方法将值指定给键。 - + + + ```swift Adjust.addGlobalPartnerParameter("bar", forKey: "foo") @@ -495,7 +585,8 @@ Adjust.removeGlobalPartnerParameter(forKey: "foo") Adjust.removeGlobalPartnerParameters() ``` - + + ```objc [Adjust addGlobalPartnerParameter:@"bar" forKey:@"foo"]; @@ -503,12 +594,15 @@ Adjust.removeGlobalPartnerParameters() [Adjust removeGlobalPartnerParameters]; ``` - + + -### 发送订阅信息 \{\#send\-subscriptions\} +### 发送订阅信息 {#send-subscriptions} 在 SDK v4 中,您可以使用`ADJSubscription`类创建订阅信息负载发送至 Adjust。 - + + + ```swift let subscription = ADJSubscription( @@ -518,7 +612,8 @@ let subscription = ADJSubscription( andReceipt: receipt) ``` - + + ```objc ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price @@ -526,10 +621,13 @@ ADJSubscription *subscription = [[ADJSubscription alloc] initWithPrice:price transactionId:transactionId]; ``` - + + 为清晰起见,此类在 SDK v5 中已重命名为`ADJAppStoreSubscription` 。 - + + + ```swift let subscription = ADJAppStoreSubscription( @@ -538,7 +636,8 @@ let subscription = ADJAppStoreSubscription( transactionId: transactionId) ``` - + + ```objc ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] @@ -547,12 +646,15 @@ ADJAppStoreSubscription *subscription = [[ADJAppStoreSubscription alloc] transactionId:transactionId]; ``` - + + -### 事件去重 \{\#event\-deduplication\} +### 事件去重 {#event-deduplication} 在 SDK v4 中,事件去重与事件`transaction ID`同时进行且唯一 ID 的数量上限为 10 个。 - + + + ```swift let event = ADJEvent(eventToken: "eventToken") @@ -560,7 +662,8 @@ event.setTransactionId("deduplication_id") Adjust.trackEvent(event) ``` - + + ```objc ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; @@ -568,10 +671,13 @@ ADJEvent *event = [ADJEvent eventWithEventToken:@"event_token"]; [Adjust trackEvent:event]; ``` - + + 在 SDK v5 中,该功能与`transaction ID`分离。事件去重添加了名为`deduplicationId`的新 ID 字段。用户可以自定义`deduplicationId`的数量限制,添加到用于识别重复事件的列表中。默认情况下,数量上限为 **10** 。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -588,7 +694,8 @@ event.setDeduplicationId("deduplication_id") Adjust.trackEvent(event) ``` - + + ```objc NSString *yourAppToken = @"{YourAppToken}"; @@ -604,16 +711,19 @@ ADJEvent *event = [[ADJEvent alloc] initWithEventToken:kEventToken3]; [Adjust trackEvent:event]; ``` - + + -### AdjustAttribution 类 \{\#attribution\-class\} +### AdjustAttribution 类 {#attribution-class} 在 SDK v4 中,`AdjustAttribution`调用包含一个名为`adid`的属性。在 SDK v5 中,`adid`属性已从`AdjustAttribution`类中移除。您可以使用[`[Adjust adidWithCompletionHandler]` getter 方法](#device-info)获取设备的 ADID。 -### 通过深度链接进行再归因 \{\#reattribution\-using\-deep\-links\} +### 通过深度链接进行再归因 {#reattribution-using-deep-links} 在 SDK v4 中,您可以将深度链接信息传递至`[Adjust appWillOpenUrl]`方法。 - + + + ```swift func application( @@ -633,7 +743,8 @@ func application( } ``` - + + ```objc - (BOOL)application:(UIApplication *)app @@ -651,10 +762,13 @@ func application( } ``` - + + 为清晰起见,在 SDK v5 中,该方法已重命名为`[Adjust processDeeplink]` 。 - + + + ```swift func application( @@ -675,7 +789,8 @@ func application( } ``` - + + ```objc - (BOOL)application:(UIApplication *)app @@ -693,12 +808,15 @@ func application( } ``` - + + -### 延迟深度链接回传 \{\#deferred\-callback\} +### 延迟深度链接回传 {#deferred-callback} 在 SDK v4 中,您可以调用`adjustDeepLinkResponse`方法处理延迟深度链接回传。 - + + + ```swift func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { @@ -711,7 +829,8 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - + + ```objc - (BOOL)adjustDeeplinkResponse:(NSURL *)deeplink { @@ -724,10 +843,13 @@ func adjustDeeplinkResponse(_ deeplink: URL?) -> Bool { } ``` - + + 在 SDK v5 中,为清晰起见,该方法已被重命名为`adjustDeferredDeeplinkReceived` 。所有参数都是相同的。 - + + + ```swift func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { @@ -740,7 +862,8 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - + + ```objc - (BOOL)adjustDeferredDeeplinkReceived:(NSURL *)deeplink { @@ -753,51 +876,64 @@ func adjustDeferredDeeplinkReceived(_ deeplink: URL?) -> Bool { } ``` - + + -### COPPA 合规 \{\#coppa\-compliance\} +### COPPA 合规 {#coppa-compliance} 在 SDK v4 中,您可以使用布尔值在`ADJConfig`实例上调用`setCoppaCompliantEnabled`方法,将应用标记为 COPPA 合规。 - + + + ```swift adjustConfig.setCoppaCompliantEnabled(true) ``` - + + ```objc [adjustConfig setCoppaCompliantEnabled:YES]; ``` - + + 在 SDK v5 中,为清晰起见,该方法已被重命名为`enableCoppaCompliance` 。该方法不带参数。 - + + + ```swift adjustConfig?.enableCoppaCompliance() ``` - + + ```objc [adjustConfig enableCoppaCompliance]; ``` - + + -### 发送特定来源的广告收入 \{\#send\-ad\-revenue\} +### 发送特定来源的广告收入 {#send-ad-revenue} 在 SDK v4 中,广告收入来源被定义为`ADJConfig`类中的常量。在 SDK v5 中,广告收入来源需要以字符串形式传递。 - + + + ```swift - let adRevenue = ADJAdRevenue(source: ADJAdRevenueSourceAppLovinMAX); //v4 + let adRevenue = ADJAdRevenue(source: "applovin_max_sdk") //v5 ``` - + + + ```objc - ADJAdRevenue *revenue = [[ADJAdRevenue alloc] @@ -806,10 +942,11 @@ adjustConfig?.enableCoppaCompliance() + initWithSource:@"applovin_max_sdk"]; // v5 ``` - + + -| v4 | v5 | -|--------------------------------------|---------------------------| +| v4 | v5 | +| ------------------------------------ | ------------------------- | | `ADJAdRevenueSourceAppLovinMAX` | `"applovin_max_sdk"` | | `ADJAdRevenueSourceAdMob` | `"admob_sdk"` | | `ADJAdRevenueSourceIronSource` | `"ironsource_sdk"` | @@ -822,7 +959,7 @@ adjustConfig?.enableCoppaCompliance() | `ADJAdRevenueSourceTopOn` | `"topon_sdk"` | | `ADJAdRevenueSourceMopub` | `"mopub"` | -### 设置数据驻留和 URL 策略 \{\#url\-strategy\} +### 设置数据驻留和 URL 策略 {#url-strategy} 在 SDK v4 中,URL 策略和数据驻留域名在`ADJConfig`类中被定义为常量。 @@ -832,8 +969,8 @@ adjustConfig?.enableCoppaCompliance() 在 SDK v5 中,您需要将选定的一个或多个域名以数组的形式发送。您还可以进行下列设置: -* `useSubdomains` \(`BOOL`\): 域名是否应被视为 Adjust 域名。若为 `true`,则 SDK 会为域名添加 Adjust 子域名前缀。若为 `false`,SDK 会使用收到的域名,不添加任何前缀。 -* `isDataResidency` \( `BOOL` \):域名是否用于数据驻留。 +- `useSubdomains` \(`BOOL`\): 域名是否应被视为 Adjust 域名。若为 `true`,则 SDK 会为域名添加 Adjust 子域名前缀。若为 `false`,SDK 会使用收到的域名,不添加任何前缀。 +- `isDataResidency` \( `BOOL` \):域名是否用于数据驻留。 ```objc NSArray *domain = []; @@ -843,61 +980,69 @@ NSArray *domain = []; 请查看下方表格,了解如何在 SDK v5 中配置 URL 策略。 -| v4 | v5 \- 主要和后备域名 | v5 \- 使用子域名 | v5 \- 数据驻留 | -|------------------------|-----------------------------------|--------------|-------------| -| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | -| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | -| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | -| `ADJUrlStrategyChina` | `"adjust.world"`: `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCn` | `"adjust.cn"`: `"adjust.com"` | `true` | `false` | -| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | -| `ADJUrlStrategyIndia` | `"adjust.net.in"`: `"adjust.com"` | `true` | `false` | +| v4 | v5 \- 主要和后备域名 | v5 \- 使用子域名 | v5 \- 数据驻留 | +| ---------------------- | ---------------------------------- | ---------------- | -------------- | +| `ADJDataResidencyEU` | `"eu.adjust.com"` | `true` | `true` | +| `ADJDataResidencyTR` | `"tr.adjust.com"` | `true` | `true` | +| `ADJDataResidencyUS` | `"us.adjust.com"` | `true` | `true` | +| `ADJUrlStrategyChina` | `"adjust.world"`: `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCn` | `"adjust.cn"`: `"adjust.com"` | `true` | `false` | +| `ADJUrlStrategyCnOnly` | `"adjust.cn"` | `true` | `false` | +| `ADJUrlStrategyIndia` | `"adjust.net.in"`: `"adjust.com"` | `true` | `false` | -#### 示例 \{\#examples\} +#### 示例 {#examples} - + + ```swift let domain = ["adjust.net.in", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - + + ```swift let domain = ["adjust.world", "adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - + + ```swift let domain = ["adjust.cn"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: false) ``` - + + ```swift let domain = ["eu.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - + + ```swift let domain = ["tr.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - + + ```swift let domain = ["us.adjust.com"] adjustConfig.setUrlStrategy(domain, useSubdomains: true, isDataResidency: true) ``` - + + + ```objc NSArray *domain = [[NSArray alloc] @@ -905,7 +1050,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -913,7 +1059,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -921,7 +1068,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:NO]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -929,7 +1077,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -937,7 +1086,8 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - + + ```objc NSArray *domain = [[NSArray alloc] @@ -945,12 +1095,15 @@ NSArray *domain = [[NSArray alloc] [adjustConfig setUrlStrategy:domain useSubdomains:YES isDataResidency:YES]; ``` - + + -### 关闭 SKAdNetwork 通讯 \{\#disable\-skan\} +### 关闭 SKAdNetwork 通讯 {#disable-skan} 在 SDK v4 中,您可以通过调用`[ADJConfig deactivateSKAdNetworkHandling]`方法来阻止 SDK 与 SKAdNetwork 通讯。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -962,7 +1115,8 @@ let adjustConfig = ADJConfig( adjustConfig.deactivateSKAdNetworkHandling() ``` - + + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -972,10 +1126,13 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig deactivateSKAdNetworkHandling]; ``` - + + 在 SDK v5 中,为清晰起见,该方法已被重命名为`[ADJConfig disableSkanAttribution]` 。 - + + + ```swift let yourAppToken = "{YourAppToken}" @@ -987,7 +1144,8 @@ let adjustConfig = ADJConfig( adjustConfig?.disableSkanAttribution() ``` - + + ```objc ADJConfig *adjustConfig = [[ADJConfig alloc] @@ -997,19 +1155,21 @@ ADJConfig *adjustConfig = [[ADJConfig alloc] [adjustConfig disableSkanAttribution]; ``` - + + -### 更新转化值 \{\#update\-cvs\} +### 更新转化值 {#update-cvs} 在 SDK v4 中,您可以使用`updateConversionValue`方法向 Adjust 发送更新后的转化值。此方法包装 Apple 已弃用的[`updateConversionValue`方法](https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue),且在 SDK v5 中删除。 如需更新 SDK v5 中的转化值,请使用带下列参数的`[Adjust updateSkanConversionValue]`方法: -* `conversionValue` \( `NSInteger` \):更新后的转化值 -* `coarseValue` \( `NSString` \):更新后的[粗粒度转化值](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -* `lockWindow` \(`BOOL`\):是否在转化窗口结束前发送回调 +- `conversionValue` \( `NSInteger` \):更新后的转化值 +- `coarseValue` \( `NSString` \):更新后的[粗粒度转化值](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +- `lockWindow` \(`BOOL`\):是否在转化窗口结束前发送回调 - + + ```swift Adjust.updateSkanConversionValue( @@ -1022,7 +1182,8 @@ Adjust.updateSkanConversionValue( } ``` - + + ```objc [Adjust updateSkanConversionValue:1 @@ -1033,12 +1194,15 @@ Adjust.updateSkanConversionValue( }]; ``` - + + -### App Tracking Transparency 授权包装器 \{\#att\-wrapper\} +### App Tracking Transparency 授权包装器 {#att-wrapper} 在 SDK v4 中,您可以使用`[Adjust requestTrackingAuthorizationWithCompletionHandler]`方法处理用户 ATT 授权状态变更。 - + + + ```swift Adjust.requestTrackingAuthorization { status in @@ -1061,7 +1225,8 @@ Adjust.requestTrackingAuthorization { status in } ``` - + + ```objc [Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1082,10 +1247,13 @@ Adjust.requestTrackingAuthorization { status in }]; ``` - + + 为清晰起见,该参数在 SDK v5 中被重命名为`[Adjust requestAppTrackingAuthorizationWithCompletionHandler]` 。 - + + + ```swift Adjust.requestAppTrackingAuthorization { status in @@ -1108,7 +1276,8 @@ Adjust.requestAppTrackingAuthorization { status in } ``` - + + ```objc [Adjust requestAppTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) { @@ -1129,12 +1298,15 @@ Adjust.requestAppTrackingAuthorization { status in }]; ``` - + + -### 获取设备信息 \{\#device\-info\} +### 获取设备信息 {#device-info} 在 SDK v4 中,所有设备信息 getter 方法都会同步运行。在 SDK v5 中,这些方法已改为异步运行。您可以添加回传函数,在异步流程完成时处理信息。 - + + + ```swift Adjust.adid { adid in @@ -1142,7 +1314,8 @@ Adjust.adid { adid in }; ``` - + + ```swift Adjust.idfa { idfa in @@ -1150,7 +1323,8 @@ Adjust.idfa { idfa in }; ``` - + + ```swift Adjust.idfv { idfv in @@ -1158,7 +1332,8 @@ Adjust.idfv { idfv in }; ``` - + + ```swift Adjust.sdkVersion { sdkVersion in @@ -1166,7 +1341,8 @@ Adjust.sdkVersion { sdkVersion in }; ``` - + + ```swift Adjust.isEnabled { isEnabled in @@ -1174,7 +1350,8 @@ Adjust.isEnabled { isEnabled in }; ``` - + + ```swift Adjust.attribution { attribution in @@ -1182,7 +1359,9 @@ Adjust.attribution { attribution in } ``` - + + + ```objc [Adjust adidWithCompletionHandler:^(NSString * _Nullable adid) { @@ -1190,7 +1369,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust idfaWithCompletionHandler:^(NSString * _Nullable idfa) { @@ -1198,7 +1378,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust idfvWithCompletionHandler:^(NSString * _Nullable idfv) { @@ -1206,7 +1387,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust sdkVersionWithCompletionHandler:^(NSString * _Nullable sdkVersion) { @@ -1214,7 +1396,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust isEnabledWithCompletionHandler:^(BOOL isEnabled) { @@ -1222,7 +1405,8 @@ Adjust.attribution { attribution in }]; ``` - + + ```objc [Adjust attributionWithCompletionHandler:^(ADJAttribution * _Nullable attribution) { @@ -1230,148 +1414,178 @@ Adjust.attribution { attribution in } ``` - + + -移除 API \{\#removed\-apis\} ------------------------------- +## 移除 API \{\#removed\-apis\} - +{" "} SDK v5 中移除了下列 API。 -### 事件缓冲 \{\#event\-buffering\} +### 事件缓冲 {#event-buffering} SDK v4 支持事件缓冲。该功能可将请求事件、广告收入、推送标签 \(Push token\) 和其他信息存储在本地缓冲区中以便在之后发送。 - + + + ```swift Adjust.setEventBufferingEnabled(true) ``` - + + ```objc [adjustConfig setEventBufferingEnabled:YES]; ``` - + + SDK v5 中已删除该设置。 -### 自定义用户代理字符串 \{\#custom\-user\-agent\} +### 自定义用户代理字符串 {#custom-user-agent} SDK v4 支持使用用户代理字符串调用 `[AdjustConfig setUserAgent]` 来设置自定义用户代理。 - + + + ```swift adjustConfig.setUserAgent("user_agent_value") ``` - + + ```objc [adjustConfig setUserAgent:@"user_agent_value"]; ``` - + + SDK v5 中已删除该设置。 -### 设置设备是否已知 \{\#set\-device\-known\} +### 设置设备是否已知 {#set-device-known} 在 SDK v4 中,您可以调用`[AdjustConfig setIsDeviceKnown];`方法,手动告知 SDK 设备是否为已知设备。 - + + + ```swift adjustConfig.setIsDeviceKnown(true) ``` - + + ```objc [adjustConfig setIsDeviceKnown:YES]; ``` - + + SDK v5 中已删除该设置。 -### 延迟 SDK 启动 \{\#delay\-sdk\-start\} +### 延迟 SDK 启动 {#delay-sdk-start} SDK v4 支持通过调用`[AdjustConfig setDelayStart];`来延迟 SDK 的启动,最多延迟 **10 秒** 。 - + + + ```swift adjustConfig.setDelayStart(10) ``` - + + ```objc [adjustConfig setDelayStart:10]; ``` - + + SDK v5 中已删除该设置。 -### 全局禁用第三方分享 \{\#disable\-sharing\-globally\} +### 全局禁用第三方分享 {#disable-sharing-globally} 在 SDK v4 中,您可以调用`Adjust.disableThirdPartySharing()`方法来全面禁用第三方信息分享。 - + + + ```swift Adjust.disableThirdPartySharing() ``` - + + ```objc [Adjust disableThirdPartySharing]; ``` - + + SDK v5 中已删除该功能。在 SDK v5 中,使用`[Adjust trackThirdPartySharing]`方法来启用或禁用第三方共享。 - + + + ```swift guard let adjustThirdPartySharing = ADJThirdPartySharing(isEnabled: 0) else { return } Adjust.trackThirdPartySharing(adjustThirdPartySharing) ``` - + + ```objc ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabled:@NO]; [Adjust trackThirdPartySharing:adjustThirdPartySharing]; ``` - + + -### 查看授权状态变化 \{\#check\-att\-status\-change\} +### 查看授权状态变化 {#check-att-status-change} 在 SDK v4 中,您可以使用`[Adjust checkForNewAttStatus]`方法提示 SDK 读取用户的 ATT 状态并将信息转发至 Adjust 服务器。 - + + + ```swift Adjust.checkForNewAttStatus() ``` - + + ```objc [Adjust checkForNewAttStatus]; ``` - + + 该方法在 SDK v5 中已被移除。 -### 监听转化值更新 \{\#listen\-for\-cv\-updates\} +### 监听转化值更新 {#listen-for-cv-updates} 在 SDK v4 中,您可以使用`adjustConversionValueUpdated`方法来监听 SKAdNetwork 更新。 - + + + ```swift func adjustConversionValueUpdated(_ conversionValue: NSNumber) { @@ -1387,7 +1601,8 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - + + ```objc - (void)adjustConversionValueUpdated:(NSNumber *)conversionValue { @@ -1405,16 +1620,18 @@ func adjustConversionValueUpdated(_ fineValue: NSNumber, coarseValue: String, lo } ``` - + + 在 SDK v5 中,这两种方法已被单个`adjustSkanUpdatedWithConversionData`方法所取代,该方法会返回无类型字典。当前支持下列键: -* `conversion_value`: 更新后的转化值 -* `coarse_value`: 更新后的[粗粒度转化值](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) -* `lock_window`: 是否在转化窗口结束前发送回调 -* `error`: 更新返回的错误信息。 +- `conversion_value`: 更新后的转化值 +- `coarse_value`: 更新后的[粗粒度转化值](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue) +- `lock_window`: 是否在转化窗口结束前发送回调 +- `error`: 更新返回的错误信息。 - + + ```swift func adjustSkanUpdated(withConversionData data: [String: String]) { @@ -1423,7 +1640,8 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - + + ```objc - (void)adjustSkanUpdatedWithConversionData:(NSDictionary *)data { @@ -1432,35 +1650,38 @@ func adjustSkanUpdated(withConversionData data: [String: String]) { } ``` - + + -### 设置应用密钥 \{\#set\-an\-app\-secret\} +### 设置应用密钥 {#set-an-app-secret} SDK v4 支持通过在`ADJConfig`实例上调用`setAppSecret`方法来设置应用密钥,以此对 SDK 流量进行签名。 - + + + ```swift adjustConfig.setAppSecret(secretId, info1: info1, info2: info2, info3: info3, info4: info4) ``` - + + ```objc [adjustConfig setAppSecret:secretId info1:info1 info2:info2 info3:info3 info4:info4]; ``` - + + SDK v5 中已删除该设置。 -移除插件 \{\#removed\-plugins\} -------------------------------- +## 移除插件 \{\#removed\-plugins\} - +{" "} SDK v5 中移除了下列插件: -* Criteo -* Trademob -* Sociomantic - +- Criteo +- Trademob +- Sociomantic