시작에 앞서
SDK v5로 업데이트하기 전에 다음을 수행하시기 바랍니다.
-
SDK v5에 필요한 API의 최소 지원 버전이 업데이트되었습니다. 앱이 이보다 낮은 버전을 대상으로 하는 경우 먼저 업데이트해야 합니다.
- iOS: 12.0
- Android: 21
SDK 설치
SDK v5를 사용하려면 프로젝트에서 디펜던시로 추가해야 합니다. 이를 위해 다음을 수행하시기 바랍니다.
-
GitHub에서 SDK 아카이브를 다운로드합니다.
-
dist
디렉토리에서 C++ 파일을 복사하고 Cocos2d-x 프로젝트에 추가합니다. -
( Android만 해당 ): C++ 파일의 경로를
Android.mk
파일의LOCAL_SRC_FILES
섹션에 추가합니다.$(LOCAL_PATH)/../../../Classes/Adjust/AdjustConfig2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustAttribution2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustProxy2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustEvent2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/Adjust2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustEventFailure2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustEventSuccess2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustSessionFailure2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustSessionSuccess2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustAppStoreSubscription2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustPlayStoreSubscription2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustThirdPartySharing2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustAdRevenue2dx.cpp$(LOCAL_PATH)/../../../Classes/Adjust/AdjustAppStorePurchase2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustPlayStorePurchase2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustDeeplink2dx.cpp \$(LOCAL_PATH)/../../../Classes/Adjust/AdjustPurchaseVerificationResult2dx.cpp \CMake를 사용하는 경우, 다음의 소스 및 헤더 목록을
CMakeLists.txt
파일에 추가합니다.# add cross-platforms source files and header fileslist(APPEND GAME_SOURCEClasses/Adjust/AdjustConfig2dx.cppClasses/Adjust/AdjustAttribution2dx.cppClasses/Adjust/AdjustProxy2dx.cppClasses/Adjust/AdjustEvent2dx.cppClasses/Adjust/AdjustAdRevenue2dx.cppClasses/Adjust/AdjustAppStoreSubscription2dx.cppClasses/Adjust/AdjustPlayStoreSubscription2dx.cppClasses/Adjust/AdjustAppStorePurchase2dx.cppClasses/Adjust/AdjustPlayStorePurchase2dx.cppClasses/Adjust/Adjust2dx.cppClasses/Adjust/AdjustEventFailure2dx.cppClasses/Adjust/AdjustEventSuccess2dx.cppClasses/Adjust/AdjustSessionFailure2dx.cppClasses/Adjust/AdjustSessionSuccess2dx.cppClasses/Adjust/AdjustThirdPartySharing2dx.cppClasses/Adjust/AdjustDeeplink2dx.cppClasses/Adjust/AdjustPurchaseVerificationResult2dx.cpp)list(APPEND GAME_HEADERClasses/Adjust/AdjustConfig2dx.hClasses/Adjust/AdjustAttribution2dx.hClasses/Adjust/AdjustProxy2dx.hClasses/Adjust/AdjustEvent2dx.hClasses/Adjust/AdjustAdRevenue2dx.hClasses/Adjust/AdjustAppStoreSubscription2dx.hClasses/Adjust/AdjustPlayStoreSubscription2dx.hClasses/Adjust/AdjustAppStorePurchase2dx.hClasses/Adjust/AdjustPlayStorePurchase2dx.hClasses/Adjust/Adjust2dx.hClasses/Adjust/AdjustEventFailure2dx.hClasses/Adjust/AdjustEventSuccess2dx.hClasses/Adjust/AdjustSessionFailure2dx.hClasses/Adjust/AdjustSessionSuccess2dx.hClasses/Adjust/AdjustThirdPartySharing2dx.hClasses/Adjust/AdjustDeeplink2dx.hClasses/Adjust/AdjustPurchaseVerificationResult2dx.h) -
( Android만 해당 ): GitHub 릴리스 페이지에서 최신
adjust-android.aar
를 다운로드하고 Android Studio 프로젝트로 가져옵니다. -
( iOS만 해당 ): GitHub 릴리스 페이지에서 최신
AdjustSdk.framework
를 다운로드하고 Xcode 프로젝트에 연결합니다.
서명 라이브러리 설정
SDK v5는 SDK Signature 라이브러리 를 사용하여 Adjust SDK에서 Adjust 서버로 전송되는 정보를 암호화합니다. SDK v5를 사용하려면 프로젝트에 Signature 라이브러리를 추가해야 합니다.
Android 앱
- Adjust Signature 라이브러리 GitHub 리포지토리에서 최신
adjust-android-signature.aar
를 다운로드합니다. - Android Studio 프로젝트에
.aar
를 추가합니다.
iOS 앱
- Adjust Signature 라이브러리 GitHub 리포지토리에서 최신
AdjustSigSdk-iOS-Static.a
를 다운로드합니다. - Xcode 프로젝트에서
.a
를 연결합니다.
앱의 프라이버시 매니페스트 업데이트(iOS만 해당)
앱 스토어에 Adjust SDK의 프라이버시 요건을 알리려면 프라이버시 매니페스트를 Adjust의 프라이버시 매니페스트와 병합해야 합니다.
- 앱의 프라이버시 매니페스트에 Adjust SDK 프라이버시 매니페스트 속성을 추가합니다.
- 앱의 프라이버시 매니페스트에 Signature 라이브러리의 프라이버시 매니페스트 속성을 추가합니다.
초기화 메서드 업데이트
SDK v4에서 초기화 메서드는 Adjust2dx::start(adjustConfig)
입니다. 이것이 Adjust2dx::initSdk(adjustConfig)
로 변경되었습니다.
#include "Adjust/Adjust2dx.h"
std::string appToken = "YourAppToken";std::string environment = AdjustEnvironmentSandbox2dx;
AdjustConfig2dx adjustConfig = AdjustConfig2dx(appToken, environment);
Adjust2dx::start(adjustConfig);
* Adjust2dx::initSdk(adjustConfig);
변경된 API
다음 API가 SDK v5에서 변경되었습니다.
SDK 비활성화 및 활성화
SDK v4에서는 bool
값과 함께 Adjust2dx::setEnabled
를 호출하여 SDK를 활성화 및 비활성화할 수 있습니다.
Adjust2dx::setEnabled(false); // disable SDKAdjust2dx::setEnabled(true); // enable SDK
SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다.
- SDK를 비활성화하려면
Adjust2dx::disable()
를 호출합니다. - SDK를 활성화하려면
Adjust2dx::enable()
를 호출합니다.
Adjust2dx::disable();Adjust2dx::enable();
백그라운드에서 정보 전송
SDK v4에서는 adjustConfig
인스턴스의 sendInBackground
속성을 true
로 설정하여 앱이 백그라운드에서 실행되는 동안 SDK가 adjust에 정보를 보낼 수 있도록 할 수 있습니다.
adjustConfig.sendInBackground(true);
SDK v5에서는 앱이 백그라운드에서 실행되는 동안 SDK가 Adjust에 정보를 전송할 수 있도록 adjustConfig
인스턴스의 enableSendingInBackground
메서드를 호출해야 합니다.
adjustConfig.enableSendingInBackground();
사전 설치된 앱 측정
SDK v4에서는 true
인수로 adjustConfig
인스턴스의 setPreinstallTrackingEnabled
메서드를 호출하여 사전 설치된 앱 측정을 활성화할 수 있습니다.
adjustConfig.setPreinstallTrackingEnabled(true);
SDK v5에서 사전 설치된 앱 측정을 활성화하려면 adjustConfig
인스턴스의 enablePreinstallTracking
메서드를 호출해야 합니다.
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();
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에서는 bool
인수와 함께 Adjust2dx::setOfflineMode
를 호출하여 SDK의 오프라인 모드를 활성화 및 비활성화할 수 있습니다.
Adjust2dx::setOfflineMode(true);Adjust2dx::setOfflineMode(false);
SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다.
- SDK를 오프라인 모드로 설정하려면
Adjust2dx::switchToOfflineMode
를 호출합니다. - SDK를 온라인 모드로 전환하려면
Adjust2dx::switchBackToOnlineMode
를 호출합니다.
Adjust2dx::switchToOfflineMode(); // Put the SDK in offline modeAdjust2dx::switchBackToOnlineMode(); // Put the SDK back in online mode
세션 콜백 파라미터
SDK v4에서는 키-값 쌍을 Adjust2dx::addSessionCallbackParameter
메서드에 전달하여 세션 콜백 파라미터를 추가하고, Adjust2dx::removeSessionCallbackParameter
메서드를 사용하여 개별 파라미터를 제거할 수 있습니다.
Adjust2dx::addSessionCallbackParameter("key", "value");Adjust2dx::removeSessionCallbackParameter("key");Adjust2dx::resetSessionCallbackParameters();
SDK v5에서는 세션 콜백 파라미터가 글로벌 파라미터로 이름이 변경되었습니다.
Adjust2dx::addGlobalCallbackParameter("key", "value");Adjust2dx::removeGlobalCallbackParameter("key");Adjust2dx::removeGlobalCallbackParameters();
세션 파트너 파라미터
SDK v4에서는 키-값 쌍을 Adjust2dx::addSessionPartnerParameter
메서드에 전달하여 파트너 파라미터를 추가하고, Adjust2dx::removeSessionPartnerParameter
메서드를 사용하여 개별 파라미터를 제거할 수 있습니다.
Adjust2dx::addSessionPartnerParameter("key", "value");Adjust2dx::removeSessionPartnerParameter("key");Adjust2dx::resetSessionPartnerParameters();
SDK v5에서는 세션 파트너 파라미터가 글로벌 파트너 파라미터로 이름이 변경되었습니다.
Adjust2dx::addGlobalPartnerParameter("key", "value");Adjust2dx::removeGlobalPartnerParameter("key");Adjust2dx::removeGlobalPartnerParameters();
이벤트 중복 제거
SDK v4에서는 이벤트 중복 제거가 이벤트 transaction ID
와 결합되어 있으며 최대 10개의 고유 ID로 제한됩니다.
adjustEvent.setTransactionId("transaction-id");
SDK v5에서는 이 기능이 transaction ID
와 분리되었습니다. 이벤트 중복 제거를 위해 deduplicationId
라는 새로운 ID 필드가 추가되었습니다.
adjustEvent.setDeduplicationId("deduplication-id");
중복 이벤트를 식별하기 위해 목록에 추가할 수 있는 deduplicationId
수의 사용자 지정 한도를 설정할 수 있습니다. 기본 설정된 값은 10 입니다.
AdjustConfig2dx adjustConfig = AdjustConfig2dx("appToken", AdjustEnvironmentSandbox2dx);adjustConfig.setEventDeduplicationIdsMaxSize(20);Adjust2dx::initSdk(adjustConfig);
앱 스토어 구독
SDK v4에서는 AdjustAppStoreSubscription2dx
객체를 구성하여 새 구독을 설정할 수 있습니다. 이 객체는 4개의 인수 price
, currency
, transactionId
, receipt
로 초기화됩니다.
AdjustAppStoreSubscription2dx subscription = AdjustAppStoreSubscription2dx(price, currency, transactionId, receipt);
SDK v5에서는 결제 검증에 더 이상 필요하지 않으므로 receipt
인수를 전달하지 않아도 됩니다.
AdjustAppStoreSubscription2dx subscription = AdjustAppStoreSubscription2dx(price, currency, transactionId);
딥링크를 사용한 리어트리뷰션
SDK v4에서는 딥링크 정보를 Adjust2dx::appWillOpenUrl
메서드에 전달할 수 있습니다.
Adjust2dx::appWillOpenUrl("url");
SDK v5에서는 명확성을 위해 이름이 Adjust2dx::processDeeplink
로 변경되었습니다. 딥링크 구성을 위해 새로운 AdjustDeeplink2dx
클래스가 추가되었습니다. 딥링크를 처리하려면 딥링크 URL을 사용하여 AdjustDeeplink2dx
객체를 인스턴스화하고 Adjust2dx::processDeeplink
메서드로 전달합니다.
AdjustDeeplink2dx deeplink = AdjustDeeplink2dx("url");Adjust2dx::processDeeplink(deeplink);
딥링크 해석
SDK v4에서는 Adjust2dx::processDeeplink
메서드에 url
을 전달하여 단축 딥링크를 해석할 수 있습니다.
Adjust2dx::processDeeplink("url", [](std::string resolvedLink) { std::cout << "Resolved link: " << resolvedLink;});
SDK v5에서는 딥링크 url
을 사용하여 초기화된 AdjustDeeplink2dx
객체를 전달해야 합니다. 이러게 하면 축약되지 않은 원래의 딥링크가 반환됩니다.
AdjustDeeplink2dx deeplink = AdjustDeeplink2dx("url");Adjust2dx::processDeeplink(deeplink, [](std::string resolvedLink) { std::cout << "Resolved link: " << resolvedLink;});
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(AdjustDataResidencyEU);
SDK v5에서는 선택한 도메인을 배열로 전달해야 합니다. 또한 다음 항목을 설정해야 합니다.
useSubdomains
(bool
): 도메인을 Adjust 도메인으로 취급할지 여부.true
인 경우, SDK는 도메인의 접두사로 Adjust에 특화된 하위 도메인을 사용합니다.false
인 경우 SDK는 접두사를 추가하지 않고 제공된 도메인을 그대로 사용합니다.isDataResidency
(bool
): 도메인을 데이터 레지던시에 사용해야 하는지 여부.
adjustConfig.setUrlStrategy({"eu.adjust.com"}, true, true);
아래 표를 보고 SDK v5에서 URL 전략을 구성하는 방법을 확인하시기 바랍니다.
v4 | v5 - 메인 및 폴백 도메인 | v5 - 하위 도메인 사용 | v5 - 데이터 레지던시 여부 |
---|---|---|---|
AdjustDataResidencyEU | "eu.adjust.com" | true | true |
AdjustDataResidencyTR | "tr.adjust.com" | true | true |
AdjustDataResidencyUS | "us.adjust.com" | true | true |
AdjustUrlStrategyChina | "adjust.world" , "adjust.com" | true | false |
AdjustUrlStrategyCn | "adjust.cn" , "adjust.com" | true | false |
AdjustUrlStrategyCnOnly | "adjust.cn" | true | false |
AdjustUrlStrategyIndia | "adjust.net.in" , "adjust.com" | true | false |
예
// India URL strategyadjustConfig.setUrlStrategy({"adjust.net.in", "adjust.com"}, true, false);
// China URL strategyadjustConfig.setUrlStrategy({"adjust.world", "adjust.com"}, true, false);
// China only URL strategyadjustConfig.setUrlStrategy({"adjust.cn"}, true, false);
// EU URL strategyadjustConfig.setUrlStrategy({"eu.adjust.com"}, true, true);
// Turkey URL strategyadjustConfig.setUrlStrategy({"tr.adjust.com"}, true, true);
// US URL strategyadjustConfig.setUrlStrategy({"us.adjust.com"}, true, true);
광고 매출 금액 기록
SDK v4에서는 AdjustAdRevenue2dx
객체를 광고 매출 소스 상수로 인스턴스화하여 광고 매출을 기록할 수 있습니다.
AdjustAdRevenue2dx adRevenue = AdjustAdRevenue2dx(AdjustAdRevenueSourceAppLovinMAX);
SDK v5에서는 AdjustAdRevenue
객체를 source
문자열로 인스턴스화해야 합니다.
AdjustAdRevenue2dx adRevenue = AdjustAdRevenue2dx("applovin_max_sdk")
v4 | v5 |
---|---|
AdjustAdRevenueSourceAppLovinMAX | "applovin_max_sdk" |
AdjustAdRevenueSourceAdMob | "admob_sdk" |
AdjustAdRevenueSourceIronSource | "ironsource_sdk" |
AdjustAdRevenueSourceAdMostSource | "admost_sdk" |
AdjustAdRevenueSourceUnity | "unity_sdk" |
AdjustAdRevenueSourceHeliumChartboost | "helium_chartboost_sdk" |
AdjustAdRevenueSourceAdx | "adx_sdk" |
AdjustAdRevenueSourcePublisher | "publisher_sdk" |
AdjustAdRevenueSourceTopOn | "topon_sdk" |
AdjustAdRevenueSourceMopub | 더 이상 지원 안 됨 |
SKAdNetwork 커뮤니케이션 비활성화
SDK v4에서는 adjustConfig.deactivateSKAdNetworkHandling
메서드를 호출하여 SDK가 SKAdNetwork와 통신하는 것을 방지할 수 있습니다.
adjustConfig.deactivateSKAdNetworkHandling();
SDK v5에서 SKAdNetwork 커뮤니케이션을 비활성화하려면 adjustConfig
인스턴스의 disableSkanAttribution
메서드를 호출해야 합니다. 디폴트 상태는 true
입니다.
adjustConfig.disableSkanAttribution();
전환값 업데이트 수신
SDK v4에서는 adjustConfig
의setPostbackConversionValueUpdatedCallback
메서드를 호출하여 전환값 업데이트를 수신할 수 있습니다. SKAN4 이전에서는 setConversionValueUpdatedCallback
메서드를 사용할 수 있었습니다.
// pre-SKAN4 callbackadjustConfig.setConversionValueUpdatedCallback([](int conversionValue) { std::cout << "\nConversion value: " << conversionValue;});// SKAN4 callbackadjustConfig.setPostbackConversionValueUpdatedCallback([]( int conversionValue, std::string coarseValue, bool lockWindow) { std::cout << "\nConversion value: " << conversionValue; std::cout << "\nCoarse value: " << coarseValue; std::cout << "\nLock window: " << lockWindow;});
SDK v5에서는 adjustConfig
객체의 setSkanUpdatedCallback
메서드에 콜백 함수를 지정해야 합니다.
adjustConfig.setSkanUpdatedCallback([]( std::unordered_map<std::string, std::string> data) { std::cout << "\nConversion value: " << data["conversionValue"]; std::cout << "\nCoarse value: " << data["coarseValue"]; std::cout << "\nLock window: " << data["lockWindow"]; std::cout << "\nError: " << data["error"];});
전환값 업데이트
SDK v4에서는 다음 메서드 중 하나를 사용하여 업데이트된 전환값을 Adjust에 전송할 수 있습니다.
// pass just the conversion value (deprecated method)Adjust2dx::updateConversionValue(6);
// pass the conversion value and a callback to receive a message about potential errorAdjust2dx::updatePostbackConversionValue(6, [](std::string error) { std::cout << "Error while updating conversion value: " << error;});
// SKAN 4.0// pass the conversion value, coarse value and a callback to receive a message about potential errorAdjust2dx::updatePostbackConversionValue(6, "low", [](std::string error) { std::cout << "Error while updating conversion value: " << error;});
// SKAN 4.0// pass the conversion value, coarse value, lock window and a callback to receive a message about potential errorAdjust2dx::updatePostbackConversionValue(6, "low", false, [](std::string error) { std::cout << "Error while updating conversion value: " << error;});
SDK v5에서는 다음 인수와 함께 updateSkanConversionValue
메서드를 사용하여 전환값을 업데이트할 수 있습니다.
conversionValue
(int
): 업데이트된 전환값coarseValue
(std::string
): 업데이트된 coarse 전환값lockWindow
(bool
): 전환값 윈도우가 종료되기 전에 포스트백을 전송할지 여부
Adjust2dx::updateSkanConversionValue(6, "low", true, [](std::string error) { std::cout << "Error while updating conversion value: " << error;});
App Tracking Transparency(ATT) 승인 래퍼
SDK v4에서는 Adjust2dx::requestTrackingAuthorizationWithCompletionHandler
메서드를 사용하여 사용자의 ATT 승인 상태 변경 사항을 처리할 수 있습니다.
Adjust2dx::requestTrackingAuthorizationWithCompletionHandler([] (int 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에서 이름이 Adjust2dx::requestAppTrackingAuthorization
으로 변경되었습니다.
Adjust2dx::requestAppTrackingAuthorization([] (int 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 getterAdjust2dx::getIdfa([](std::string idfa) { std::cout << "\nIDFA = " << idfa;});
// IDFV getterAdjust2dx::getIdfv([](std::string idfv) { std::cout << "\nIDFV = " << idfa;});
// ADID getterAdjust2dx::getAdid([](std::string adid) { std::cout << "\nAdjust ID = " << adid;});
// Attribution getterAdjust2dx::getAttribution([](AdjustAttribution2dx attribution) { // process attribution});
// Enabled status getterAdjust2dx::isEnabled([](bool isEnabled) { // process isEnabled});
// SDK version getterAdjust2dx::getSdkVersion([](std::string sdkVersion) { std::cout << "\nSDK version = " << sdkVersion;});
// Last deep link getterAdjust2dx::getLastDeeplink([](std::string lastDeeplink) { std::cout << "\nLast deeplink = " << lastDeeplink;});
삭제된 API
다음 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.setDelayStart
를 호출하여 SDK 작동 시작을 최대 10초 간 지연하는 기능을 지원합니다.
adjustConfig.setDelayStart(10);
이 메서드는 SDK v5에서 제거되었습니다. 지연을 중단하는 Adjust2dx::sendFirstPackages()
메서드도 삭제되었습니다.
글로벌 서드파티 공유 비활성화
SDK v4에서는 Adjust2dx::disableThirdPartySharing
메서드를 호출하여 전 세계에서 서드파티와의 정보 공유를 비활성화할 수 있습니다.
Adjust2dx::disableThirdPartySharing();
이 기능은 SDK v5에서 제거되었습니다. SDK v5에서는 Adjust2dx::trackThirdPartySharing
메서드를 사용하여 서드파티 공유를 활성화 또는 비활성화합니다.
AdjustThirdPartySharing2dx thirdPartySharing = AdjustThirdPartySharing2dx(false);Adjust2dx::trackThirdPartySharing(thirdPartySharing);