LoginSignup
1
3

More than 3 years have passed since last update.

【Swift】iOS14におけるIDFAの取得

Posted at

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への文言の追加

b1b425f7-b494-2d34-86d9-d7bfd25bdb08.png

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()
      }
   })
}       
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3