adjust-icon

ATT 설정

IDFA(ID for Advertisers)를 기록하려면 사용자의 허가를 받기 위한 메시지를 표시해야 합니다. 이렇게 하려면 앱에 Apple의 ATT(App Tracking Transparency) 프레임워크를 포함해야 합니다. Adjust SDK는 사용자의 허가 여부를 저장하고 각 요청과 함께 Adjust 서버로 전송합니다.

승인 상태

앱 트래킹 승인 래퍼

메서드 서명
static void requestTrackingAuthorizationWithCompletionHandler(void (*trackingStatusCallback)(int status));

Adjust SDK에는 Apple requestTrackingAuthorizationWithCompletionHandler 메서드의 래퍼가 포함되어 있습니다. ATT 프롬프트를 커스텀하지 않으려면 이 래퍼를 사용할 수 있습니다.

콜백 메서드는 사용자가 동의 팝업창에 응답할 때 트리거되고 사용자의 동의 상태 코드를 Adjust 서버로 전송합니다. 콜백 함수 내에서 각 상태 코드에 대한 응답을 정의할 수 있습니다.

트래킹 요청 다이얼로그에 대한 텍스트 컨텐츠를 지정해야 합니다. 이를 위해 텍스트를 Info.plist 파일의 NSUserTrackingUsageDescription 키에 추가합니다.

static void authorizationStatusCallback(int status) {
switch (status) {
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined case
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted case
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied case
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorized case
break;
}
}
// ...
Adjust2dx::requestTrackingAuthorizationWithCompletionHandler(authorizationStatusCallback);

예시

예시에서는 사용자가 프롬프트와 상호작용할 때 사용자의 인증 상태에 대해 읽을 수 있는(human-readable) 설명을 로그하는 방법을 보여줍니다.

static void authorizationStatusCallback(int status) {
switch (status) {
case 0:
CCLOG("The user hasn't responded to the access prompt yet.");
break;
case 1:
CCLOG(("Access to app-related data is blocked at the device level.");)
break;
case 2:
CCLOG("The user has denied access to app-related data for device tracking.");
break;
case 3:
CCLOG("The user has approved access to app-related data for device tracking.");
break;
}
}
Adjust2dx::requestTrackingAuthorizationWithCompletionHandler(authorizationStatusCallback);

현재 승인 상태 확인

메서드 서명
static int getAppTrackingAuthorizationStatus();

사용자의 현재 인증 상태는 언제든지 조회가 가능합니다. getAppTrackingAuthorizationStatus 메서드를 호출하여 정수 로 인증 상태 코드를 반환합니다.

Adjust2dx::getAppTrackingAuthorizationStatus();

예시

예시에서는 사용자의 인증 상태를 수집하여 String으로 변환하는 방법을 보여줍니다. 해당 정보는 authorizationStatus라는 변수로 할당되어 키 "status"와 함께 세션 파트너 파라미터로 전달됩니다.

std::string authorizationStatus = Adjust2dx::getAppTrackingAuthorizationStatus().c_str();
Adjust2dx::addSessionPartnerParameter("status", authorizationStatus);

승인 상태 변경 확인

메서드 서명
static void checkForNewAttStatus();

커스텀 ATT 프롬프트를 사용하는 경우, 사용자 인증 상태 변경에 대해 Adjust SDK에 알려야 합니다. checkForNewAttStatus 메서드를 호출하여 인증 상태를 Adjust 서버로 전송합니다.

Adjust2dx::checkForNewAttStatus();