adjust-icon

SDK v5 마이그레이션 가이드

시작에 앞서

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

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

    • iOS: 12.0
    • Android: 21

SDK 설치

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

  1. GitHub에서 SDK 아카이브를 다운로드합니다.

  2. dist 디렉토리에서 C++ 파일을 복사하고 Cocos2d-x 프로젝트에 추가합니다.

  3. ( 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 files
    list(APPEND GAME_SOURCE
    Classes/Adjust/AdjustConfig2dx.cpp
    Classes/Adjust/AdjustAttribution2dx.cpp
    Classes/Adjust/AdjustProxy2dx.cpp
    Classes/Adjust/AdjustEvent2dx.cpp
    Classes/Adjust/AdjustAdRevenue2dx.cpp
    Classes/Adjust/AdjustAppStoreSubscription2dx.cpp
    Classes/Adjust/AdjustPlayStoreSubscription2dx.cpp
    Classes/Adjust/AdjustAppStorePurchase2dx.cpp
    Classes/Adjust/AdjustPlayStorePurchase2dx.cpp
    Classes/Adjust/Adjust2dx.cpp
    Classes/Adjust/AdjustEventFailure2dx.cpp
    Classes/Adjust/AdjustEventSuccess2dx.cpp
    Classes/Adjust/AdjustSessionFailure2dx.cpp
    Classes/Adjust/AdjustSessionSuccess2dx.cpp
    Classes/Adjust/AdjustThirdPartySharing2dx.cpp
    Classes/Adjust/AdjustDeeplink2dx.cpp
    Classes/Adjust/AdjustPurchaseVerificationResult2dx.cpp
    )
    list(APPEND GAME_HEADER
    Classes/Adjust/AdjustConfig2dx.h
    Classes/Adjust/AdjustAttribution2dx.h
    Classes/Adjust/AdjustProxy2dx.h
    Classes/Adjust/AdjustEvent2dx.h
    Classes/Adjust/AdjustAdRevenue2dx.h
    Classes/Adjust/AdjustAppStoreSubscription2dx.h
    Classes/Adjust/AdjustPlayStoreSubscription2dx.h
    Classes/Adjust/AdjustAppStorePurchase2dx.h
    Classes/Adjust/AdjustPlayStorePurchase2dx.h
    Classes/Adjust/Adjust2dx.h
    Classes/Adjust/AdjustEventFailure2dx.h
    Classes/Adjust/AdjustEventSuccess2dx.h
    Classes/Adjust/AdjustSessionFailure2dx.h
    Classes/Adjust/AdjustSessionSuccess2dx.h
    Classes/Adjust/AdjustThirdPartySharing2dx.h
    Classes/Adjust/AdjustDeeplink2dx.h
    Classes/Adjust/AdjustPurchaseVerificationResult2dx.h
    )
  4. ( Android만 해당 ): GitHub 릴리스 페이지에서 최신 adjust-android.aar 를 다운로드하고 Android Studio 프로젝트로 가져옵니다.

  5. ( iOS만 해당 ): GitHub 릴리스 페이지에서 최신 AdjustSdk.framework 를 다운로드하고 Xcode 프로젝트에 연결합니다.

서명 라이브러리 설정

SDK v5는 SDK Signature 라이브러리 를 사용하여 Adjust SDK에서 Adjust 서버로 전송되는 정보를 암호화합니다. SDK v5를 사용하려면 프로젝트에 Signature 라이브러리를 추가해야 합니다.

Android 앱

  1. Adjust Signature 라이브러리 GitHub 리포지토리에서 최신 adjust-android-signature.aar 를 다운로드합니다.
  2. Android Studio 프로젝트에 .aar 를 추가합니다.

iOS 앱

  1. Adjust Signature 라이브러리 GitHub 리포지토리에서 최신 AdjustSigSdk-iOS-Static.a 를 다운로드합니다.
  2. Xcode 프로젝트에서 .a 를 연결합니다.

앱의 프라이버시 매니페스트 업데이트(iOS만 해당)

앱 스토어에 Adjust SDK의 프라이버시 요건을 알리려면 프라이버시 매니페스트를 Adjust의 프라이버시 매니페스트와 병합해야 합니다.

  1. 앱의 프라이버시 매니페스트에 Adjust SDK 프라이버시 매니페스트 속성을 추가합니다.
  2. 앱의 프라이버시 매니페스트에 Signature 라이브러리의 프라이버시 매니페스트 속성을 추가합니다.

초기화 메서드 업데이트

v5에서 변경됨

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

v5에서 변경됨

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

SDK 비활성화 및 활성화

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

Adjust2dx::setEnabled(false); // disable SDK
Adjust2dx::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 값으로 adjustConfigsetAllowAdServicesInfoReading 메서드를 호출하여 Adjust SDK가 AdServices 정보를 읽는 것을 방지할 수 있습니다.

adjustConfig.setAllowAdServicesInfoReading(false);

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

adjustConfig.disableAdServices();

IDFA 읽기 비활성화

SDK v4에서는 false 값으로 adjustConfigsetAllowIdfaReading 메서드를 호출하여 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 값으로 adjustConfigsetReadDeviceInfoOnceEnabled 메서드를 호출하여 SDK가 기기 ID를 한 번만 읽도록 지시할 수 있습니다.

adjustConfig.setReadDeviceInfoOnceEnabled(true);

SDK v5에서 SDK가 기기 ID를 한 번만 읽게 하려면 adjustConfigenableDeviceIdsReadingOnce 메서드를 호출해야 합니다. 디폴트 상태는 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 mode
Adjust2dx::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 전략을 구성하는 방법을 확인하시기 바랍니다.

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

// India URL strategy
adjustConfig.setUrlStrategy({"adjust.net.in", "adjust.com"}, true, false);
// China URL strategy
adjustConfig.setUrlStrategy({"adjust.world", "adjust.com"}, true, false);
// China only URL strategy
adjustConfig.setUrlStrategy({"adjust.cn"}, true, false);
// EU URL strategy
adjustConfig.setUrlStrategy({"eu.adjust.com"}, true, true);
// Turkey URL strategy
adjustConfig.setUrlStrategy({"tr.adjust.com"}, true, true);
// US URL strategy
adjustConfig.setUrlStrategy({"us.adjust.com"}, true, true);

광고 매출 금액 기록

SDK v4에서는 AdjustAdRevenue2dx 객체를 광고 매출 소스 상수로 인스턴스화하여 광고 매출을 기록할 수 있습니다.

AdjustAdRevenue2dx adRevenue = AdjustAdRevenue2dx(AdjustAdRevenueSourceAppLovinMAX);

SDK v5에서는 AdjustAdRevenue 객체를 source 문자열로 인스턴스화해야 합니다.

AdjustAdRevenue2dx adRevenue = AdjustAdRevenue2dx("applovin_max_sdk")
v4v5
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에서는 adjustConfigsetPostbackConversionValueUpdatedCallback 메서드를 호출하여 전환값 업데이트를 수신할 수 있습니다. SKAN4 이전에서는 setConversionValueUpdatedCallback 메서드를 사용할 수 있었습니다.

// pre-SKAN4 callback
adjustConfig.setConversionValueUpdatedCallback([](int conversionValue) {
std::cout << "\nConversion value: " << conversionValue;
});
// SKAN4 callback
adjustConfig.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 error
Adjust2dx::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 error
Adjust2dx::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 error
Adjust2dx::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 getter
Adjust2dx::getIdfa([](std::string idfa) {
std::cout << "\nIDFA = " << idfa;
});
// IDFV getter
Adjust2dx::getIdfv([](std::string idfv) {
std::cout << "\nIDFV = " << idfa;
});
// ADID getter
Adjust2dx::getAdid([](std::string adid) {
std::cout << "\nAdjust ID = " << adid;
});
// Attribution getter
Adjust2dx::getAttribution([](AdjustAttribution2dx attribution) {
// process attribution
});
// Enabled status getter
Adjust2dx::isEnabled([](bool isEnabled) {
// process isEnabled
});
// SDK version getter
Adjust2dx::getSdkVersion([](std::string sdkVersion) {
std::cout << "\nSDK version = " << sdkVersion;
});
// Last deep link getter
Adjust2dx::getLastDeeplink([](std::string lastDeeplink) {
std::cout << "\nLast deeplink = " << 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.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);