adjust-icon

SDK v5 마이그레이션 가이드

시작에 앞서

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

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

  2. SDK v5의 최소 지원 API 버전이 업데이트되었습니다. 앱이 하위 버전을 타겟팅하는 경우 우선 앱을 업데이트해야 합니다.

    • iOS: 12.0
    • Android: 21

SDK 설치

SDK v5를 사용하려면 프로젝트에서 디펜던시로 추가해야 합니다. 이를 위해 다음의 단계를 수행하시기 바랍니다.

  1. 다음 방법 중 한 가지를 사용하여 React Native 라이브러리를 다운로드합니다.

터미널에서 다음 명령어를 실행합니다.

Terminal window
$ npm install react-native-adjust@5.0.3 --save
  1. 터미널에서 다음 명령어를 실행하여 iOS 앱용 CocoaPods 디펜던시를 설치합니다.
Terminal window
$ cd ios && pod install

초기화 메서드 업데이트

v5에서 변경됨

SDK v4에서 초기화 메서드는 Adjust.create입니다. 이것이 SDK v5에서 Adjust.initSdk로 변경되었습니다.

Adjust.create(adjustConfig); // v4
Adjust.initSdk(adjustConfig); // v5

에서 변경됨

v5에서 변경됨

다음 플러그인은 SDK v5에서 제거되었습니다.

SDK 비활성화 및 활성화

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

Adjust.setEnabled(false); // disable SDK
Adjust.setEnabled(true); // enable SDK

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

  • SDK를 비활성화하려면 Adjust.disable를 호출합니다.
  • SDK를 활성화하려면 Adjust.enable를 호출합니다.
Adjust.disable();
Adjust.enable();

백그라운드에서 정보 전송

SDK v4에서는 adjustConfig 인스턴스의 setSendInBackground 메서드를 bool로 설정하여 앱이 백그라운드에서 실행되는 동안 SDK가 Adjust에 정보를 전송하도록 할 수 있습니다.

adjustConfig.setSendInBackground(true);

SDK v5에서는 앱이 백그라운드에서 실행되는 동안 SDK가 Adjust에 정보를 전송하도록 adjustConfig 인스턴스의 enableSendingInBackground 속성을 false로 설정해야 합니다. 디폴트 상태는 false 입니다.

adjustConfig.enableSendingInBackground();

사전 설치된 앱 측정

SDK v4에서는 adjustConfig 인스턴스에서 setPreinstallTrackingEnabled 메서드를 true 값과 함께 호출하여 사전 설치된 앱 측정을 활성화할 수 있습니다.

adjustConfig.setPreinstallTrackingEnabled(true);

SDK v5에서는 사전 설치된 앱 측정을 활성화하려면 adjustConfig 인스턴스의 enablePreinstallTracking 속성을 false로 설정해야 합니다. 디폴트 상태는 false 입니다.

adjustConfig.enablePreinstallTracking();

AdServices 정보 읽기 비활성화

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

adjustConfig.setAllowAdServicesInfoReading(false);

SDK v5에서는 Adjust SDK가 AdServices 정보를 읽는 것을 방지하려면 인수 없이 disableAdServices 메서드를 호출해야 합니다. 디폴트 상태는 true 입니다.

adjustConfig.disableAdServices();

IDFA 읽기 비활성화

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

adjustConfig.setAllowIdfaReading(false);

SDK v5에서는 Adjust SDK가 기기의 IDFA를 읽는 것을 방지하려면 인수 없이 disableIdfaReading 메서드를 호출해야 합니다. 디폴트 상태는 true 입니다.

adjustConfig.disableIdfaReading();

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

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

adjustConfig.setNeedsCost(true);

SDK v5에서는 adjustConfig 인스턴스에서 enableCostDataInAttribution 메서드를 호출하여 기기의 어트리뷰션 정보에서 비용 데이터를 활성화해야 합니다. 디폴트 상태는 false 입니다.

