LoginSignup
5
7

More than 3 years have passed since last update.

iOS 14で必要な?NSUserTrackingUsageDescriptionの設定方法

Last updated at Posted at 2020-10-07

NSUserTrackingUsageDescriptionとは何よ?

iOS14になったデバイスではじめてアプリをビルドすると、クラッシュしてもうた。。。
Xcodeのログは以下:point_down:

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の部分に文字を入れてみる。

スクリーンショット 2020-10-06 22.12.58.jpg

これでkeyとvalueをセットした

スクリーンショット 2020-10-06 22.10.27.jpg

お!これが例のIDFAオプトインダイアログですか!
シュミレーターが英語設定なのでオプトインダイアログも英語になっているが、とりあえず問題なさそう。

参考:iOS14で、IDFAオプトインダイアログを出してみる

オプトインダイアログを日本語にする

こちらを参考に、それっぽい日本語文にして、実機でビルドしてみるとちゃんとオプトインダイアログは日本語になってました。

最後に

アプリに広告を出している人はいずれ対応しないといけないっぽいので、お早めに〜

追記

SKAdNetworkItemsを追加する

ここではGoogleがSKAdNetworkを利用できるようにします。
ユーザにIDFAの取得を拒否された場合でもAppleが提供するSKAdNetworkを利用して広告を配信するために利用するものです。
https://d1v1b.com/posts/update_admob_for_ios_app

skadnetwork.png

Info.plistにSKAdNetworkItemsを追加しておいた方が良さそうなので、入れておく

5
7
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
5
7