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
+