adjustConfig.enableCostDataInAttribution();

어트리뷰션 콜백 설정

SDK v4에서는 AdjustConfig 인스턴스에서 setAttributionCallbackListener 메서드를 호출하여 사용자의 어트리뷰션 데이터가 변경될 때 트리거되도록 델리게이트 콜백 함수를 설정할 수 있습니다.

adjustConfig.setAttributionCallbackListener(function (attribution) {});

SDK v5에서는 이 메서드의 이름이 setAttributionCallback로 변경되었습니다. 모든 인수는 동일합니다.

adjustConfig.setAttributionCallback(function (attribution) {});

LinkMe 활성화

SDK v4에서는 adjustConfig 인스턴스의 setLinkMeEnabled 메서드를 true 값과 함께 호출하여 Adjust LinkMe 를 활성화할 수 있습니다.

adjustConfig.setLinkMeEnabled(true);

SDK v5에서는 adjustConfig 인스턴스에서 enableLinkMe 메서드를 호출하여 Adjust LinkMe 를 활성화해야 합니다. 디폴트 상태는 false 입니다.

adjustConfig.enableLinkMe();

기기 ID를 한 번만 읽기

SDK v4에서는 true 값과 함께 adjustConfigsetReadDeviceInfoOnceEnabled 메서드를 호출하여 SDK가 기기 ID를 한 번만 읽도록 할 수 있습니다.

adjustConfig.setReadDeviceInfoOnceEnabled(true);

SDK v5에서는 adjustConfig 에서 enableDeviceIdsReadingOnce 메서드를 호출하여 SDK가 기기 ID를 한 번만 읽도록 해야 합니다. 디폴트 상태는 false 입니다.

adjustConfig.enableDeviceIdsReadingOnce();

오프라인 모드

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

중복 제거

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

adjustEvent.setTransactionId(orderId);

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

adjustEvent.setDeduplicationId(deduplicationId);

사용자는 중복 이벤트 식별을 위해 목록에 추가할 수 있는 중복 제거 ID의 수를 맞춤 제한할 수 있습니다. 기본값은 10으로 설정되어 있습니다.

adjustConfig.setEventDeduplicationIdsMaxSize(20);

세션 성공 콜백

SDK v4에서는 setSessionTrackingSucceededCallbackListener 를 호출하여 SDK에 의한 성공적인 세션 기록을 등록할 수 있습니다.

adjustConfig.setSessionTrackingSucceededCallbackListener(
function (sessionSuccess) {
// Printing all session success properties.
console.log("Session recording succeeded!");
console.log(sessionSuccess.message);
console.log(sessionSuccess.timestamp);
console.log(sessionSuccess.adid);
console.log(sessionSuccess.jsonResponse);
},
);

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

adjustConfig.setSessionTrackingSucceededCallback(function (sessionSuccess) {
// Printing all session success properties.
console.log("Session recording succeeded!");
console.log(sessionSuccess.message);
console.log(sessionSuccess.timestamp);
console.log(sessionSuccess.adid);
console.log(sessionSuccess.jsonResponse);
});

세션 실패 콜백

SDK v4에서는 setSessionTrackingFailedCallbackListener 를 호출하여 SDK에 의한 실패한 세션 기록을 등록할 수 있습니다.

adjustConfig.setSessionTrackingFailedCallbackListener(
function (sessionFailure) {
console.log(sessionFailure.message);
},
);

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

adjustConfig.setSessionTrackingFailedCallback(function (sessionFailure) {
console.log(sessionFailure.message);
});

이벤트 성공 콜백

SDK v4에서는 setEventTrackingSucceededCallbackListener 를 호출하여 SDK에 의한 성공적인 이벤트 기록을 등록할 수 있습니다.

adjustConfig.setEventTrackingSucceededCallbackListener(function (eventSuccess) {
// Printing all event success properties.
console.log("Event recording succeeded!");
console.log(eventSuccess.message);
console.log(eventSuccess.timestamp);
console.log(eventSuccess.eventToken);
console.log(eventSuccess.callbackId);
console.log(eventSuccess.adid);
console.log(eventSuccess.jsonResponse);
});

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

