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] 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 +