시작에 앞서
SDK v5로 업데이트하기 전에 다음을 수행하시기 바랍니다.
-
SDK v5는 SDK Signature 인증을 기본적으로 지원합니다. 현재 SDK 서명 라이브러리를 사용하는 경우, 우선 앱에서 서명 라이브러리를 삭제해야 합니다.
-
SDK v5에 필요한 API의 최소 지원 버전이 업데이트되었습니다. 앱이 이보다 낮은 버전을 대상으로 하는 경우 먼저 업데이트해야 합니다.
- iOS: 12.0
- Android: 21
SDK 설치
SDK v5를 사용하려면 프로젝트에서 디펜던시로 추가해야 합니다.
Cordova 플러그인
Cordova 플러그인에 Adjust Cordova SDK를 추가하려면 다음 명령을 실행합니다.
> cordova plugin add com.adjust.sdkFetching plugin "com.adjust.sdk" via npmInstalling "com.adjust.sdk" for androidInstalling "com.adjust.sdk" for ios
Ionic
앱을 빌드할 때 Ionic을 사용하는 경우 다음 명령을 실행하여 awesome-cordova-plugins
리포지토리로부터 SDK를 추가합니다.
> npm install @awesome-cordova-plugins/adjust --save> ionic cordova plugin add com.adjust.sdk
초기화 메서드 업데이트
SDK v4에서 초기화 메서드는 Adjust.create
입니다. 이것이 SDK v5에서 Adjust.initSdk
로 변경되었습니다.
Adjust.create(adjustConfig); // v4Adjust.initSdk(adjustConfig); // v5
변경된 API
다음 API가 SDK v5에서 변경되었습니다.
SDK 비활성화 및 활성화
SDK v4에서는 boolean
값과 함께 Adjust.setEnabled
를 호출하여 SDK를 활성화 및 비활성화할 수 있습니다.
Adjust.setEnabled(false); // disable SDKAdjust.setEnabled(true); // enable SDK
SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다.
- SDK를 비활성화하려면
Adjust.disable
를 호출합니다. - SDK를 활성화하려면
Adjust.enable
를 호출합니다.
Adjust.disable();Adjust.enable();
백그라운드에서 정보 전송
SDK v4에서는 adjustConfig
인스턴스의 setSendInBackground
메서드를 boolean
로 설정하여 앱이 백그라운드에서 실행되는 동안 SDK가 Adjust에 정보를 전송하도록 할 수 있습니다.
adjustConfig.setSendInBackground(true);
SDK v5에서는 앱이 백그라운드에서 실행되는 동안 SDK가 Adjust에 정보를 전송하도록 adjustConfig
인스턴스의 enableSendingInBackground
속성을 false
로 설정해야 합니다. 디폴트 상태는 false
입니다.
adjustConfig.enableSendingInBackground();
사전 설치된 앱 측정
SDK v4에서는 true
값으로 adjustConfig
인스턴스의 setPreinstallTrackingEnabled
메서드를 호출하여 사전 설치된 앱 측정을 활성화할 수 있습니다.
adjustConfig.setPreinstallTrackingEnabled(true);
SDK v5에서 사전 설치된 앱 측정을 활성화하려면 adjustConfig
인스턴스의 enablePreinstallTracking
메서드를 호출해야 합니다. 디폴트 상태는 false
입니다.
adjustConfig.enablePreinstallTracking();
AdServices 정보 읽기 비활성화
SDK v4에서는 false
값으로 adjustConfig
의 setAllowAdServicesInfoReading
메서드를 호출하여 Adjust SDK가 AdServices 정보를 읽는 것을 방지할 수 있습니다.
adjustConfig.setAllowAdServicesInfoReading(false);
SDK v5에서 Adjust SDK가 AdServices 정보를 읽는 것을 방지하려면 adjustConfig
인스턴스의 disableAdServices
메서드를 호출해야 합니다. 디폴트 상태는 true
입니다.
adjustConfig.disableAdServices();
IDFA 읽기 비활성화
SDK v4에서는 false
값으로 adjustConfig
의 setAllowIdfaReading
메서드를 호출하여 Adjust SDK가 기기의 IDFA를 읽는 것을 방지할 수 있습니다.
adjustConfig.setAllowIdfaReading(false);
SDK v5에서 Adjust SDK가 기기의 IDFA를 읽는 것을 방지하려면 adjustConfig
인스턴스의 disableIdfaReading
메서드를 호출해야 합니다. 디폴트 상태는 true
입니다.
adjustConfig.disableIdfaReading();
어트리뷰션에서 비용 데이터 활성화
SDK v4에서는 true
값으로 adjustConfig
인스턴스의 setNeedsCost
메서드를 호출하여 기기의 어트리뷰션 정보에서 비용 데이터를 활성화할 수 있습니다.
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에서는 true
값으로 adjustConfig
인스턴스의 setLinkMeEnabled
메서드를 호출하여 Adjust LinkMe를 활성화할 수 있습니다.
adjustConfig.setLinkMeEnabled(true);
SDK v5에서 Adjust LinkMe를 활성화하려면 adjustConfig
인스턴스의 enableLinkMe
메서드를 호출해야 합니다. 디폴트 상태는 false
입니다.
adjustConfig.enableLinkMe();
기기 ID를 한 번만 읽기
SDK v4에서는 true
값으로 adjustConfig
의 setReadDeviceInfoOnceEnabled
메서드를 호출하여 SDK가 기기 ID를 한 번만 읽도록 지시할 수 있습니다.
adjustConfig.setReadDeviceInfoOnceEnabled(true);
SDK v5에서 SDK가 기기 ID를 한 번만 읽게 하려면 adjustConfig
의 enableDeviceIdsReadingOnce
메서드를 호출해야 합니다. 디폴트 상태는 false
입니다.
adjustConfig.enableDeviceIdsReadingOnce();
오프라인 모드
SDK v4에서는 boolean
인수와 함께 Adjust.setOfflineMode
를 호출하여 SDK의 오프라인 모드를 활성화 및 비활성화할 수 있습니다.
Adjust.setOfflineMode(true);Adjust.setOfflineMode(false);
SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다.
- SDK를 오프라인 모드로 설정하려면
Adjust.switchToOfflineMode
를 호출합니다. - SDK를 온라인 모드로 전환하려면
Adjust.switchBackToOnlineMode
를 호출합니다.
Adjust.switchToOfflineMode(); // Put the SDK in offline modeAdjust.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("transaction-id");
SDK v5에서는 이 기능이 transaction ID
와 분리되었습니다. 이벤트 중복 제거를 위해 deduplicationId
라는 새로운 ID 필드가 추가되었습니다.
adjustEvent.setDeduplicationId("deduplication-id");
사용자는 중복 이벤트 식별을 위해 목록에 추가할 수 있는 deduplicationId 수에 맞춤 제한을 설정할 수 있습니다. 기본 설정된 값은 10입니다.
adjustConfig.setEventDeduplicationIdsMaxSize(20);
세션 success 콜백
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
로 변경되었습니다. jsonResponse
속성은 iOS의 경우 맵에서 JSON 문자열로 변경되었습니다.
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);});
세션 failure 콜백
SDK v4에서는 setSessionTrackingFailedCallbackListener
를 호출하여 SDK에서 세션 기록에 실패했음을 등록할 수 있습니다.
adjustConfig.setSessionTrackingFailedCallbackListener( function (sessionFailure) { console.log("Session recording failed!"); console.log(sessionFailure.message); console.log(sessionFailure.timestamp); console.log(sessionFailure.adid); console.log(sessionFailure.willRetry); console.log(sessionFailure.jsonResponse); },);
SDK v5에서는 이름이 setSessionTrackingFailedCallback
으로 변경되었습니다.
adjustConfig.setSessionTrackingFailedCallback(function (sessionFailure) { console.log("Session recording failed!"); console.log(sessionFailure.message); console.log(sessionFailure.timestamp); console.log(sessionFailure.adid); console.log(sessionFailure.willRetry); console.log(sessionFailure.jsonResponse);});
이벤트 success 콜백
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);});
이벤트 failure 콜백
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에서는 false
값으로 adjustConfig
인스턴스의 setShouldlaunchDeeplink
메서드를 호출하여 SDK가 딥링크를 여는 것을 비활성화할 수 있습니다.
adjustConfig.setShouldLaunchDeeplink(false);
SDK v5에서는 기본 설정에 따라 딥링크가 열립니다. SDK가 딥링크를 여는 것을 비활성화하려면 adjustConfig
인스턴스의 disableDeferredDeeplinkOpening
메서드를 호출해야 합니다.
adjustConfig.disableDeferredDeeplinkOpening();
딥링크 해석
SDK v4에서는 processDeeplink
메서드에 url
을 전달하여 단축 딥링크를 해석할 수 있습니다.
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) { console.log("Deferred deep link = " + deeplink);});
SDK v5에서는 이 메서드의 이름이 setDeferredDeeplinkCallback
으로 변경되었습니다. 모든 인수는 동일하게 유지됩니다.
adjustConfig.setDeferredDeeplinkCallback(function (deeplink) { console.log("Deferred deep link = " + deeplink);});
COPPA 준수
SDK v4에서는 true
값으로 adjustConfig
인스턴스의 coppaCompliantEnabled
메서드를 호출하여 COPPA 준수를 활성화할 수 있습니다.
adjustConfig.setCoppaCompliantEnabled(true);
SDK v5에서 COPPA 준수를 활성화하려면 adjustConfig
인스턴스의 enableCoppaCompliance
메서드를 호출해야 합니다. 디폴트 상태는 false
입니다.
adjustConfig.enableCoppaCompliance();
플레이 스토어 어린이용 앱
SDK v4에서는 true
값으로 adjustConfig
인스턴스의 setPlayStoreKidsAppEnabled
메서드를 호출하여 앱을 플레이 스토어 어린이용 앱으로 표시할 수 있습니다. SDK 초기화 중에 읽히기 때문에 SDK가 초기화된 후에는 해당 값을 업데이트할 수 없습니다.
adjustConfig.setPlayStoreKidsAppEnabled(true);
SDK v5에서 준수를 활성화하려면 adjustConfig
인스턴스의 enablePlayStoreKidsCompliance
메서드를 호출해야 합니다. 디폴트 상태는 false
입니다.
adjustConfig.enablePlayStoreKidsCompliance();
데이터 레지던시 및 URL 전략 설정
SDK v4에서는 URL 전략 및 데이터 레지던시 도메인이 AdjustConfig
클래스의 상수로 정의됩니다.
adjustConfig.setUrlStrategy(AdjustConfig.DataResidencyEU);
SDK v5에서는 선택한 도메인을 배열로 전달해야 합니다. 또한 다음 항목을 설정해야 합니다.
useSubdomains
(boolean
): 도메인을 Adjust 도메인으로 취급할지 여부.true
인 경우, SDK는 도메인의 접두사로 Adjust에 특화된 하위 도메인을 사용합니다.false
인 경우 SDK는 접두사를 추가하지 않고 제공된 도메인을 그대로 사용합니다.isDataResidency
(boolean
): 도메인을 데이터 레지던시에 사용해야 하는지 여부.
adjustConfig.setUrlStrategy(["eu.adjust.com"], true, true);
아래 표를 보고 SDK v5에서 URL 전략을 구성하는 방법을 확인하시기 바랍니다.
v4 | v5 - 메인 및 폴백 도메인 | v5 - 하위 도메인 사용 | v5 - 데이터 레지던시 여부 |
---|---|---|---|
AdjustConfig.DataResidencyEU | "eu.adjust.com" | true | true |
AdjustConfig.DataResidencyTR | "tr.adjust.com" | true | true |
AdjustConfig.DataResidencyUS | "us.adjust.com" | true | true |
AdjustConfig.UrlStrategyChina | "adjust.world" , "adjust.com" | true | false |
AdjustConfig.UrlStrategyCn | "adjust.cn" , "adjust.com" | true | false |
AdjustConfig.UrlStrategyCnOnly | "adjust.cn" | true | false |
AdjustConfig.UrlStrategyIndia | "adjust.net.in" , "adjust.com" | true | false |
광고 매출 기록
SDK v4에서는 trackAdRevenue
메서드를 호출하여 source
및 payload
를 인수로 전달하고 광고 매출을 기록할 수 있습니다.
Adjust.trackAdRevenue("source", "payload");
또는 AdjustAdRevenue
객체를 인스턴스화하고 setRevenue
메서드를 호출하여 광고 매출 금액을 설정할 수 있습니다.
var adRevenue = new AdjustAdRevenue("source");adRevenue.setRevenue(6, "CAD");Adjust.trackAdRevenue(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");
v4 | v5 |
---|---|
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.AdRevenueSourceTopOn | "topon_sdk" |
AdjustConfig.AdRevenueSourceMopub | 더 이상 지원 안 됨 |
SKAdNetwork 커뮤니케이션 비활성화
SDK v4에서는 adjustConfig.deactivateSKAdNetworkHandling
메서드를 호출하여 SDK가 SKAdNetwork와 통신하는 것을 방지할 수 있습니다.
adjustConfig.deactivateSKAdNetworkHandling();
SDK v5에서 SKAdNetwork 커뮤니케이션을 비활성화하려면 adjustConfig
인스턴스의 disableSkanAttribution
메서드를 호출해야 합니다. 디폴트 상태는 true
입니다.
adjustConfig.disableSkanAttribution();
전환값 업데이트 수신
SDK v4에서는 adjustConfig
의 setSkad4ConversionValueUpdatedCallbackListener
메서드를 호출하여 전환값 업데이트를 수신할 수 있습니다. SKAN4 이전에서는 setConversionValueUpdatedCallbackListener
메서드를 사용할 수 있었습니다.
// pre-SKAN4 callbackadjustConfig.setConversionValueUpdatedCallbackListener( function (conversionValue) { console.log("Conversion value updated callback received"); console.log("Conversion value: " + conversionValue.conversionValue); },);
// SKAN4 callbackadjustConfig.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, "low", true, function (error) { // error is present in case it happened },);
SDK v5에서는 다음 인수와 함께 updateSkanConversionValue
메서드를 사용하여 전환값을 업데이트할 수 있습니다.
conversionValue
(Number
): 업데이트된 전환값coarseValue
(string
): 업데이트된 coarse 전환값lockWindow
(boolean
): 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부
Adjust.updateSkanConversionValue(6, "low", true, function (error) { // error is present in case it happened});
ATT(App Tracking Transparency) 승인 래퍼
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; }});
기기 ID 게터
SDK v4에서 기기 플랫폼에 존재하지 않는 기기 ID를 호출하면 게터가 빈 문자열(""
)을 반환합니다.
Adjust.getIdfa(function (idfa) { // Returns IDFA on iOS // Returns "" on Android});
SDK v5에서는 기기 플랫폼에 존재하지 않는 기기 ID를 호출할 경우 아무 일도 일어나지 않습니다. 콜백 함수가 실행되지 않습니다.
Adjust.getIdfa(function (idfa) { // Returns IDFA on iOS // Does not execute on Android});
삭제된 API
다음 API가 SDK v5에서 삭제되었습니다.
이벤트 버퍼링
SDK v4는 이벤트 버퍼링을 지원합니다. 이 기능은 요청 이벤트, 광고 매출, 푸시 토큰 및 기타 정보를 로컬 버퍼에 60초간 저장한 후에 전송합니다.
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
인스턴스의 setDelayStart
메서드를 호출하여 SDK 작동 시작을 지연하는 기능을 지원합니다. 이 지연 시간은 최대 10초 로 설정할 수 있습니다.
adjustConfig.setDelayStart(10);
이 메서드는 SDK v5에서 제거되었습니다. 지연을 중단하는 Adjust.sendFirstPackages
메서드도 삭제되었습니다.
새로운 ATT 상태 확인
SDK v4는 Adjust.checkForNewAttStatus
메서드를 지원합니다. 이 메서드를 호출하면 SDK가 마지막 SDK 활동 이후 ATT 상태가 변경되었는지 확인하고 변경 사항이 있는 경우 Adjust 서버에 알립니다.
Adjust.checkForNewAttStatus();
이 메서드는 SDK v5에서 제거되었습니다.
최종 Android 어트리뷰션
SDK v4에서는 true
값으로 AdjustConfig
인스턴스의 setFinalAndroidAttributionEnabled
메서드를 호출하여 최종 Android 어트리뷰션을 전달할 수 있습니다.
adjustConfig.setFinalAndroidAttributionEnabled(true);
이 설정은 SDK v5에서 제거되었으며 이제 최종 어트리뷰션만 Android 플랫폼에서 어트리뷰션 콜백을 통해 전달됩니다.
리퍼러 설정
SDK v4에서는 SDK가 시작될 때 사용자 지정 클릭 ID로 SDK 클릭을 트리거하는 setReferrer
메서드를 호출할 수 있습니다.
Adjust.setReferrer("referrer");
이 메서드는 SDK v5에서 제거되었습니다. Google은 Google 플레이 서비스의 리퍼러 정보를 전달하는 데 사용되는 INSTALL_REFERRER
인텐트 메서드 지원을 중단했습니다. 현재 이 메서드를 사용한다면 Google Play Referrer API로 전환하시기 바랍니다.
유니버설 링크 전환
SDK v4에서는 convertUniversalLink
메서드를 호출할 수 있습니다.
Adjust.convertUniversalLink(url, scheme, function (convertedLink) { console.log("Converted link = " + convertedLink);});
이 메서드는 SDK v5에서 제거되었습니다.
AdjustEvent 변경 사항
SDK v4에서는 결제 검증을 위해 receipt
을 AdjustEvent
인스턴스의 adjustEvent.setReceipt
메서드로 전송할 수 있습니다.
adjustEvent.setReceipt("receipt");
이 파라미터는 결제 검증에 더 이상 필요하지 않으므로 SDK v5에서 제거되었습니다.
결제 검증
SDK v4에서는 receipt
인수를 사용하여 AdjustAppStorePurchase
객체를 인스턴스화해야 합니다. 이 값은 결제 검증에 사용됩니다.
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);