adjustConfig.setEventTrackingSucceededCallback(function (eventSuccess) {
// Printing all event success properties.
console.log("Event recording succeeded!");
console.log(eventSuccess.message);
console.log(eventSuccess.timestamp);
console.log(eventSuccess.eventToken);
console.log(eventSuccess.callbackId);
console.log(eventSuccess.adid);
console.log(eventSuccess.jsonResponse);
});

이벤트 실패 콜백

SDK v4에서는 setEventTrackingFailedCallbackListener 를 호출하여 SDK에 의한 성공적인 이벤트 기록을 등록할 수 있습니다.

adjustConfig.setEventTrackingFailedCallbackListener(function (eventFailure) {
// Printing all event failure properties.
console.log("Event recording failed!");
console.log(eventFailure.message);
console.log(eventFailure.timestamp);
console.log(eventFailure.eventToken);
console.log(eventFailure.callbackId);
console.log(eventFailure.adid);
console.log(eventFailure.willRetry);
console.log(eventFailure.jsonResponse);
});

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

adjustConfig.setEventTrackingFailedCallback(function (eventFailure) {
// Printing all event failure properties.
console.log("Event recording failed!");
console.log(eventFailure.message);
console.log(eventFailure.timestamp);
console.log(eventFailure.eventToken);
console.log(eventFailure.callbackId);
console.log(eventFailure.adid);
console.log(eventFailure.willRetry);
console.log(eventFailure.jsonResponse);
});

앱 스토어 구독

SDK v4에서는 AdjustAppStoreSubscription 객체를 구성하여 새 구독을 설정할 수 있습니다. 이 객체는 4개의 인수 price, currency, transactionId, receipt로 초기화됩니다.

var subscription = new AdjustAppStoreSubscription(
price,
currency,
transactionId,
receipt,
);

SDK v5에서는 receipt 인수를 전달하지 않아도 됩니다.

var subscription = new AdjustAppStoreSubscription(
price,
currency,
transactionId,
);

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

Adjust.appWillOpenUrl("url");

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

Adjust.processDeeplink(new AdjustDeeplink("url"));

SDK v4에서는 adjustConfig 인스턴스의 setShouldlaunchDeeplink 메서드를 true 값과 함께 호출하여 SDK가 딥링크를 열도록 하거나 false 를 비활성화하여 딥링크를 열 수 없습니다.

adjustConfig.setShouldLaunchDeeplink(true);

SDK v5에서는 딥링크가 기본 설정에 따라 열립니다. SDK가 딥링크를 열 수 있도록 하려면 adjustConfig 인스턴스에서 isDeferredDeeplinkOpeningEnabled 메서드를 호출해야 합니다.

adjustConfig.disableDeferredDeeplinkOpening();

SDK v4에서는 urlprocessDeeplink 메서드에 전달하여 단축 딥링크를 해결할 수 있습니다.

Adjust.processDeeplink("url", function (resolvedLink) {
console.log("Resolved link: " + resolvedLink);
});

SDK v5에서는 딥링크 url 로 초기화된 AdjustDeeplink 객체를 전송해야 합니다. 이는 단축되지 않은 원본 딥링크를 반환합니다.

