Android 13 (API 33) ターゲット時のAdvertising ID宣言エラー
問題概要
Android 13 (API 33) 以降をターゲットとするアプリをGoogle Playストアにリリースする際、以下の警告メッセージが表示されることがあります:
「Android 13のadvertising IDに関する変更に対応するため、アプリをリリースする前にadvertising ID宣言を完了する必要があります。Android 13以降をターゲットとし、advertising IDを使用するアプリは、マニフェストに
com.google.android.gms.permission.AD_ID
パーミッションを含める必要があります。」
この警告は、マニフェストに必要なパーミッションを追加しても解決しない場合があり、Google Play Consoleでの追加の設定が必要です。
解決方法
ステップ1: マニフェストファイルの設定
まず、android/app/src/main/AndroidManifest.xml
ファイルに以下のパーミッションを追加します:
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
重要
Firebase AnalyticsやCrashlytics、Google Analyticsを使用している場合、これらのSDKは内部でAdvertising IDを収集するため、このパーミッションが必要です。
Advertising IDを使用しない場合の対処法:
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
ステップ2: Google Play Consoleでの宣言
マニフェストの変更だけでは不十分です。Google Play Consoleで以下の手順を実行する必要があります:
2024年現在のPlay Consoleナビゲーション
- 該当するアプリを選択
- 左メニューで「モニタリングと改善」を展開
- 「ポリシーとプログラム」を選択して展開
- 「アプリコンテンツ」を選択
- 「対応済み」タブを選択
- 「広告」セクションを探す
- 宣言を更新する
ステップ3: Advertising ID宣言の完了
「対応済み」タブで「Advertising ID」セクションを探します
「管理」ボタンをクリックします
以下のいずれかを選択します:
- 「いいえ」: アプリがAdvertising IDを一切使用しない場合
- 「はい」: アプリまたは使用しているライブラリ(Google Analytics、Firebase Analyticsなど)がAdvertising IDを使用する場合
TIP
Firebaseを使用している場合は、以下の理由から「はい」を選択し、「アナリティクス」チェックボックスをオンにする必要があります:
「Android SDKはAdvertising IDを収集します」 - Firebase公式ドキュメント
ステップ4: 変更の提出
宣言を完了したら、変更概要で変更を提出します。これで警告が解消され、Android 13をターゲットとするアプリをリリースできるようになります。
よくある問題と解決策
警告が消えない場合
「注意が必要」タブに「Advertising ID宣言」が残っている場合があります。この場合は、タブ内の「宣言を開始」ボタンをクリックして宣言を完了させる必要があります。
重要
この宣言を完了しない限り、Android 13をターゲットとするリリースを公開することはできません。
FlutterとGoogle Mobile Ads
Google Mobile Adsプラグインを使用している場合、明示的にAdvertising IDを使用しているため、「はい」を選択する必要があります。
まとめ
Android 13 (API 33) 以降をターゲットとするアプリのAdvertising ID関連の警告を解決するには、マニフェストファイルの変更とGoogle Play Consoleでの宣言の両方が必要です。アプリでAdvertising IDを使用するかどうかを正しく判断し、適切な設定を行うことで、この警告を解消できます。