일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Greedy
- 실버쥐
- 알고리즘
- sigmoid
- 그리디
- 플로이드와샬
- 그래프
- Node.js
- NeuralNetwork
- Swift
- Docker
- dp
- 프로그래머스
- 캡스톤정리
- DeepLearning
- 부르트포스
- 풀이
- 탐색
- 문제풀이
- ReLU
- mysql
- 백트래킹
- 백준
- Blockchain
- BFS
- Algorithm
- dfs
- C++
- Stack
- ios
- Today
- Total
개발아 담하자
[iOS] IDFA 적용하기 본문
IDFA (ID For Advertisement)
광고 식별자 IDFA 는 애플에서 각 기기에 할당한 임의 기기 식별자 입니다.
유저를 식별하고 맞춤형 광고를 제공하기 위해 IDFA 를 사용합니다.
iOS 14 이전 버전에서는 유저의 권한 없이 IDFA 값을 가질 수 있었으나, iOS 14 버전 부터는 유저를 추적하기 위한 동의를 받아야만 합니다.
~iOS 14 버전 이하
import AdSupport
ASIdentifierManager.shared().isAdvertisingTrackingEnabled
isAdvertisingTrackingEnabled 값이 true면 광고 추적 제한이 꺼져있고, false면 광고 추적 제한을 킬 수 있습니다.
그러나 iOS 14+ 버전 부터는 deprecated 되어 사용할 수 없습니다.
이는 공식문서에서 확인할 수 있습니다.
iOS 14+
14 버전 부터는 AppTrackingTransparency 프레임워크를 통해 권한을 받아야 합니다.
1. 먼저 Info.plist 파일에 NSUserTrackingUsageDescription 을 추가합니다.
2. 권한을 요청합니다.
ATTrackingManager.requestTrackingAuthorization { _ in }
iOS 15+
iOS 15 버전 이하에서는 권한을 요청하는 코드를 보통 didFinishLaunghingWithOptions 에서 호출했는데, 지금은 호출되지 않습니다.
15 버전부터 IDFA 권한은 앱이 완전히 실행된 경우에만 호출할 수 있도록 변경되었기 때문입니다. (Active 한 상태에서만 호출할 수 있음)
이는 공식문서에서 확인할 수 있습니다.
만약 권한 요청 팝업의 호출 시점을 어플 첫 실행 직후(didFinishLaunchingWithOptions) 였다면, didBecomeActive 에서 호출하거나, ViewController에서 호출하는 걸로 변경해야 합니다. (애플 개발자 커뮤니티에서는 didBecomeActive 호출로 변경하거나, didFinishLaunchingWithOptions 에서 1초 delay 주는 방법으로 많이 변경한 것 같습니다. )
Reference
https://swiftsenpai.com/development/get-ready-apptrackingtransparency/
https://zeddios.tistory.com/1138
https://help.dfinery.io/hc/ko/articles/900005450503-애드브릭스-연동하기-iOS-#toc6
'📱 iOS' 카테고리의 다른 글
[iOS] Memory Leak (1) : 강한 순환 참조 (4) | 2021.11.27 |
---|---|
[iOS] MLKit 를 사용한 사진 속 텍스트 인식하기 (0) | 2021.11.05 |
[iOS] Fridump3 를 사용한 메모리 덤프 (0) | 2021.10.01 |
[iOS/Swift] storyboard 없이 UI 그리기 (iOS 13 버전 이하) (0) | 2021.09.12 |
[iOS/Swift] xcworkspace 파일 추가하기 (0) | 2021.09.12 |