Adjust.processAndResolveDeeplink(new AdjustDeeplink("url"), function(resolvedLink) {
console.log("Resolved link: " + resolvedLink);
};

SDK v4에서는 AdjustConfig 인스턴스에서 setDeferredDeeplinkCallbackListener 메서드를 호출하여 딥링크가 수신될 때 실행되는 리스너 함수를 구성할 수 있습니다.

adjustConfig.setDeferredDeeplinkCallbackListener(function (deeplink) {});

SDK v5에서는 이 메서드의 이름이 setDeferredDeeplinkCallback로 변경되었습니다. 모든 인수는 동일합니다.

adjustConfig.setDeferredDeeplinkCallback(function (deeplink) {});

COPPA 준수

SDK v4에서는 adjustConfig 인스턴스의 coppaCompliantEnabled 메서드를 true 값과 함께 호출하여 COPPA 준수를 활성화할 수 있습니다.

adjustConfig.setCoppaCompliantEnabled(true);

SDK v5에서는 COPPA 준수를 활성화하기 위해 adjustConfig 인스턴스에서 isCoppaComplianceEnabled 메서드를 호출해야 합니다. 디폴트 상태는 false 입니다.

adjustConfig.enableCoppaCompliance();

플레이 스토어 어린이용 앱

SDK v4에서는 adjustConfig 인스턴스의 setPlayStoreKidsAppEnabled 메서드를 true 값과 함께 호출하여 앱을 Play Store Kids 앱 으로 표시할 수 있습니다. 이 속성은 SDK 초기화 중에 읽히기 때문에 SDK가 초기화된 후에는 해당 값을 업데이트할 수 없습니다.

adjustConfig.setPlayStoreKidsAppEnabled(true);

SDK v5에서는 규정 준수를 활성화하기 위해 adjustConfig 인스턴스의 enablePlayStoreKidsCompliance 메서드를 호출해야 합니다. 디폴트 상태는 false 입니다.

adjustConfig.enablePlayStoreKidsCompliance();

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

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

adjustConfig.setUrlStrategy(AdjustConfig.DataResidencyEU);

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

  • useSubdomains (bool): 도메인을 Adjust 도메인으로 취급할지 여부. true인 경우, SDK는 도메인의 접두사로 Adjust에 특화된 하위 도메인을 사용합니다. false인 경우 SDK는 접두사를 추가하지 않고 제공된 도메인을 그대로 사용합니다.
  • isDataResidency (bool): 도메인을 데이터 레지던시에 사용해야 하는지 여부.
adjustConfig.setUrlStrategy(["eu.adjust.com"], true, true);

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

v4v5 - 메인 및 폴백 도메인v5 - 하위 도메인 사용v5 - 데이터 레지던시 여부
adjustConfig.DataResidencyEU"eu.adjust.com"truetrue
adjustConfig.DataResidencyTR"tr.adjust.com"truetrue
adjustConfig.DataResidencyUS"us.adjust.com"truetrue
adjustConfig.UrlStrategyChina"adjust.world", "adjust.com"truefalse
adjustConfig.UrlStrategyCn"adjust.cn", "adjust.com"truefalse
adjustConfig.UrlStrategyCnOnly"adjust.cn"truefalse
adjustConfig.UrlStrategyIndia"adjust.net.in", "adjust.com"truefalse

광고 매출 금액 기록

SDK v4에서는 trackAdRevenue 메서드를 호출하고 sourcepayload 를 인수로 전달하여 광고 매출을 기록할 수 있습니다.

Adjust.trackAdRevenue("source", "payload");

SDK v4의 업데이트된 메서드를 사용하면 source 로 새로운 AdjustAdRevenue 객체를 생성하고, 이 객체를 trackAdRevenueNew 메서드에 전달하여 광고 매출을 기록할 수 있습니다.

var adRevenue = new AdjustAdRevenue("source");
adRevenue.setRevenue(6, "CAD");
Adjust.trackAdRevenueNew(adRevenue);

SDK v5에서는 source 로 새 AdjustAdRevenue 객체를 생성하고, 이 객체를 trackAdRevenue 메서드에 전달하여 광고 매출을 기록해야 합니다.

var adRevenue = new AdjustAdRevenue("source");
adRevenue.setRevenue(6, "CAD");
Adjust.trackAdRevenue(adRevenue);

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

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

var adRevenue = new AdjustAdRevenue(AdjustConfig.AdRevenueSourceAppLovinMAX);
var adRevenue = new AdjustAdRevenue("applovin_max_sdk");
v4v5
adjustConfig.AdRevenueAppLovinMAX"applovin_max_sdk"
adjustConfig.AdRevenueSourceAdMob"admob_sdk"
adjustConfig.AdRevenueSourceIronSource"ironsource_sdk"
adjustConfig.AdRevenueSourceAdMost"admost_sdk"
adjustConfig.AdRevenueSourceUnity"unity_sdk"
adjustConfig.AdRevenueSourceHeliumChartboost"helium_chartboost_sdk"
adjustConfig.AdRevenueSourceADX"adx_sdk"
adjustConfig.AdRevenueSourcePublisher"publisher_sdk"
adjustConfig.AdRevenueSourceTradplus"tradplus_sdk"
adjustConfig.AdRevenueSourceTopOn"topon_sdk"
adjustConfig.AdRevenueSourceMopub더 이상 지원되지 않음

SKAdNetwork 커뮤니케이션 비활성화

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

adjustConfig.deactivateSKAdNetworkHandling();

SDK v5에서는 adjustConfig 인스턴스에서 disableSkanAttribution 메서드를 호출하여 SKAdNetwork 통신을 비활성화해야 합니다. 디폴트 상태는 true 입니다.

adjustConfig.disableSkanAttribution();

전환값 업데이트 수신

SDK v4에서는 adjustConfigsetSkad4ConversionValueUpdatedCallbackListener 메서드를 호출하여 전환값 업데이트를 수신할 수 있습니다. SKAN4 이전에는 setConversionValueUpdatedCallbackListener 메서드를 사용할 수 있었습니다.

// pre-SKAN4 callback
adjustConfig.setConversionValueUpdatedCallbackListener(
function (conversionValue) {
console.log("Conversion value updated callback received");
console.log("Conversion value: " + conversionValue.conversionValue);
},
);
// SKAN4 callback
adjustConfig.setSkad4ConversionValueUpdatedCallbackListener(
function (conversionValue) {
console.log("Conversion value updated callback received");
console.log("Conversion value: " + conversionValue.conversionValue);
},
);

SDK v5에서는 adjustConfig 객체의 setSkanUpdatedCallback 메서드에 콜백 함수를 할당해야 합니다.

adjustConfig.setSkanUpdatedCallback(function (skanData) {
console.log("Conversion value: " + skanData.conversionValue);
console.log("Coarse value: " + skanData.coarseValue);
console.log("Lock window: " + skanData.lockWindow);
console.log("Error: " + skanData.error);
});

전환값 업데이트

SDK v4에서는 다음 메서드 중 하나를 사용하여 업데이트된 전환값을 Adjust에 전송할 수 있습니다.

Adjust.updateConversionValue(6);
Adjust.updateConversionValueWithErrorCallback(6, function(error) {
// error is present in case it happened
});
Adjust.updateConversionValueWithSkad4ErrorCallback(6, 'coarse-value', ‘true’, function(error) {
// error is present in case it happened
});

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

  • conversionValue (int): 업데이트된 전환값
  • coarseValue (string): 업데이트된 coarse 전환값
  • lockWindow (bool): 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부
Adjust.updateSkanConversionValue(6, "coarse-value", true, function (error) {
// error is present in case it happened
});

App Tracking Transparency(ATT) 승인 래퍼

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

Adjust.requestTrackingAuthorizationWithCompletionHandler(function (status) {
print("[Adjust]: Authorization status update!");
switch (status) {
case 0:
print(
"[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusNotDetermined",
);
break;
case 1:
print(
"[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusRestricted",
);
break;
case 2:
print(
"[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusDenied",
);
break;
case 3:
print(
"[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusAuthorized",
);
break;
}
});

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

Adjust.requestAppTrackingAuthorization(function (status) {
print("[Adjust]: Authorization status update!");
switch (status) {
case 0:
print(
"[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusNotDetermined",
);
break;
case 1:
print(
"[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusRestricted",
);
break;
case 2:
print(
"[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusDenied",
);
break;
case 3:
print(
"[Adjust]: Authorization status update: ATTrackingManagerAuthorizationStatusAuthorized",
);
break;
}
});

에서 삭제됨

v5에서 삭제됨

다음 플러그인은 SDK v5에서 제거되었습니다.

이벤트 버퍼링

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

adjustConfig.setEventBufferingEnabled(true);

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

커스텀 사용자 에이전트 문자열

SDK v4는 adjustConfig 인스턴스의setUserAgent 메서드에 사용자 문자열 에이전트를 전달하여 커스텀 사용자 에이전트 설정을 지원합니다.

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

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

알려진 기기 여부 설정

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

adjustConfig.setDeviceKnown(true);

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

SDK 작동 시작 지연

SDK v4는 adjustConfig 인스턴스의 setDelayStart 속성을 지연으로 설정하여 SDK 시작 지연을 지원합니다. 이 지연 시간은 최대 10초 로 설정할 수 있습니다.

adjustConfig.setDelayStart(10);

이 메서드는 SDK v5에서 제거되었습니다. 이 지연을 방해하는 Adjust.sendFirstPackages 메서드 또한 삭제되었습니다.

새로운 ATT 상태 확인

SDK v4는 Adjust.checkForNewAttStatus 메서드를 지원합니다. 이 메서드를 호출하면 SDK가 지연을 중지하고 작업을 계속할 수 있습니다.

Adjust.checkForNewAttStatus();

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

최종 Android 어트리뷰션

SDK v4에서는 adjustConfig 인스턴스의 setFinalAndroidAttributionEnabled 메서드를 true 값과 함께 호출하여 최종 Android 어트리뷰션을 전달할 수 있습니다.

adjustConfig.setFinalAndroidAttributionEnabled(true);

Android 플랫폼에서의 어트리뷰션 콜백을 통해 최종 어트리뷰션만 전달되기 때문에 SDK v5에서는 이 설정이 삭제되었습니다.

리퍼러 설정

SDK v4에서는 setReferrer 메서드를 호출하여 SDK 시작 시 커스텀 클릭 ID와 함께 SDK 클릭을 트리거할 수 있습니다.

Adjust.setReferrer("referrer");

이 메서드는 SDK v5에서 삭제되었습니다. Google은 Google Play Services에 대한 리퍼러 정보를 전달하는 INSTALL_REFERRER 인텐트 메서드를 지원 중단했습니다. 현재 이 메서드를 사용하고 있다면 Google Play Referrer API로 마이그레이션하시기 바랍니다.

SDK v4에서는 convertUniversalLink 메서드를 호출할 수 있습니다.

Adjust.convertUniversalLink(function (url, scheme, callback) {});

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

AdjustEvent 변경

SDK v4에서는 구독 및 구매에 대해 adjustEventadjustEvent.setReceipt 메서드에 receipt 를 전송할 수 있습니다.

adjustEvent.setReceipt("receipt");

이는 더 이상 필요하지 않으므로 SDK v5에서 삭제되었습니다.

구매 검증

SDK v4에서는 AdjustAppStorePurchase 객체를 receipt 속성으로 인스턴스화해야 합니다. 본 속성은 지정된 경우에 사용됩니다.

var appStorePurchase = new AdjustAppStorePurchase(
"receipt",
"product-id",
"transaction-id",
);

이 메서드는 SDK v5에서 제거되었습니다. 예정된 AdjustAppStorePurchase 클래스를 사용하는 경우, 구성 콜에서 이 인수를 반드시 삭제해야 합니다.

var appStorePurchase = new AdjustAppStorePurchase(
"product-id",
"transaction-id",
);

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

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

Adjust.disableThirdPartySharing();

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

var thirdPartySharing = new AdjustThirdPartySharing(false);
Adjust.trackThirdPartySharing(thirdPartySharing);