adjust-icon

SDK v5 마이그레이션 가이드

시작에 앞서

SDK v5로 업데이트하기 전에 다음을 수행하시기 바랍니다.

  1. SDK v5는 SDK Signature 인증을 기본적으로 지원합니다. 현재 SDK 서명 라이브러리를 사용하는 경우 먼저 이것을 삭제해야 합니다.

  2. SDK v5에 필요한 API의 최소 지원 버전이 업데이트되었습니다. 앱이 이보다 낮은 버전을 대상으로 하는 경우 먼저 업데이트해야 합니다.

    • iOS: 12.0
    • Android: 21
  3. SDK namespace는 이름이 com.adjust.sdk에서 AdjustSdk로 변경되었습니다.

SDK 설치

SDK v5를 설치하기 전에 모든 SDK v4 자산과 코드를 프로젝트에서 삭제해야 합니다.

기존 프로젝트에 변경 사항을 추가하는 것을 선호한다면 다음 단계에 따라 Adjust SDK v4의 모든 자산을 삭제합니다.

  1. Assets 디렉터리에서 기존 Adjust 설치를 삭제합니다.

  2. Xcode 프로젝트에서 Adjust에 대한 모든 레퍼런스를 삭제합니다.

    • 프로젝트의 라이브러리 섹션에서 Adjust 디렉터리를 삭제합니다.
    • General 탭을 열고 Frameworks, Libraries, Embedded Content 에서 Adjust.a 라이브러리를 삭제합니다.
    • 선택 사항 : SDK v4는 앱 타겟의 Other Linker Flags 설정 아래에 -ObjC 플래그를 추가합니다. SDK가 자동으로 추가한 경우에만 이 플래그를 삭제하시기 바랍니다.
  3. Android Studio 프로젝트에서 Adjust에 대한 모든 레퍼런스를 삭제합니다.

    • 프로젝트의 libs 디렉터리에서 adjust-android.jar 라이브러리를 찾아 삭제합니다.

프로젝트에서 SDK v4 자산을 모두 삭제한 후에 SDK v5를 설치할 수 있습니다. 이를 위해 다음 단계를 따르시기 바랍니다.

  • GitHub 릴리스 페이지에서 Adjust unitypackage를 다운로드하고 프로젝트로 가져옵니다.
  • Unity Package Manager를 사용하여 패키지를 설치합니다.
    1. Unity 에디터에서 패키지 매니저 창을 선택합니다.
    2. git URL에서 패키지 추가 를 선택합니다.
    3. 다음 URL을 입력합니다. https://github.com/adjust/unity_sdk.git

iOS 및 Android SDK 설치

SDK v5에서는 더 이상 iOS 및 Android SDK를 바이너리 디펜던시로 사용하지 않습니다. 기본 iOS 및 Android SDK를 설치하려면 EDM4U(External Dependency Manager for Unity)를 사용하여 CocoaPods 및 Maven의 패키지를 설치해야 합니다.

초기화 메서드 업데이트

v5에서 변경됨

SDK v4에서는 AdjustConfig 객체를 구성하고 이를 Adjust.start() 메서드에 전달하는 방식으로 SDK를 초기화합니다.

AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);
Adjust.start(adjustConfig);

SDK v5에서는 이 메서드의 이름이 Adjust.InitSdk()로 변경되었습니다.

AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);
Adjust.InitSdk(adjustConfig);

서명 라이브러리 설정

SDK v5는 SDK Signature 라이브러리 를 포함합니다. 이를 테스트하려면 Signature 라이브러리 연동 가이드 에 나온 테스트 단계를 수행하시기 바랍니다.

서명 보호는 기본 설정에 따라 비활성화되어 있습니다. 활성화하려면 다음이 필요합니다.

  1. Signature 검증 시행.
  2. 테스트하기 전에 앱의 SHA-1 핑커프린트를 제공합니다.

변경된 API

v5에서 변경됨

다음 API가 SDK v5에서 변경되었습니다.

로그 레벨 설정

SDK v4에서는 AdjustLogLevel 상수를 AdjustConfig.setLogLevel() 메서드에 전달하여 로그 수준을 설정할 수 있습니다.

adjustConfig.setLogLevel(AdjustLogLevel.Verbose);

SDK v5에서는 AdjustConfig 인스턴스의 LogLevel 속성에 AdjustLogLevel 상수를 지정해야 합니다.

adjustConfig.LogLevel = AdjustLogLevel.Verbose;

SDK 비활성화 및 활성화

