[ios] 추적 권한을 쿼리하여 동적으로 조치하기

iOS 14부터 앱이 사용자의 추적을 추적할 수 있도록 하는 IDFA(Identifier for Advertisers) 권한을 얻기 위해 사용자의 동의를 받아야 합니다. 이에 따라서 앱은 App Tracking Transparency(ATTrackingManager) 프레임워크를 사용하여 사용자로부터 광고 추적 권한을 요청해야 합니다. 사용자가 권한을 허용하거나 거부했을 때, 앱은 해당 상태에 맞게 동적으로 조치해야 합니다.

단계별 가이드

1. 권한 상태 확인

앱이 권한을 얻기 전에 먼저 현재 권한 상태를 확인해야 합니다. 아래의 코드를 사용하여 현재 권한 상태를 확인할 수 있습니다.

import AppTrackingTransparency

switch ATTrackingManager.trackingAuthorizationStatus {
case .authorized:
    // 사용자가 광고 추적을 허용함
    break
case .denied:
    // 사용자가 광고 추적을 거부함
    break
case .notDetermined:
    // 사용자가 이전에 권한을 결정하지 않음
    break
case .restricted:
    // 광고 추적이 일부 방법으로 제한됨
    break
@unknown default:
    break
}

2. 권한 요청

ATTrackingManager 클래스를 사용하여 권한을 요청할 수 있습니다. 요청에 대한 결과는 completion handler를 통해 처리됩니다.

ATTrackingManager.requestTrackingAuthorization { status in
    switch status {
    case .authorized:
        // 사용자가 광고 추적을 허용함
        break
    case .denied:
        // 사용자가 광고 추적을 거부함
        break
    case .notDetermined:
        // 사용자가 이전에 권한을 결정하지 않음
        break
    case .restricted:
        // 광고 추적이 일부 방법으로 제한됨
        break
    @unknown default:
        break
    }
}

결론

iOS에서는 사용자의 권한을 쿼리하여 동적으로 조치하기 위해 App Tracking Transparency 프레임워크를 사용할 수 있습니다. 이를 통해 사용자의 권한 상태에 따라 적절한 조치를 취할 수 있습니다.

더 자세한 내용은 Apple의 공식 문서를 참고하시기 바랍니다.