광고 식별자 IDFA - ID for Advertisers는 Apple에서 사용자의 기기에 할당한 임의 기기 식별자 입니다.
Google은 광고 식별자 ADID - Advertising ID 를 사용하고 있지요.
각 광고 식별자를 통해 기기에 할당한 임의의 식별자로 사용자를 식별하고 맞춤형 광고를 제공할 수 있습니다.
iOS 14 이전 버전에서는 별다른 권한없이 IDFA 값을 가질 수 있었습니다.
하지만 iOS 14 버전 이상에서는 사용자를 추적할 권한을 요청하도록 처리 해야 합니다.
광고 식별자추적 권한을 요청하는 방법을 알아보겠습니다.
https://support.apple.com/ko-kr/HT212025
1. Framework 추가.
Xcode 프로젝트를 만든 뒤 Target -> General -> Frameworks, Libraries, and Embedded Content 로 진입합니다.
+ 를 클릭하여 AppTrackingTransparency.framework 를 추가합니다.
AppTrackingTransparency.framework 는 iOS 14 이상부터 사용이 가능합니다.
2. Privacy 항목 추가.
info.plist의 key 항목에 Privacy - Tracking Usage Description을 추가 합니다.
애플 공홈에 나와있는 내용 Your data will be used to measure advertising efficiency.를 Value 항목에 넣겠습니다.
3. 권한 요청.
이제 ViewController.swift 로 돌아와 권한 요청을 위한 코드를 작성하겠습니다.
requestTrackingAuthorization 함수를 추가 하였고 iOS 14 버전 이상일 때만 권한 요청을 하도록 추가 했습니다.
요청 후 아래처럼 AuthorizationStatus 를 전달하고 있습니다.
authorized: 승인
denied: 거부
notDetermined: 결정되지 않음
restricted: 제한
각 상태에 맞게 처리를 하면 됩니다.
import UIKit
import AppTrackingTransparency
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
requestTrackingAuthorization()
}
func requestTrackingAuthorization() {
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization { (status) in
switch status {
case .authorized:
print("authorized")
case .denied:
print("denied")
case .notDetermined:
print("notDetermined")
case .restricted:
print("restricted")
}
}
}
}
}
위처럼 작성하고 정상적으로 Build가 되었다면 아래처럼 보여지게 됩니다.
설정에서 설치된 앱을 선택하여 '추적 허용'을 취소 하거나 다시 허용을 할 수 있습니다.
'프로그래밍 > iOS' 카테고리의 다른 글
[iOS] APNs #2 Apple Push Services 인증서 발급 (0) | 2021.05.29 |
---|---|
[iOS] APNs #1 App ID의 Push Notification 활성화 (0) | 2021.05.28 |
[Swift] PDFKit 사용하기 #3 PageNumber 표시 (0) | 2021.05.21 |
[Swift] PDFKit 사용하기 #2 다중 PDF (0) | 2021.05.18 |
[Swift] PDFKit 사용하기 #1 단일 PDF (0) | 2021.05.17 |