adjust-icon

SDK v5 마이그레이션 가이드

시작에 앞서

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

  1. SDK v5는 SDK Signature(SDK 서명) 인증을 기본적으로 지원합니다. 현재 SDK 서명 라이브러리를 사용하는 경우 먼저 이것을 삭제해야 합니다.
  2. SDK v5의 최소 지원 API 버전이 업데이트되었습니다. 앱이 하위 버전을 타겟팅하는 경우 우선 앱을 업데이트해야 합니다.
    • iOS: 12.0
    • Android: 21

베타 SDK 설치

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

기존 프로젝트에 변경 사항을 추가하고 싶다면 다음의 단계를 수행하여 모든 Adjust SDK v4 에셋을 삭제하시기 바랍니다.

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

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

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

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

프로젝트에서 모든 SDK v4 에셋을 제거한 뒤 , GitHub 릴리스 페이지 에서 Adjust unitypackage 를 다운로드하고 프로젝트로 가져옵니다.

변경 사항

v5 SDK를 설치한 후에는 새로운 API를 사용할 수 있도록 기존의 Adjust 코드를 업데이트해야 합니다.

SDK 네임스페이스

SDK 네임스페이스의 이름이 com.adjust.sdk 에서 AdjustSdk 로 변경되었습니다.

초기화 메서드

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 구성의 변경 사항을 다룹니다.

로그 레벨 설정

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

adjustConfig.setLogLevel(AdjustLogLevel.Verbose);

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

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 v4에서는 AdjustConfig 인수와 함께 IsSendingInBackgroundEnabled 메서드를 호출하여 앱이 백그라운드에서 실행 중일 때 SDK가 Adjust에 정보를 전달하도록 설정할 수 있습니다.

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() 메서드를 사용하여 푸시 토큰을 설정할 수 있습니다.

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

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

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

AdServices 정보 읽기 비활성화

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

adjustConfig.setAllowAdServicesInfoReading(false);

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

adjustConfig.IsAdServicesEnabled = false;

IDFA 읽기 비활성화

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

adjustConfig.setAllowIdfaReading(false);

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

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에서는 AdjustConfig 인스턴스의 IsDeviceIdsReadingOnceEnabled 속성을 true 로 설정하여 SDK가 기기 ID를 한 번만 읽도록 해야 합니다.

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

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에서 제거되었습니다.

기능 기록

이 섹션에서는 Adjust로 정보를 전송하는 기능의 변경 사항을 다룹니다.

세션 콜백 파라미터

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();

성공 및 실패 콜백

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

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

동일한 변경 사항이 이벤트 성공 및 실패 콜백에도 적용됩니다. 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

구독 정보 전송

본 섹션은 Adjust SDK의 구독 전송 관련 변경 사항을 다룹니다.

앱스토어 구독용

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

  • TransactionDate
  • SalesRegion

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

  • addCallbackParameter -> AddCallbackParameter
  • addCallbackParameter -> AddPartnerParameter

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

AdjustAppStoreSubscription subscription = new AdjustAppStoreSubscription(
price,
currency,
transactionId,
receipt);
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
  • Receipt
  • PurchaseToken

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

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

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

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.Receipt = "base64-encoded-receipt";
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 v5에서 딥링크의 변경 사항을 다룹니다.

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

Adjust.appWillOpenUrl("url");

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

Adjust.ProcessDeeplink("url");

SDK v4에서는 AdjustConfig.setLaunchDeferredDeeplink() 메서드를 호출하여 디퍼드 딥링크 콜백을 처리할 수 있습니다.

adjustConfig.setLaunchDeferredDeeplink(true);

SDK v5에서는 AdjustConfig 인스턴스의 IsDeferredDeeplinkOpeningEnabled 속성을 true 로 설정하여 SDK가 딥링크를 열 수 있도록 해야 합니다.

adjustConfig.IsDeferredDeeplinkOpeningEnabled = true;

프라이버시 기능

이 섹션에서는 Adjust SDK에서 프라이버시 기능의 변경 사항을 다룹니다.

COPPA 준수

SDK v4에서는 COPPA 준수AdjustConfig 클래스를 사용하여 설정되며 SDK 초기화 중에 읽히게 됩니다. 따라서 SDK가 초기화된 후에는 해당 값을 업데이트할 수 없습니다.

adjustConfig.setCoppaCompliantEnabled(true);

SDK v5에서는 이 메서드를 Adjust 클래스에서 이용할 수 있습니다. 따라서 COPPA 준수 활성화를 위해 Adjust.EnableCoppaCompliance()를 호출하거나 COPPA 준수 비활성화를 위해 Adjust.DisableCoppaCompliance()를 호출하여 언제든지 설정을 변경할 수 있습니다.

Adjust.EnableCoppaCompliance(); // Enable COPPA compliance
Adjust.DisableCoppaCompliance(); // Disable COPPA compliance

플레이 스토어 어린이용 앱

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

adjustConfig.setPlayStoreKidsAppEnabled(true);

SDK v5에서는 이 메서드를 Adjust 클래스에서 이용할 수 있습니다. 따라서 앱을 플레이 스토어 어린이용 앱을 표시하기 위해 Adjust.EnablePlayStoreKidsApp()을 호출하거나 플레이 스토어 어린이용 앱의 표시를 해제하기 위해 Adjust.DisablePlayStoreKidsApp()을 호출하여 언제든지 설정을 변경할 수 있습니다.

Adjust.EnablePlayStoreKidsApp(); // Enable Play Store Kids compliance
Adjust.DisablePlayStoreKidsApp(); // Disable Play Store Kids compliance

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

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

adjustConfig.setUrlStrategy(AdjustConfig.AdjustDataResidencyEU);

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

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

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

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

서드파티 공유 변경 사항

이 섹션에서는 SDK v5의 서드파티 공유 기능에 대한 변경 사항을 다룹니다.

AdjustThirdPartySharing class changes

다음 플러그인은 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에서는 Adjust.disableThirdPartySharing() 메서드를 호출하여 전 세계에서 서드파티와의 정보 공유를 비활성화할 수 있습니다.

Adjust.disableThirdPartySharing()

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

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

광고 수익

이 섹션에서는 SDK v5에서 딥링킹의 변경 사항을 다룹니다.

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

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

AdjustAdRevenue adRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceAppLovinMAX);
AdjustAdRevenue adRevenue = new AdjustAdRevenue("applovin_max_sdk");

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);

SKAdNetwork 및 ATT

이 섹션에서는 SDK v5의 SKAdNetwork 및 App Tracking Transparency(ATT) 기능의 변경 사항을 다룹니다.

ATT 팝업 대기 인터벌 구성

SDK v4에서는 AdjustConfig.setAttConsentWaitingInterval() 메서드를 사용하여 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에서는 AdjustConfig 인스턴스의 IsSkanAttributionEnabled 속성을 false 로 설정하여 SKAdNetwork 통신을 비활성화해야 합니다.

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

승인 상태 변경 확인

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

Adjust.checkForNewAttStatus();

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

전환값 업데이트 수신

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 id="sl-md0000000">): 발생하는 모든 오류를 처리할 수 있는 콜백 함수
Adjust.UpdateSkanConversionValue(1, "low", false, error =>
{
// process error, if any
});

App Tracking Transparency(ATT) 승인 래퍼

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
});
IDFV 게터
Adjust.GetIdfv(idfv =>
{
// use idfv
});
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
});