SDK v4에서는 bool 값과 함께 Adjust.setEnabled()를 호출하여 SDK를 활성화 및 비활성화할 수 있습니다.

  • SDK를 비활성화하려면 Adjust.setEnabled(false)를 호출합니다.
  • SDK를 활성화하려면 Adjust.setEnabled(true)를 호출합니다.
Adjust.setEnabled(false); // Disable the SDK
Adjust.setEnabled(true); // Enable the SDK

SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다.

  • SDK를 비활성화하려면 Adjust.Disable()를 호출합니다.
  • SDK를 활성화하려면 Adjust.Enable()를 호출합니다.
Adjust.Disable(); // Disable the SDK
Adjust.Enable(); // Enable the SDK

백그라운드에서 정보 전송

SDK v4에서는 true 인수와 함께 AdjustConfig.setSendInBackground() 메서드를 호출하여 앱이 백그라운드에서 실행 중일 때 SDK가 Adjust에 정보를 전달하도록 설정할 수 있습니다.

adjustConfig.setSendInBackground(true);

SDK v5에서는 앱이 백그라운드에서 실행되는 동안 SDK가 adjust에 정보를 보낼 수 있도록 AdjustConfig 인스턴스의 IsSendingInBackgroundEnabled 속성을 true로 설정해야 합니다.

adjustConfig.IsSendingInBackgroundEnabled = true;

사전 설치된 앱 측정

SDK v4에서는 AdjustConfig.setPreinstallTrackingEnabled 메서드를 사용하여 사전 설치된 앱을 측정하는 기능을 활성화할 수 있습니다.

adjustConfig.setPreinstallTrackingEnabled(true);

SDK v5에서는 AdjustConfig 인스턴스의 IsPreinstallTrackingEnabled 속성을 true로 설정해야 합니다.

adjustConfig.IsPreinstallTrackingEnabled = true;

SDK v4에서는 AdjustConfig.setPreinstallFilePath 메서드를 사용하여 사전 설치된 앱 정보를 포함하는 경로를 구성할 수 있습니다.

adjustConfig.setPreinstallFilePath("path");

SDK v5에서는 AdjustConfig 인스턴스의 PreinstallFilePath 속성을 사전 설치된 앱 정보를 포함하는 파일 경로로 설정해야 합니다.

adjustConfig.PreinstallFilePath = "path";

SDK v4에서는 AdjustConfig.setDefaultTracker() 메서드를 사용하여 사전 설치된 앱에 대한 설치를 측정하도록 디폴드 링크 토큰을 설정할 수 있습니다.

adjustConfig.setDefaultTracker("abc123");

SDK v5에서는 AdjustConfig 인스턴스의 DefaultTracker 속성에 직접 링크를 지정해야 합니다.

adjustConfig.DefaultTracker = "abc123";

외부 기기 ID 설정

SDK v4에서는 ID를 AdjustConfig.setExternalDeviceId() 메서드로 전달하여 외부 기기 ID를 설정할 수 있습니다.

adjustConfig.setExternalDeviceId("unique-custom-device-id");

SDK v5에서는 AdjustConfig 인스턴스의 ExternalDeviceID 속성에 직접 ID를 지정해야 합니다.

adjustConfig.ExternalDeviceId = "unique-custom-device-id";

Meta 앱 ID 설정

SDK v4에서는 AdjustConfig.setFbAppId() 메서드를 사용하여 Meta 앱 ID를 설정할 수 있습니다.

adjustConfig.setFbAppId("fb-app-id");

SDK v5에서는 AdjustConfig 인스턴스의 FbAppId 속성에 Meta 앱 ID를 지정해야 합니다.

adjustConfig.FbAppId = "fb-app-id";

AdServices 정보 읽기 비활성화

SDK v4에서는 false 인수와 함께 AdjustConfig.setAllowAdServicesInfoReading() 메서드를 호출하여 Adjust SDK가 AdServices 정보를 읽는 것을 방지할 수 있습니다.

adjustConfig.setAllowAdServicesInfoReading(false);

SDK v5에서 Adjust SDK가 AdServices 정보를 읽는 것을 방지하려면 AdjustConfig 인스턴스의 IsAdServicesEnabled 속성을 false로 설정해야 합니다.

adjustConfig.IsAdServicesEnabled = false;

IDFA 읽기 비활성화

SDK v4에서는 false 인수와 함께 AdjustConfig.setAllowIdfaReading() 메서드를 호출하여 Adjust SDK가 기기의 IDFA를 읽는 것을 방지할 수 있습니다.

adjustConfig.setAllowIdfaReading(false);

