IDFAとは
IDFA は「Identifier for Advertisers」の略称であり、Appleがユーザーの端末にランダムに割り当てるデバイスIDです。 広告主はこのIDを使ってユーザーの広告エンゲージメント 、アプリ内のユーザー行動を計測することで、カスタマイズした広告を配信することができます。
つまりiOSアプリ内で自分の興味のある広告表示されることがあるのは、このIDFAのおかげということになります。
iOS14からのIDFAの取得
WWDC2020でiOS14でIDFAの扱いに変更が加えられることが発表されました。
iOS14以降はIDFAを取得する前に取得の可否を選択させるダイアログを表示することが義務付けられるようになりました。
IDFA取得ダイアログの表示方法
1.frameworkの追加
以下のframeworkを追加します。
AdSupport.framework
AppTrackingTransparency.framework
参考リンク:
https://developer.apple.com/documentation/adsupport
https://developer.apple.com/documentation/apptrackingtransparency
2.info.plistへの文言の追加
info.plistに「Privacy - Tracking Usage Description」をKeyとしてValueに文言を設定します。
上記画像の赤枠の箇所に文言が反映され、他の箇所についてはデフォルト文言で変更不可のようです。
3.ダイアログを表示
ダイアログ表示するには**requestTrackingAuthorization(completionHandler:)**を使用することで、下記のように実装することができます。
Swift
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
switch status {
case .authorized:
//IDFA取得
print("IDFA: \(ASIdentifierManager.shared().advertisingIdentifier)")
print("success")
case .denied, .restricted, .notDetermined:
print("failure")
@unknown default:
fatalError()
}
})
}