Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

iOS 개발일지

iOS 14 이상 버전에서 IDFA 권한 요청하기 본문

iOS

iOS 14 이상 버전에서 IDFA 권한 요청하기

Lia's iOS 2023. 1. 29. 18:53

아이폰에서 앱을 새로 설치한 후 실행했을 때 자주 보이는 앱 추적 권한 창

 

iOS 14 이전 버전에서는 권한을 요청하지 않고도 IDFA 값을 가질 수 있었지만, iOS 14 이상 버전에서는 권한을 요청해야 한다.

맞춤형 광고이니만큼, 사용자가 광고에 관심을 가질 가능성이 높아지기 때문에 앱 추적을 사용하지 않을 때보다 수익을 올릴 수 있다.

 

 

IDFA란?

IDFA란 ID for Advertisers의 약자로, Apple에서 사용자의 기기에 할당한 광고 식별자이다.

기기에 할당된 IDFA를 통해 사용자를 식별하고 맞춤형 광고를 제작할 수 있다.

 

 

1. TARGETS -> Frameworks에서 + 버튼을 통해 AppTrackingTransparency을 추가한다.

 

 

2. info.plist에서 Privacy - Tracking Usage Description 를 추가하고, 권한을 요청할 때 사용자에게 보여줄 문구를 입력한다.

 

 

3. AppTrackingTransparency을 import 하고, 권한을 요청하는 함수를 추가한다.

주의!! 이유는 모르겠지만 asyncAfter로 조금 늦게 띄워야 창이 제대로 나타난다.

import UIKit
import AppTrackingTransparency

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        requestTrackingAuthorization()
    }
    
    func requestTrackingAuthorization() {
        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
            if #available(iOS 14, *) {
                ATTrackingManager.requestTrackingAuthorization { (status) in
                    switch status {
                    case .notDetermined:
                        print("notDetermined") // 결정되지 않음
                    case .restricted:
                        print("restricted") // 제한됨
                    case .denied:
                        print("denied") // 거부됨
                    case .authorized:
                        print("authorized") // 허용됨
                    @unknown default:
                        print("error") // 알려지지 않음
                    }
                }
            }
        }
    }
}