SDK v5에서 Adjust SDK가 기기의 IDFA를 읽는 것을 방지하려면 AdjustConfig 인스턴스의 IsIdfaReadingEnabled 속성을 false로 설정해야 합니다.

adjustConfig.IsIdfaReadingEnabled = false;

어트리뷰션에서 비용 데이터 활성화

SDK v4에서는 true 인수와 함께 Adjust.setNeedsCost() 메서드를 호출하여 기기의 어트리뷰션 정보에서 비용 데이터를 활성화할 수 있습니다.

adjustConfig.setNeedsCost(true);

SDK v5에서 기기의 어트리뷰션 정보에서 비용 데이터를 활성화하려면 AdjustConfig 인스턴스의 IsCostDataInAttributionEnabled 속성을 true로 설정해야 합니다.

adjustConfig.IsCostDataInAttributionEnabled = true;

LinkMe 활성화

SDK v4에서는 true 인수와 함께 AdjustConfig.setLinkMeEnabled() 메서드를 호출하여 Adjust LinkMe를 활성화할 수 있습니다.

adjustConfig.setLinkMeEnabled(true);

SDK v5에서 LinkMe를 활성화하려면 AdjustConfig 인스턴스의 IsLinkMeEnabled 속성을 true로 설정해야 합니다.

adjustConfig.IsLinkMeEnabled = true;

기기 ID를 한 번만 읽기

SDK v4에서는 true 인수와 함께 AdjustConfig.setReadDeviceInfoOnceEnabled() 메서드를 호출하여 SDK가 기기 식별자를 앱 시작 시 한 번만 읽도록 설정할 수 있습니다.

adjustConfig.setReadDeviceInfoOnceEnabled(true);

SDK v5에서 SDK가 기기 ID를 한 번만 읽게 하려면 AdjustConfig 인스턴스의 IsDeviceIdsReadingOnceEnabled 속성을 true로 설정해야 합니다.

adjustConfig.IsDeviceIdsReadingOnceEnabled = true;

오프라인 모드

SDK v4에서는 bool 인수와 함께 Adjust.setOfflineMode()를 호출하여 SDK의 오프라인 모드를 활성화 및 비활성화할 수 있습니다.

Adjust.setOfflineMode(true);
Adjust.setOfflineMode(false);

SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다.

  • SDK를 오프라인 모드로 설정하려면 Adjust.SwitchToOfflineMode()를 호출합니다.
  • SDK를 온라인 모드로 전환하려면Adjust.SwitchBackToOnlineMode()를 호출합니다.
Adjust.SwitchToOfflineMode(); // Put the SDK in offline mode
Adjust.SwitchBackToOnlineMode(); // Put the SDK back in online mode

세션 콜백 파라미터

SDK v4에서는 키-값 쌍을 Adjust.addSessionCallbackParameter() 메서드에 전달하여 세션 파라미터를 추가하고, Adjust.removeSessionCallbackParameter() 메서드를 사용하여 개별 파라미터를 제거할 수 있습니다.

Adjust.addSessionCallbackParameter("key", "value");
Adjust.removeSessionCallbackParameter("key");
Adjust.resetSessionCallbackParameters();

SDK v5에서는 세션 파라미터가 글로벌 파라미터로 이름이 변경되었습니다.

Adjust.AddGlobalCallbackParameter("key", "value");
Adjust.RemoveGlobalCallbackParameter("key");
Adjust.RemoveGlobalCallbackParameters();

세션 파트너 파라미터

SDK v4에서는 키-값 쌍을 Adjust.addSessionPartnerParameter() 메서드에 전달하여 파트너 파라미터를 추가하고, Adjust.removeSessionPartnerParameter() 메서드를 사용하여 개별 파라미터를 제거할 수 있습니다.

Adjust.addSessionPartnerParameter("key", "value");
Adjust.removeSessionPartnerParameter("key");
Adjust.resetSessionPartnerParameters();

SDK v5에서는 세션 파트너 파라미터가 글로벌 파트너 파라미터로 이름이 변경되었습니다.

Adjust.AddGlobalPartnerParameter("key", "value");
Adjust.RemoveGlobalPartnerParameter("key");
Adjust.RemoveGlobalPartnerParameters();

Success 및 failure 콜백

SDK v4에서는 델리게이트 함수를 각각 AdjustConfig.setSessionSuccessDelegate()AdjustConfig.setSessionFailureDelegate() 메서드로 전달하여 세션의 success 콜백 및 failure 콜백을 구성할 수 있습니다.

adjustConfig.setSessionSuccessDelegate(sessionSuccessCallback); // Session success callback
adjustConfig.setFailureSuccessDelegate(sessionFailureCallback); // Session failure callback

