시작에 앞서
SDK v5로 업데이트하기 전에 다음을 수행하시기 바랍니다.
- SDK v5는 SDK Signature(SDK 서명) 인증을 기본적으로 지원합니다. 현재 SDK 서명 라이브러리를 사용하는 경우 먼저 이것을 삭제해야 합니다.
- 앱이 다음보다 낮은 버전의 API를 대상으로 하는 경우 SDK v5를 사용하려면 앱을 업데이트해야 합니다.
- iOS: 12.0
- tvOS: 12.0
SDK 설치
SDK v5를 사용하려면 XCode 프로젝트에서 디펜던시로 추가해야 합니다. 다음을 수행하시기 바랍니다.
-
현재
Podfile
에 있는 이전 버전의 SDK를 모두 제거합니다. -
Podfile
에 다음 줄을 추가합니다.Podfile pod 'Adjust/AdjustWebBridge', :git => 'https://github.com/adjust/ios_sdk.git', :tag => 'v5.0.0' -
pod install
을 실행하여 디펜던시를 설치합니다.
초기화 메서드 업데이트
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에서 제거되었습니다.
IDFA 읽기 비활성화
SDK v5에서는 AdjustConfig
인스턴스에서 disableIdfaReading
메서드를 호출하여 Adjust SDK 가 광고주에 대한 기기 ID(IDFA)를 읽는 것을 방지할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.disableIdfaReading();
디퍼드 딥링크 비활성화
SDK v5에서는 AdjustConfig
인스턴스의 disableDeferredDeeplinkOpening
메서드를 호출하여 SDK가 디퍼드 딥링크를 여는 것을 방지할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.disableDeferredDeepLinkOpening();
SKAdNetwork 어트리뷰션 비활성화
SDK v5에서는 AdjustConfig
인스턴스의 disableSkanAttributionHandling
메서드를 호출하여 Adjust SDK가 Apple의 SKAdNetwork로 어트리뷰션 정보를 전송하는 것을 방지할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.disableSkanAttributionHandling();
SKAdNetwork 업데이트 콜백
SDK v5에서는 콜백 함수와 함께 AdjustConfig
인스턴스의 setSkanUpdatedCallback
메서드를 호출하여 사용자의 SKAdNetwork 전환값이 변경될 때 콜백 함수를 실행하도록 Adjust SDK를 구성할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);
adjustConfig.setSkanUpdatedCallback(function (skanData) { alert("SKAN: " + skanData.error);});
에서 변경됨
다음 플러그인은 SDK v5에서 제거되었습니다.
AdServices 정보 읽기 비활성화
SDK v4에서는 AdjustConfig
인수와 함께 setAllowAdServicesInfoReading
메서드를 호출하여 Adjust SDK가 AdServices 정보를 읽는 것을 방지할 수 있습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setAllowAdServicesInfoReading(false);
SDK v5에서는 Adjust SDK가 AdServices 정보를 읽는 것을 방지하려면 인수 없이 disableAdServices
메서드를 호출해야 합니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.disableAdServices();
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
인스턴스의 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 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 준수 는 부울 인수와 함께 AdjustConfig
인스턴스에서 setCoppaCompliantEnabled
메서드를 호출하여 설정됩니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setCoppaCompliantEnabled(true);
SDK v5에서는 명확성을 위해 이 메서드의 이름이 enableCoppaCompliance
로 변경되었습니다. 이 새로운 메서드는 인수를 허용하지 않습니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.enableCoppaCompliance();
데이터 레지던시 및 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);
요청 ATT 승인 상태
SDK v4에서는 Adjust.requestTrackingAuthorizationWithCompletionHandler
메서드를 사용하여 사용자의 ATT 승인 상태 변경 사항을 처리할 수 있습니다.
Adjust.requestTrackingAuthorizationWithCompletionHandler(function(status) { alert('Permission status\n' + status);};
명확성을 위해 SDK v5에서 이름이 requestAppTrackingAuthorizationWithCompletionHandler
으로 변경되었습니다.
Adjust.requestAppTrackingAuthorizationWithCompletionHandler(function(status) { alert('Permission status\n' + status);};
기기 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.setDeviceToken
를 호출하여 기기 푸시 토큰 설정을 지원합니다.
Adjust.setDeviceToken(deviceToken);
이 기능은 SDK v5에서 제거되었습니다.
딥링크를 사용한 리어트리뷰션
SDK v4에서는 Adjust.appWillOpenUrl()
메서드를 호출하여 웹 브릿지에서 Adjust에 딥링크 URL을 전달할 수 있습니다.
Adjust.appWillOpenUrl(data, getApplicationContext());
이 메서드는 SDK v5에서 제거되었습니다.
Adjust LinkMe
SDK v4에서는 AdjustConfig
인스턴스의 setLinkMeEnabled
메서드를 부울 인수와 함께 호출하여 Adjust 웹 브릿지를 통해 Adjust LinkMe 를 활성화할 수 있습니다.
setupWebViewJavascriptBridge(function (bridge) { var yourAppToken = yourAppToken; var environment = AdjustConfig.EnvironmentSandbox; var adjustConfig = new AdjustConfig(yourAppToken, environment); adjustConfig.setLinkMeEnabled(true);});
이 메서드는 SDK v5에서 제거되었습니다.
특정 소스로부터 광고 매출 전송
SDK v4에서는 소스와 페이로드를 Adjust.trackAdRevenue()
메서드에 전달하여 특정 소스로부터의 광고 매출을 전송할 수 있습니다.
Adjust.trackAdRevenue(source, payload);
이 메서드는 SDK v5에서 제거되었습니다.
글로벌 서드파티 공유 비활성화
SDK v4에서는 Adjust.disableThirdPartySharing()
메서드를 호출하여 전 세계에서 서드파티와의 정보 공유를 비활성화할 수 있습니다.
Adjust.disableThirdPartySharing();
이 기능은 SDK v5에서 제거되었습니다. SDK v5에서는 Adjust.trackThirdPartySharing()
메서드를 사용하여 서드파티 공유를 활성화 또는 비활성화합니다.
const adjustThirdPartySharing = new AdjustThirdPartySharing(true);Adjust.trackThirdPartySharing(adjustThirdPartySharing);
ATT 상태 확인
SDK v4에서는 Adjust.checkForNewAttStatus
메서드를 호출하여 사용자의 ATT 상태에 대한 변경 사항을 확인할 수 있습니다.
Adjust.checkForNewAttStatus();
이 메서드는 SDK v5에서 제거되었습니다.
앱 시크릿 설정
SDK v4는 SDK 트래픽 서명에 사용할 AdjustConfig
인스턴스의 setAppSecret
메서드를 호출하여 앱 시크릿을 설정하는 것을 지원합니다.
const adjustConfig = new AdjustConfig(this, appToken, environment);adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);
이 설정은 SDK v5에서 제거되었습니다.