iOS 개발일지
iOS 14 이상 버전에서 IDFA 권한 요청하기 본문
아이폰에서 앱을 새로 설치한 후 실행했을 때 자주 보이는 앱 추적 권한 창
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") // 알려지지 않음
}
}
}
}
}
}
'iOS' 카테고리의 다른 글
(비공개) (0) | 2023.06.15 |
---|---|
Objective-C에 대해 아주아주 간단히 알아보자 (0) | 2023.03.08 |
iOS 비동기/동시성 프로그래밍에 대해 알아보자! (1) | 2023.02.03 |
SDK, Framework, Library, API 용어 정리 (0) | 2023.01.30 |
Required Initializer / init(frame: )와 init(coder: )는 뭐가 다를까? (0) | 2022.08.19 |