SDK v5에서는 AdjustConfig 인스턴스의 SessionSuccessDelegateSessionFailureDelegate 속성을 해당 델리게이트 함수로 설정해야 합니다.

adjustConfig.SessionSuccessDelegate = sessionSuccessCallback; // Session success callback
adjustConfig.SessionFailureDelegate = sessionFailureCallback; // Session failure callback

동일한 변경 사항이 이벤트의 success 및 failure 콜백에도 적용됩니다. SDK v4에서는 델리게이트 함수를 각각 AdjustConfig.setSessionSuccessDelegate()AdjustConfig.setSessionFailureDelegate() 메서드로 전달하여 설정합니다.

adjustConfig.setEventSuccessDelegate(eventSuccessCallback); // Event success callback
adjustConfig.setEventFailureDelegate(eventFailureCallback); // Event failure callback

SDK v5에서는 AdjustConfig 인스턴스의 EventSuccessDelegateEventFailureDelegate 속성을 해당 델리게이트 함수로 설정해야 합니다.

adjustConfig.EventSuccessDelegate = eventSuccessCallback; // Event success callback
adjustConfig.EventFailureDelegate = eventFailureCallback; // Event failure callback

앱 스토어 구독

다음 클래스 속성은 SDK v5에서 직접 설정해야 합니다.

  • TransactionDate
  • SalesRegion

다음 setter는 이름이 변경되었습니다.

  • addCallbackParameter -> AddCallbackParameter
  • addCallbackParameter -> AddPartnerParameter

변경된 사항의 전체 예시는 다음과 같습니다.

AdjustAppStoreSubscription subscription = new AdjustAppStoreSubscription(
price,
currency,
transactionId,
receipt);
transactionId);
subscription.setTransactionDate("transaction-date");
subscription.setSalesRegion("sales-region");
subscription.addCallbackParameter("key1", "value1");
subscription.addPartnerParameter("key2", "value2");
subscription.TransactionDate = "transaction-date";
subscription.SalesRegion = "sales-region";
subscription.AddCallbackParameter("key1", "value1");
subscription.AddPartnerParameter("key2", "value2");
Adjust.trackAppStoreSubscription(subscription);

플레이 스토어 구독

다음 클래스 속성은 SDK v5에서 직접 설정해야 합니다.

  • PurchaseTime

다음 setter는 이름이 변경되었습니다.

  • addCallbackParameter -> AddCallbackParameter
  • addCallbackParameter -> AddPartnerParameter

변경된 사항의 전체 예시는 다음과 같습니다.

AdjustPlayStoreSubscription subscription = new AdjustPlayStoreSubscription(
price,
currency,
sku,
orderId,
signature,
purchaseToken);
subscription.setPurchaseTime(purchaseTime);
subscription.addCallbackParameter("key1", "value1");
subscription.addPartnerParameter("key2", "value2");
subscription.PurchaseTime = purchaseTime
subscription.AddCallbackParameter("key1", "value1");
subscription.AddPartnerParameter("key2", "value2");
Adjust.trackPlayStoreSubscription(subscription);

AdjustEvent 클래스

다음 클래스 속성은 SDK v5에서 직접 설정해야 합니다.

  • CallbackId
  • TransactionId
  • ProductId
  • PurchaseToken

다음 setter는 이름이 변경되었습니다.

  • setRevenue -> SetRevenue
  • addCallbackParameter -> AddCallbackParameter
  • addCallbackParameter -> AddPartnerParameter

receipt 속성이 AdjustEvent 클래스에서 제거되었습니다.

변경된 사항의 전체 예시는 다음과 같습니다.

AdjustEvent adjustEvent = new AdjustEvent("abc123");
adjustEvent.setRevenue(0.25, "EUR");
adjustEvent.setTransactionId("random-id");
adjustEvent.setCallbackId("callback-id");
adjustEvent.setProductId("product-id");
adjustEvent.setPurchaseToken("purchase-token");
adjustEvent.setReceipt("receipt");
adjustEvent.addCallbackParameter("key", "value");
adjustEvent.addPartnerParameter("key", "value");
adjustEvent.SetRevenue(0.25, "EUR");
adjustEvent.TransactionId = "random-id";
adjustEvent.CallbackId = "callback-id";
adjustEvent.ProductId = "product-id";
adjustEvent.PurchaseToken = "purchase-token";
adjustEvent.AddCallbackParameter("key", "value");
adjustEvent.AddPartnerParameter("key", "value");
Adjust.trackEvent(adjustEvent);

