시작에 앞서
SDK v5로 업데이트하기 전에 다음을 수행하시기 바랍니다.
- SDK v5는 SDK Signature 인증을 기본적으로 지원합니다. 현재 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
다음 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 SDKSDK 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 modeSDK 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로 보내도록 Adjust SDK를 활성화할 수 있습니다.
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 메서드를 호출하여 정보를 Adjust로 보내도록 SDK를 활성화할 수 있습니다.
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에서는 부울 인수와 함께 구성 객체에 setCoppaCompliantEnabled 메서드를 호출하여 COPPA 준수를 설정합니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setCoppaCompliantEnabled(true);SDK v5에서는 명확성을 위해 이 메서드의 이름이 enableCoppaCompliance로 변경되었습니다. 이 새 메서드는 인수를 수락하지 않습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.enableCoppaCompliance();플레이 스토어 어린이용 앱
SDK v4에서는 부울 인수와 함께 구성 객체에 setPlayStoreKidsAppEnabled 메서드를 호출하여 앱을 플레이 스토어 어린이용 앱으로 표시할 수 있습니다.
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);});삭제된 API
다음 API가 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에서는 AdjustConfig 인스턴스의 setDeviceKnown 메서드를 호출하여 알려진 기기인지 여부를 수동으로 SDK에 알릴 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setDeviceKnown(true);이 설정은 SDK v5에서 제거되었습니다.
SDK 작동 시작 지연
SDK v4는 AdjustConfig 인스턴스의 setDelayStart 메서드를 호출하여 SDK 작동 시작을 최대 120초 간 지연하는 기능을 지원합니다. 지연 시간이 끝나기 전에 앱이 준비되면 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는 AdjustConfig 인스턴스의 setAppSecret 메서드를 호출하여 SDK 트래픽을 서명하는 데 사용할 앱 시크릿을 설정하는 기능을 지원합니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);이 설정은 SDK v5에서 제거되었습니다.