👣
【Flutter】ATT(App Tracking Transparency)を作成し、iOSのリジェクトを回避しよう!
ATT(App Tracking Transparency)とは
これ
リジェクトを解消する
リジェクト内容
The app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iPadOS 18.1.
ユーザーの情報を取得しているとATTを入れないと審査でリジェクトされる。
解決方法はシンプルでATTを追加するだけ。
info.plistに下記のコードを追加
<key>NSUserTrackingUsageDescription</key>
<string>This app uses tracking data to show you personalized ads.</string>
インストール
flutter pub add app_tracking_transparency
ATTのダイアログを表示する処理
Future<void> initATT() async {
if (await AppTrackingTransparency.trackingAuthorizationStatus ==
TrackingStatus.notDetermined) {
await Future.delayed(const Duration(milliseconds: 200));
await AppTrackingTransparency.requestTrackingAuthorization();
}
}
splash画面でATTを表示
インストール
実装
splash画面を表示してそこでinitATT()を表示する。その処理が終了したらsplash画面を閉じる。
void main() {
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
await initATT();
FlutterNativeSplash.remove();
runApp(const MyApp());
}
Future<void> initATT() async {
if (await AppTrackingTransparency.trackingAuthorizationStatus ==
TrackingStatus.notDetermined) {
await Future.delayed(const Duration(milliseconds: 200));
await AppTrackingTransparency.requestTrackingAuthorization();
}
}
Discussion