이벤트 중복 제거

SDK v4에서는 이벤트 중복 제거가 이벤트 transaction ID와 결합되어 있으며 최대 10개의 고유 ID로 제한됩니다.

adjustEvent.setTransactionId("transaction-id");

SDK v5에서는 이 기능이 transaction ID와 분리되었습니다. 이벤트 중복 제거를 위해 DeduplicationId라는 새로운 ID 필드가 추가되었습니다.

adjustEvent.DeduplicationId = "deduplication-id";

사용자는 중복 이벤트 식별을 위해 목록에 추가할 수 있는 DeduplicationId 개의 수에 맞춤 제한을 설정할 수 있습니다. 기본 설정된 값은 10 입니다.

AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);
adjustConfig.EventDeduplicationIdsMaxSize = 20
Adjust.InitSdk(adjustConfig);

AdjustAttribution 클래스

SDK v4에서는 AdjustAttribution 호출에 adid라는 속성이 있습니다. SDK v5에서는 adid 속성이 AdjustAttribution 클래스에서 제거되었습니다. Adjust.GetAdid() 게터 메서드를 사용하여 기기의 ADID를 조회할 수 있습니다.

또한 AdjustAttribution 클래스의 모든 내부 멤버는 이제 공용 속성입니다.

클래스 멤버
adjustAttribution.trackerToken
adjustAttribution.trackerName
adjustAttribution.network
adjustAttribution.campaign
adjustAttribution.adgroup
adjustAttribution.creative
adjustAttribution.clickLabel
adjustAttribution.costType
adjustAttribution.costAmount
adjustAttribution.costCurrency
adjustAttribution.fbInstallReferrer
adjustAttribution.TrackerToken
adjustAttribution.TrackerName
adjustAttribution.Network
adjustAttribution.Campaign
adjustAttribution.Adgroup
adjustAttribution.Creative
adjustAttribution.ClickLabel
adjustAttribution.CostType
adjustAttribution.CostAmount
adjustAttribution.CostCurrency
adjustAttribution.FbInstallReferrer

어트리뷰션 변경 콜백

SDK v4에서는 델리게이트 함수를 AdjustConfig.setAttributionChangedDelegate() 함수에 지정하여 기기의 어트리뷰션이 변경될 경우 델리게이트 함수를 호출할 수 있습니다.

adjustConfig.setAttributionChangedDelegate(attributionCallback);

SDK v5에서는 AdjustConfig 인스턴스의 AttributionChangedDelegate 속성에 델리게이트 함수를 지정해야 합니다.

adjustConfig.AttributionChangedDelegate = attributionCallback;

SDK v4에서는 딥링크 정보를 Adjust.appWillOpenUrl() 메서드에 전달할 수 있습니다.

Adjust.appWillOpenUrl("url");

SDK v5에서는 명확성을 위해 이름이 Adjust.ProcessDeeplink()로 변경되었습니다. 딥링크 구성을 위해 새로운 AdjustDeeplink 클래스가 추가되었습니다. 딥링크를 처리하려면 딥링크 URL을 사용하여 AdjustDeeplink 객체를 인스턴스화하고 Adjust.ProcessDeeplink 메서드로 전달합니다.

AdjustDeeplink adjustDeeplink = new AdjustDeeplink("url");
Adjust.ProcessDeeplink(adjustDeeplink);

SDK v4에서는 AdjustConfig.setLaunchDeferredDeeplink() 메서드를 호출하여 디퍼드 딥링크를 열 수 있습니다.

adjustConfig.setLaunchDeferredDeeplink(true);

SDK v5에서 SDK가 딥링크를 여는 것을 활성화하려면 AdjustConfig 인스턴스의 IsDeferredDeeplinkOpeningEnabled 속성을 true로 설정해야 합니다.

adjustConfig.IsDeferredDeeplinkOpeningEnabled = true;

COPPA 준수

SDK v4에서는 bool 값과 함께 AdjustConfig 인스턴스의 setCoppaCompliantEnabled 메서드를 호출하여 앱이 COPPA를 준수하는 것으로 표시할 수 있습니다.

adjustConfig.setCoppaCompliantEnabled(true);

SDK v5에서는 AdjustConfig 인스턴스의 IsCoppaComplianceEnabled 속성을 bool 값으로 설정해야 합니다.

adjustConfig.IsCoppaComplianceEnabled = true;

플레이 스토어 어린이용 앱

