ExpoアプリにTracking Transparency を実装する
Expo のSDK 42が7月の初めに公開されました。じゃあ、ひとまずバージョン上げとくかと思って、SDKをバージョンアップしただけのものをApp Storeの審査に出したところ、リジェクトされました。
あれ???と思って、理由を見たら App Tracking Transparencyを実装せよとのこと。iOS14.5以降では、アプリでトラッキングをするときにはユーザーの同意が必要とのことでした。確かに、最近いろんなアプリで同意画面を見たなあとは思ってました。
しかし、Expoはさすがというかもう用意されていました。TrackingTransparencyというのを使うだけですね。はい、expoコマンドでインストール。
$ expo install expo-tracking-transparency
実装もサンプルコードそのままインポート。
import { requestTrackingPermissionsAsync } from 'expo-tracking-transparency';
自分のアプリの場合はFirebaseAnalyticsを入れていたので、いったんこれを停止。
Analytics.setAnalyticsCollectionEnabled(false);
その上で、ユーザーの許可をもらえたら、再度有効にするとしました。
useEffect(() => {
(async () => {
const { status } = await requestTrackingPermissionsAsync();
if (status === 'granted') {
Analytics.setAnalyticsCollectionEnabled(true);
}
})();
}, []);
Expoの公式ドキュメントにイマイチ書いてないような気がしますが、app.jsonのios>infoPlist>NSUserTrackingUsageDescriptionを追加すると自分の設定したメッセージが出せるようです。
"ios": {
"infoPlist": {
"NSUserTrackingUsageDescription": "We use Tracking to fix bugs and improve your experience."
},
これでアプリをビルドして、再提出したところ無事審査が通りました。リジェクトはほとんど食らう余地のない小さなアプリなのですが、この対応面倒そうなと思った割にはそうでもなかったです。
Author And Source
この問題について(ExpoアプリにTracking Transparency を実装する), 我々は、より多くの情報をここで見つけました https://qiita.com/yosukesuzuki/items/e16db3f5bd670f8d711a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .