#NSUserTrackingUsageDescriptionとは何よ?
iOS14になったデバイスではじめてアプリをビルドすると、クラッシュしてもうた。。。
Xcodeのログは以下
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSUserTrackingUsageDescription key with a string value explaining to the user how the app uses this data.
どうやらNSUserTrackingUsageDescription
が必要?らしい。
とりあえず公式のドキュメントを読んでみる。
要はinfo.plist
に記載するList Keyのことらしい
そして何が目的なのかと言うと、、、
IDFA (Identifier for Advertisers) は、Appleがユーザーの端末にランダムに割り当てるデバイスIDです。 広告主はこのIDを使ってユーザーの広告エンゲージメント 、アプリ内のユーザー行動を計測することで、カスタマイズした広告を配信することができます。
https://www.adjust.com/ja/glossary/idfa/
と言うことらしいので、**「適切な広告配信のために、あなたのデバイスに割り当てられたIDを広告主が使用していいっすか?」**的な意味かな??
#info.plist
に値を追加
こちらを参考に、とりあえずValueの部分に文字を入れてみる。
これでkeyとvalueをセットした
お!これが例のIDFAオプトインダイアログですか!
シュミレーターが英語設定なのでオプトインダイアログも英語になっているが、とりあえず問題なさそう。
参考:iOS14で、IDFAオプトインダイアログを出してみる
#オプトインダイアログを日本語にする
こちらを参考に、それっぽい日本語文にして、実機でビルドしてみるとちゃんとオプトインダイアログは日本語になってました。
#最後に
アプリに広告を出している人はいずれ対応しないといけないっぽいので、お早めに〜
#追記
##SKAdNetworkItemsを追加する
ここではGoogleがSKAdNetworkを利用できるようにします。
ユーザにIDFAの取得を拒否された場合でもAppleが提供するSKAdNetworkを利用して広告を配信するために利用するものです。
https://d1v1b.com/posts/update_admob_for_ios_app
Info.plist
にSKAdNetworkItemsを追加しておいた方が良さそうなので、入れておく