SDK v4에서는 AdjustConfig 클래스를 사용하여 앱을 플레이 스토어 어린이용 앱으로 표시할 수 있습니다. 이 속성은 SDK 초기화 중에 읽히기 때문에 SDK가 초기화된 후에는 해당 값을 업데이트할 수 없습니다.

adjustConfig.setPlayStoreKidsAppEnabled(true);

SDK v5에서 준수를 활성화하려면 AdjustConfig 인스턴스의 IsPlayStoreKidsComplianceEnabled 속성을 true로 설정해야 합니다.

adjustConfig.IsPlayStoreKidsComplianceEnabled = true;

데이터 레지던시 및 URL 전략 설정

SDK v4에서는 URL 전략 및 데이터 레지던시 도메인이 AdjustConfig 클래스의 상수로 정의됩니다.

adjustConfig.setUrlStrategy(AdjustConfig.AdjustDataResidencyEU);

SDK v5에서는 선택한 도메인을 배열로 전달해야 합니다. 또한 다음 항목을 설정할 수 있습니다.

  • shouldUseSubdomains (bool): 소스가 하위 도메인을 접두사로 사용해야 하는지 여부.
  • isDataResidency (bool): 도메인을 데이터 레지던시에 사용해야 하는지 여부.
adjustConfig.SetUrlStrategy(new List<string> {"eu.adjust.com"}, true, true);

아래 표를 보고 SDK v5에서 URL 전략을 구성하는 방법을 확인하시기 바랍니다.

v4v5 - 메인 및 폴백 도메인v5 - 하위 도메인 사용v5 - 데이터 레지던시 여부
AdjustConfig.AdjustDataResidencyEU"eu.adjust.com"truetrue
AdjustConfig.AdjustDataResidencyTR"tr.adjust.com"truetrue
AdjustConfig.AdjustDataResidencyUS"us.adjust.com"truetrue
AdjustConfig.AdjustUrlStrategyChina"adjust.world", "adjust.com"truefalse
AdjustConfig.AdjustUrlStrategyCn"adjust.cn", "adjust.com"truefalse
AdjustConfig.AdjustUrlStrategyCnOnly"adjust.cn"truefalse
AdjustConfig.AdjustUrlStrategyIndia"adjust.net.in", "adjust.com"truefalse

인도 URL 전략
adjustConfig.SetUrlStrategy(new List<string> {"adjust.net.in", "adjust.com"}, true, false);
중국 URL 전략
adjustConfig.SetUrlStrategy(new List<string> {"adjust.world", "adjust.com"}, true, false);
중국 전용 URL 전략
adjustConfig.SetUrlStrategy(new List<string> {"adjust.cn"}, true, false);
EU 데이터 레지던시
adjustConfig.SetUrlStrategy(new List<string> {"eu.adjust.com"}, true, true);
터키 데이터 레지던시
adjustConfig.SetUrlStrategy(new List<string> {"tr.adjust.com"}, true, true);
미국 데이터 레지던시
adjustConfig.SetUrlStrategy(new List<string> {"us.adjust.com"}, true, true);

AdjustThirdPartySharing 클래스 변경 사항

다음 메서드는 SDK v5에서 이름이 변경되었습니다.

  • addGranularOption -> AddGranularOption
  • addPartnerSharingSetting -> AddPartnerSharingSetting

변경된 사항의 전체 예시는 다음과 같습니다.

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);
adjustThirdPartySharing.addGranularOption("PartnerA", "key", "value");
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);
adjustThirdPartySharing.AddGranularOption("PartnerA", "key", "value");
adjustThirdPartySharing.AddPartnerSharingSetting("PartnerA", "all", false);
Adjust.trackThirdPartySharing(adjustThirdPartySharing);

특정 소스로부터 광고 매출 전송

SDK v4에서는 광고 매출 소스가 AdjustConfig 클래스의 상수로 정의됩니다. SDK v5에서는 광고 매출 소스를 문자열로 전달해야 합니다.

AdjustAdRevenue adRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceAppLovinMAX);
AdjustAdRevenue adRevenue = new AdjustAdRevenue("applovin_max_sdk");
v4v5
AdjustConfig.AdjustAdRevenueSourceAppLovinMAX"applovin_max_sdk"
AdjustConfig.AdjustAdRevenueSourceAdMob"admob_sdk"
AdjustConfig.AdjustAdRevenueSourceIronSource"ironsource_sdk"
AdjustConfig.AdjustAdRevenueSourceAdMost"admost_sdk"
AdjustConfig.AdjustAdRevenueSourceUnity"unity_sdk"
AdjustConfig.AdjustAdRevenueSourceHeliumChartboost"helium_chartboost_sdk"
AdjustConfig.AdjustAdRevenueSourceADX"adx_sdk"
AdjustConfig.AdjustAdRevenueSourcePublisher"publisher_sdk"
AdjustConfig.AdjustAdRevenueSourceTradplus"tradplus_sdk"
AdjustConfig.AdjustAdRevenueSourceTopOn"topon_sdk"
AdjustConfig.AdjustAdRevenueSourceMopub더 이상 지원되지 않음.

