개발아 담하자

[iOS] IDFA 적용하기 본문

📱 iOS

[iOS] IDFA 적용하기

choidam 2021. 10. 29. 14:34

IDFA (ID For Advertisement)

광고 식별자 IDFA 는 애플에서 각 기기에 할당한 임의 기기 식별자 입니다.

유저를 식별하고 맞춤형 광고를 제공하기 위해 IDFA 를 사용합니다.

 

iOS 14 이전 버전에서는 유저의 권한 없이 IDFA 값을 가질 수 있었으나, iOS 14 버전 부터는 유저를 추적하기 위한 동의를 받아야만 합니다.

 

~iOS 14 버전 이하

import AdSupport 

ASIdentifierManager.shared().isAdvertisingTrackingEnabled

isAdvertisingTrackingEnabled 값이 true면 광고 추적 제한이 꺼져있고, false면 광고 추적 제한을 킬 수 있습니다.

 

그러나 iOS 14+ 버전 부터는 deprecated 되어 사용할 수 없습니다.

deprecated 됨

이는 공식문서에서 확인할 수 있습니다.

https://developer.apple.com/documentation/adsupport/asidentifiermanager/1614148-isadvertisingtrackingenabled

 

Apple Developer Documentation

 

developer.apple.com

 

 

 

iOS 14+

14 버전 부터는 AppTrackingTransparency 프레임워크를 통해 권한을 받아야 합니다.

 

1. 먼저 Info.plist 파일에 NSUserTrackingUsageDescription 을 추가합니다.

Info.plist

2. 권한을 요청합니다.

ATTrackingManager.requestTrackingAuthorization { _ in }

 

iOS 15+

iOS 15 버전 이하에서는 권한을 요청하는 코드를 보통 didFinishLaunghingWithOptions 에서 호출했는데, 지금은 호출되지 않습니다.

15 버전부터 IDFA 권한은 앱이 완전히 실행된 경우에만 호출할 수 있도록 변경되었기 때문입니다. (Active 한 상태에서만 호출할 수 있음)

이는 공식문서에서 확인할 수 있습니다.

https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorization

 

Apple Developer Documentation

 

developer.apple.com

 

만약 권한 요청 팝업의 호출 시점을 어플 첫 실행 직후(didFinishLaunchingWithOptions) 였다면, didBecomeActive 에서 호출하거나, ViewController에서 호출하는 걸로 변경해야 합니다.  (애플 개발자 커뮤니티에서는 didBecomeActive 호출로 변경하거나, didFinishLaunchingWithOptions 에서 1초 delay 주는 방법으로 많이 변경한 것 같습니다. )

 

 

 

Reference

https://swiftsenpai.com/development/get-ready-apptrackingtransparency/

 

Getting Ready for App Tracking Transparency - Swift Senpai

Learn how to get user's permission to track them or to access their device's IDFA by using the AppTrackingTransparency framework in iOS 14.5.

swiftsenpai.com

https://zeddios.tistory.com/1138

 

iOS 14+ ) [충격 실화] IDFA를 사용하려면 사용자 동의 받아야..

안녕하세요 :) Zedd입니다. 전 몰랐는데;;; 트위터가 IDFA로 조금 핫하더라구요. 제곧내고, 설명을 시작하겠습니다. 제목 관련 내용은 Q8번으로 가시면 됩니다! Q1 : IDFA가 뭐야? A : "ID for Advertisers". 광

zeddios.tistory.com

https://help.dfinery.io/hc/ko/articles/900005450503-애드브릭스-연동하기-iOS-#toc6