시작에 앞서
SDK v5로 업데이트하기 전에 다음을 수행하시기 바랍니다.
- SDK v5는 SDK Signature(SDK 서명) 인증을 기본적으로 지원합니다. 현재 SDK 서명 라이브러리를 사용하는 경우 먼저 이것을 삭제해야 합니다.
- 앱이 21보다 낮은 버전의 API를 대상으로 하는 경우 SDK v5를 사용하려면 앱을 업데이트해야 합니다.
SDK 설치
SDK v5를 사용하려면 프로젝트에서 디펜던시로 추가해야 합니다. 다음을 수행하시기 바랍니다.
-
현재
build.gradle
파일에 있는 이전 버전의 SDK를 모두 제거합니다. -
다음의 디펜던시를
build.gradle
파일에 추가합니다.build.gradle dependencies {implementation 'com.adjust.sdk:adjust-android:5.0.0'implementation 'com.android.installreferrer:installreferrer:2.2'// Add the following if you are using the Adjust SDK inside web views on your appimplementation 'com.adjust.sdk:adjust-android-webbridge:5.0.0'}
초기화 메서드 업데이트
SDK v4에서 초기화 메서드는 Adjust.onCreate(AdjustConfig)
입니다. 이것이 SDK v5에서 Adjust.initSdk(AdjustConfig)
로 변경되었습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);
Adjust.onCreate(adjustConfig); // v4Adjust.initSdk(adjustConfig); // v5
에서 변경됨
다음의 API가 SDK v5에서 변경되었습니다.
SDK 비활성화 및 활성화
SDK v4에서는 boolean
값과 함께 Adjust.setEnabled()
를 호출하여 SDK를 활성화 및 비활성화할 수 있습니다.
- SDK를 비활성화하려면
Adjust.setEnabled(false)
를 호출합니다. - SDK를 활성화하려면
Adjust.setEnabled(true)
를 호출합니다.
Adjust.setEnabled(false); // disable SDKAdjust.setEnabled(true); // enable SDK
SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다.
- SDK를 비활성화하려면
Adjust.disable()
를 호출합니다. - SDK를 활성화하려면
Adjust.enable()
를 호출합니다.
Adjust.disable(); // disable SDKAdjust.enable(); // enable SDK
오프라인 모드
SDK v4에서는 boolean
값과 함께 Adjust.setOfflineMode()
를 호출하여 SDK의 오프라인 모드를 활성화 및 비활성화할 수 있습니다.
Adjust.setOfflineMode(false); // put SDK in offline modeAdjust.setOfflineMode(true); // put SDK back in online mode
SDK v5에서는 명확성을 위해 이 기능이 별도의 명령으로 분리되었습니다.
- SDK를 오프라인 모드로 설정하려면
Adjust.switchToOfflineMode()
를 호출합니다. - SDK를 온라인 모드로 전환하려면
Adjust.switchBackToOnlineMode()
를 호출합니다.
Adjust.switchToOfflineMode(); // put SDK in offline modeAdjust.switchBackToOnlineMode(); // put SDK back in online mode
사전 설치 기록
SDK v4에서는 AdjustConfig
인스턴스의 setPreinstallTrackingEnabled
메서드를 부울 인수와 함께 호출하여, 앱이 기기에 사전 설치된 경우 Adjust SDK가 설치 데이터를 Adjust에 전송하도록 할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setPreinstallTrackingEnabled(true);
SDK v5에서는 명확성을 위해 이 메서드의 이름이 enabledPreinstallTracking
로 변경되었습니다. 이 새로운 메서드는 인수를 사용하지 않습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.enablePreinstallTracking();
어트리뷰션에서 비용 데이터 활성화
SDK v4에서는 부울 인수와 함께 AdjustConfig
인스턴스의 setNeedsCost
메서드를 호출하여 SDK가 사용자 어트리뷰션의 일부로서 비용 데이터를 전송하도록 할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setNeedsCost(true);
SDK v5에서는 명확성을 위해 이 메서드의 이름이 enableCostDataInAttribution
로 변경되었습니다. 이 새로운 메서드는 인수를 사용하지 않습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.enableCostDataInAttribution();
백그라운드에서 정보 전송
SDK v4에서는 AdjustConfig
인스턴스의 setSendInBackground
메서드를 부울 인수로 호출하여 앱이 백그라운드에서 실행 중일 때 SDK가 Adjust에 정보를 전송하도록 할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setSendInBackground(true);
SDK v5에서는 이 메서드의 이름이 enableSendingInBackground
로 변경되었습니다. 이 새로운 메서드는 인수를 사용하지 않습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.enableSendingInBackground();
기기 ID를 한 번만 읽기
SDK v4에서는 AdjustConfig
인스턴스의 setReadDeviceInfoOnceEnabled
메서드를 부울 값과 함께 호출하여 초기화 시 기기 ID를 한 번만 읽도록 SDK를 구성할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setReadDeviceInfoOnceEnabled(true);
SDK v5에서는 명확성을 위해 이 메서드의 이름이 enableDeviceIdsReadingOnce
로 변경되었습니다. 이 새로운 메서드는 인수를 사용하지 않습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.enableDeviceIdsReadingOnce();
세션 콜백 파라미터
세션 콜백 파라미터가 SDK v5에서 글로벌 콜백 파라미터로 이름이 변경되었습니다.
Adjust.addSessionCallbackParameter("foo", "bar");Adjust.removeSessionCallbackParameter("foo");Adjust.resetSessionCallbackParameters();
Adjust.addGlobalCallbackParameter("foo", "bar");Adjust.removeGlobalCallbackParameter("foo");Adjust.removeGlobalCallbackParameters();
세션 파트너 파라미터
세션 파트너 파라미터가 SDK v5에서 글로벌 파트너 파라미터로 이름이 변경되었습니다.
Adjust.addSessionPartnerParameter("foo", "bar");Adjust.removeSessionPartnerParameter("foo");Adjust.resetSessionPartnerParameters();
Adjust.addGlobalPartnerParameter("foo", "bar");Adjust.removeGlobalPartnerParameter("foo");Adjust.removeGlobalPartnerParameters();
이벤트 중복 제거
SDK v4에서는 이벤트 중복 제거가 이벤트 order ID
와 결합되어 있으며 최대 10개의 고유 ID로 제한됩니다.
const event = new AdjustEvent("event_token");event.setOrderId("deduplication_id");Adjust.trackEvent(event);
SDK v5에서는 이 기능이 order ID
와 분리되었습니다. 이벤트 중복 제거를 위해 deduplicationId
라는 새로운 ID 필드가 추가되었습니다. 사용자는 중복 이벤트를 식별하기 위해 목록에 추가할 수 있는 deduplicationId
수의 사용자 지정 한도를 설정할 수 있습니다. 기본 설정에 따라 한도는 10 으로 설정되어 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setEventDeduplicationIdsMaxSize(20); // if not set, then 10Adjust.initSdk(adjustConfig);
const event = new AdjustEvent("event_token");event.setDeduplicationId("deduplication_id");Adjust.trackEvent(event);
COPPA 준수
SDK v4에서 COPPA 준수 는 boolean 인수와 함께 config 객체의 setCoppaCompliantEnabled
메서드를 호출하여 설정됩니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setCoppaCompliantEnabled(true);
SDK v5에서는 명확성을 위해 이 메서드의 이름이 enableCoppaCompliance
로 변경되었습니다. 이 새로운 메서드는 인수를 허용하지 않습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.enableCoppaCompliance();
플레이 스토어 어린이용 앱
SDK v4에서는 boolean 인수와 함께 config 객체의 setPlayStoreKidsAppEnabled
메서드를 호출하여 앱을 Play Store Kids 앱 으로 표시할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setPlayStoreKidsAppEnabled(true);
SDK v5에서는 명확성을 위해 이 메서드의 이름이 enablePlayStoreKidsCompliance
로 변경되었습니다. 이 새로운 메서드는 인수를 허용하지 않습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.enablePlayStoreKidsCompliance();
데이터 레지던시 및 URL 전략 설정
SDK v4에서는 URL 전략 및 데이터 레지던시 도메인이 AdjustConfig
클래스의 상수로 정의됩니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(AdjustConfig.DataResidencyEU);
SDK v5에서는 선택한 도메인을 배열로 전달해야 합니다. 또한 다음 항목을 설정할 수 있습니다.
useSubdomains
(boolean
): 소스가 하위 도메인을 접두사로 사용해야 하는지 여부.isDataResidency
(boolean
): 도메인을 데이터 레지던시에 사용해야 하는지 여부.
const adjustConfig = new AdjustConfig(this, appToken, environment);const domains = ["domain1", "domain2"];const useSubdomains = true;const isDataResidency = false;adjustConfig.setUrlStrategy(domains, useSubdomains, isDataResidency);
아래 표를 보고 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 |
예:
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(["adjust.net.in", "adjust.com"], true, false);
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(["adjust.world", "adjust.com"], true, false);
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(["adjust.cn"], true, false);
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(["eu.adjust.com"], true, true);
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(["tr.adjust.com"], true, true);
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUrlStrategy(["us.adjust.com"], true, true);
글로벌 서드파티 공유 비활성화
SDK v4에서는 Adjust.disableThirdPartySharing()
메서드를 호출하여 전 세계에서 서드파티와의 정보 공유를 비활성화할 수 있습니다.
Adjust.disableThirdPartySharing();
이 기능은 SDK v5에서 제거되었습니다. SDK v5에서는 Adjust.trackThirdPartySharing()
메서드를 사용하여 서드파티 공유를 활성화 또는 비활성화합니다.
const adjustThirdPartySharing = new AdjustThirdPartySharing(true);Adjust.trackThirdPartySharing(adjustThirdPartySharing);
기기 ID 게터
SDK v4에서는 모든 기기 ID 게터 메서드가 동기적으로 실행됩니다. SDK v5에서는 이러한 메서드가 비동기적으로 실행되도록 변경되었습니다.
Adjust.getAdid(function (adid) { alert("Ad Id:\n" + adid);});
Adjust.getAttribution(function (attribution) { alert( "Tracker token = " + attribution.trackerToken + "\n" + "Tracker name = " + attribution.trackerName + "\n" + "Network = " + attribution.network + "\n" + "Campaign = " + attribution.campaign + "\n" + "Adgroup = " + attribution.adgroup + "\n" + "Creative = " + attribution.creative + "\n" + "Click label = " + attribution.clickLabel, );});
Adjust.getSdkVersion(function (sdkVersion) { alert("SDK version:\n" + sdkVersion);});
Adjust.isEnabled(function (isEnabled) { alert("Is SDK enabled? " + isEnabled);});
에서 삭제됨
다음 플러그인은 SDK v5에서 제거되었습니다.
이벤트 버퍼링
SDK v4는 이벤트 버퍼링을 지원합니다. 이 기능은 요청 이벤트, 광고 매출, 푸시 토큰 및 기타 정보를 로컬 버퍼에 저장하여 나중에 전송할 수 있게 해줍니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setEventBufferingEnabled(true);
이 설정은 SDK v5에서 제거되었습니다.
커스텀 사용자 에이전트 문자열
SDK v4는 사용자 에이전트 문자열로 AdjustConfig
인스턴스의 setUserAgent
메서드를 호출하여 커스텀 사용자 에이전트 설정을 지원합니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setUserAgent("user_agent_value");
이 설정은 SDK v5에서 제거되었습니다.
알려진 기기 여부 설정
SDK v4에서는 setDeviceKnown
메서드를 호출하여 알려진 기기인지 여부를 수동으로 SDK에 알릴 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setDeviceKnown(true);
이 설정은 SDK v5에서 제거되었습니다.
SDK 작동 시작 지연
SDK v4는 최대 120초 지연과 함께 AdjustConfig
인스턴스에서 setDelayStart
메서드를 호출하여 SDK 시작 지연을 지원합니다. 지연이 끝나기 전에 앱이 준비된 경우 Adjust.sendFirstPackages
를 호출하여 정보를 즉시 전송할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setDelayStart(delay);
Adjust.sendFirstPackages();
이 두 메서드는 모두 SDK v5에서 제거되었습니다.
딥링크를 사용한 리어트리뷰션
SDK v4에서는 Adjust.appWillOpenUrl()
메서드를 호출하여 웹 브릿지에서 Adjust에 딥링크 URL을 전달할 수 있습니다.
Adjust.appWillOpenUrl(data, getApplicationContext());
이 메서드는 SDK v5에서 제거되었습니다.
특정 소스로부터 광고 매출 전송
SDK v4에서는 소스와 페이로드를 Adjust.trackAdRevenue()
메서드에 전달하여 특정 소스로부터의 광고 매출을 전송할 수 있습니다.
Adjust.trackAdRevenue(source, payload);
이 메서드는 SDK v5에서 제거되었습니다.
앱 시크릿 설정
SDK v4는 SDK 트래픽 서명에 사용할 AdjustConfig
인스턴스의 setAppSecret
메서드를 호출하여 앱 시크릿을 설정하는 것을 지원합니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);
이 설정은 SDK v5에서 제거되었습니다.