AdjustAdRevenue 클래스 변경 사항

다음 클래스 속성은 SDK v5에서 직접 설정해야 합니다.

  • AdImpressionsCount
  • AdRevenueNetwork
  • AdRevenueUnit
  • AdRevenuePlacement

다음 setter는 이름이 변경되었습니다.

  • setRevenue -> SetRevenue
  • addCallbackParameter -> AddCallbackParameter
  • addCallbackParameter -> AddPartnerParameter

변경된 사항의 전체 예시는 다음과 같습니다.

AdjustAdRevenue adRevenue = new AdjustAdRevenue("applovin_max_sdk");
adRevenue.setRevenue(6.66, "CAD");
adRevenue.setAdImpressionsCount(6);
adRevenue.setAdRevenueNetwork("network");
adRevenue.setAdRevenueUnit("unit");
adRevenue.setAdRevenuePlacement("placement");
adRevenue.addCallbackParameter("key1", "value1");
adRevenue.addPartnerParameter("key2", "value2");
adRevenue.SetRevenue(6.66, "CAD");
adRevenue.AdImpressionsCount = 6;
adRevenue.AdRevenueNetwork = "network";
adRevenue.AdRevenueUnit = "unit";
adRevenue.AdRevenuePlacement = "placement";
adRevenue.AddCallbackParameter("key1", "value1");
adRevenue.AddPartnerParameter("key2", "value2");
Adjust.trackAdRevenue(adRevenue);

ATT 팝업 대기 인터벌 구성

SDK v4에서는 AdjustConfig 인스턴스의 setAttConsentWaitingInterval 메서드를 사용하여 Adjust로 설치 정보를 보내는 것을 지연하는 간격을 구성할 수 있습니다. 이 지연은 사용자가 ATT 팝업과 상호작용할 시간을 제공합니다.

adjustConfig.setAttConsentWaitingInterval(66);

SDK v5에서는 AdjustConfig 인스턴스의 AttConsentWaitingInterval 속성에 지연 간격을 지정해야 합니다.

adjustConfig.AttConsentWaitingInterval = 66;

SKAdNetwork 커뮤니케이션 비활성화

SDK v4에서는 AdjustConfig.deactivateSKAdNetworkHandling() 메서드를 호출하여 SDK가 SKAdNetwork와 통신하는 것을 방지할 수 있습니다.

AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox, true);
adjustConfig.deactivateSKAdNetworkHandling();
Adjust.start(adjustConfig);

SDK v5에서 SKAdNetwork 커뮤니케이션을 비활성화하려면 AdjustConfig 인스턴스의 IsSkanAttributionEnabled 속성을 false로 설정해야 합니다.

AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);
adjustConfig.IsSkanAttributionEnabled = false;
Adjust.InitSdk(adjustConfig);

전환값 업데이트 수신

SDK v4에서는 AdjustConfig.setConversionValueUpdatedDelegate()에 델리게이트 함수를 전달하여 전환값 업데이트를 수신할 델리게이트 함수를 지정할 수 있습니다.

adjustConfig.setConversionValueUpdatedDelegate(ConversionValueUpdatedCallback);

SDK v5에서는 AdjustConfig 인스턴스의 SkanUpdatedDelegate 속성에 델리게이트 함수를 지정해야 합니다.

adjust.SkanUpdatedDelegate = skanUpdatedCallback;

전환값 업데이트

SDK v4에서는 Adjust.updateConversionValue() 메서드를 사용하여 Adjust에 업데이트된 전환값을 전송할 수 있습니다. 이 메서드는 Apple의 지원 종료된 updateConversionValue 메서드를 래핑하며 SDK v5에서는 제거되었습니다.

SDK v5에서는 다음 인수와 함께 Adjust.UpdateSkanConversionValue() 메서드를 사용하여 전환값을 업데이트할 수 있습니다.

  • conversionValue (int): 업데이트된 전환값
  • coarseValue (string): 업데이트된 coarse 전환값
  • lockWindow (bool): 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부
  • callback (Action<string>): 발생하는 모든 오류를 처리할 수 있는 콜백 함수
Adjust.UpdateSkanConversionValue(1, "low", false, error =>
{
// process error, if any
});

