ATT と GDPR の両立【プログラム・テクニカル】|AdMob|Flutter
Flutter(iOS)アプリに AdMob 広告を搭載しているのなら ATT(App Tracking Transparency)を既に実装済みではないかと思う。例えば、以下のパッケージで。
そこへ、少し前から、AdMob ホームページに以下の警告が表示されて、アプリ起動時の実装がよく分からなくなった。
欧州経済領域(EEA)と英国のユーザーに広告を配信するには、GDPR(General Data Protection Regulation)は必須の対応なのだが…。
[AD] iPhone 15 Pro Max|Apple(メルカリ)
リリース ターゲットとなる国は?
先ず、ATT は Apple が義務づけているので、実装は必須。絶対に出さないといけない。
しかし、GDPR は必須ではない。欧州経済領域(EEA)と英国から広告収入を得ないなら、GDPR の実装は不要。はい、以上。
…だが、これらの国からも広告収入は得たいので、それなら、GDPR の実装は必須。Flutter なら、以下で Google が公式に実装方法を説明している。凄く単純で簡単。
これ自体はアッという間に実装完了。
ATT と GDPR の表示順は?
迷ったというか悩んだのは、どういうフローでユーザへ表示していけばいいのかってこと。単純に、連続して ATT と GDPR を出せばいいのか?
でも、それぞれの同意が不整合を起こしたら…GDPR だけ同意って多分ダメだよね?
→ 同じことを考えて、実際に実践して、Apple からリジェクトを受けた人が居た。以下が、その会話。
おぉ、まさに欲しかった答え。
つまり、
ATT で同意を得ていないなら、GDPR の同意なんて有り得ないだろ!
ATT で同意を得てから、GDPR という地域の同意を得ろよ…
ということだ。実装的には以下。
status = await AppTrackingTransparency.requestTrackingAuthorization();
if (status == TrackingStatus.authorized) {
ConsentInformation.instance.requestConsentInfoUpdate(...);
}
[AD] iPhone 15 Pro Max|Apple(メルカリ)
あっさり通過する Apple の審査
結果的には、凄くシンプルな実装で簡単だったのだが、考え過ぎたのか…調査に随分と時間が掛かってしまった。
文字カウント機能を搭載したメモ帳アプリ『Documentally(iOS / Android)』に、上記の通りを実装して ATT と GDPR を両立させたのだが、Apple の審査が Waiting for Review から Ready for Sale になるまで僅か二時間弱(1:44)で終わって、拍子抜けだったくらいだ。
[AD] iPhone 15 Pro Max|Apple(メルカリ)
参考にしたサイト
公式の情報だけでも充分に対応可能だったが、無駄に調べてしまったので、一応、列挙しておく。