最近アプリをリリースしようとしたら、審査でリジェクトされてしまった。
これはIOS14からアプリに広告を付ける場合、ユーザから広告の最適化表示のために情報をトラックしていることを明示、許可を得る機能をつけないといけないためであった。
エラー詳細
Guideline 5.1.2 – Legal – Privacy – Data Use and Sharing
The app privacy information you provided in App Store Connect indicates you collect data in order to track the user, including Advertising Data, Product Interaction, and Device ID. However, you do not use App Tracking Transparency to request the user’s permission before tracking their activity.
Starting with iOS 14.5, apps on the App Store need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of App Store users.
出力されたエラーは上記の通りである。
私の場合は、Admobの広告を利用しているが、Admobにもじゃあどうコードを書けばいいのかを明示している。しかし、私の場合は、EXPOを使っている。EXPOの場合はどうすればいいの?っていうのは当然Admob(Google)は書いてくれてない。
結論、EXPOはまだ未対応なのでSDK42を待つ・・・
https://dev.to/haydenbleasel/implementing-ios-14-5-tracking-transparency-in-expo-sdk41-34id
上記のリンクに現時点で最新のSDK41での書き方を書いてくれている。確かに上記の方法で可能だと思う。React Hookでユーザが許可する、しないのステートを管理させる。
できないこともないが、広告のためにReact Hookでステートを持たせるのものなあ、という感じである。
一応記事に続きには、おそらくSDK42では対応するだろう、ということなので、SDK42のリリースを待ちたいと思う。
SDK42は今年のJune/Julyリリースということなのであと1か月程度まてはリリースされると思う。
Leave a Reply