ATT(App Tracking Transparency) 승인 래퍼

SDK v4에서는 Adjust requestTrackingAuthorizationWithCompletionHandler() 메서드를 사용하여 사용자의 ATT 승인 상태 변경 사항을 처리할 수 있습니다.

Adjust.requestTrackingAuthorizationWithCompletionHandler((status) =>
{
switch (status)
{
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined case
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted case
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied case
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorized case
break;
}
});

명확성을 위해 SDK v5에서 이름이 Adjust.RequestAppTrackingAuthorization()으로 변경되었습니다.

Adjust.RequestAppTrackingAuthorization((status) =>
{
switch (status)
{
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined case
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted case
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied case
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorized case
break;
}
});

디바이스 정보 확인

SDK v4에서는 모든 기기 정보 게터 메서드가 동기적으로 실행됩니다. SDK v5에서는 이러한 메서드가 비동기적으로 실행되도록 변경되었습니다. 비동기 프로세스가 완료되면 콜백 기능을 추가하여 해당 정보를 처리할 수 있습니다.

IDFA 게터
Adjust.GetIdfa(idfa =>
{
// use idfa
});
ADID 게터
Adjust.GetAdid(adid =>
{
// use adid
});
어트리뷰션 게터
Adjust.GetAttribution(attribution =>
{
// use attribution
});
활성화된 상태 게터
Adjust.IsEnabled(isEnabled =>
{
// use isEnabled
});
SDK 버전 게터
Adjust.GetSdkVersion(sdkVersion =>
{
// use sdkVersion
});
Amazon ADID 게터
Adjust.GetAmazonAdId(amazonAdId =>
{
// use amazonAdId
});
마지막 딥링크 게터
Adjust.GetLastDeeplink(lastDeeplink =>
{
// use lastDeeplink
});

삭제된 API

v5에서 삭제됨

다음 API가 SDK v5에서 삭제되었습니다.

이벤트 버퍼링

SDK v4는 이벤트 버퍼링을 지원합니다. 이 기능은 요청 이벤트, 광고 매출, 푸시 토큰 및 기타 정보를 로컬 버퍼에 저장하여 나중에 전송할 수 있게 해줍니다.

adjustConfig.setEventBufferingEnabled(true);

이 설정은 SDK v5에서 제거되었습니다.

사용자 지정 사용자 에이전트 문자열

SDK v4는 사용자 에이전트 문자열과 함께 AdjustConfig.setUserAgent()를 호출하여 사용자 지정 사용자 에이전트를 설정하는 기능을 지원합니다.

adjustConfig.setUserAgent("custom-user-agent");

이 설정은 SDK v5에서 제거되었습니다.

알려진 기기 여부 설정

SDK v4에서는 AdjustConfig.setDeviceKnown() 메서드를 호출하여 알려진 기기인지 여부를 수동으로 SDK에 알릴 수 있습니다.

adjustConfig.setDeviceKnown(true);

이 설정은 SDK v5에서 제거되었습니다.

SDK 작동 시작 지연

SDK v4는 AdjustConfig setDelayTimer()를 호출하여 SDK 작동 시작을 최대 10초 간 지연하는 기능을 지원합니다.

adjustConfig.setDelayTimer(10);

이 설정은 SDK v5에서 제거되었습니다.

글로벌 서드파티 공유 비활성화

SDK v4에서는 Adjust.disableThirdPartySharing() 메서드를 호출하여 전 세계에서 서드파티와의 정보 공유를 비활성화할 수 있습니다.

Adjust.disableThirdPartySharing()

이 기능은 SDK v5에서 제거되었습니다. SDK v5에서는 Adjust.trackThirdPartySharing() 메서드를 사용하여 서드파티 공유를 활성화 또는 비활성화합니다.

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(false);
Adjust.TrackThirdPartySharing(adjustThirdPartySharing);

승인 상태 변경 확인

SDK v4에서는 Adjust.checkForNewAttStatus() 메서드를 사용하여 SDK가 사용자의 ATT 상태를 읽고 해당 정보를 Adjust 서버에 전달하도록 설정할 수 있습니다.

Adjust.checkForNewAttStatus();

이 메서드는 SDK v5에서 제거되었습니다.

앱 시크릿 설정

SDK v4는 AdjustConfig 인스턴스의 setAppSecret 메서드를 호출하여 SDK 트래픽을 서명하는 데 사용할 앱 시크릿을 설정하는 기능을 지원합니다.

adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);

이 설정은 SDK v5에서 제거되었습니다.