Skip to content

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 ファイルに以下のパーミッションを追加します:

xml
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

重要

Firebase AnalyticsやCrashlytics、Google Analyticsを使用している場合、これらのSDKは内部でAdvertising IDを収集するため、このパーミッションが必要です。

Advertising IDを使用しない場合の対処法:

xml
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>

ステップ2: Google Play Consoleでの宣言

マニフェストの変更だけでは不十分です。Google Play Consoleで以下の手順を実行する必要があります:

2024年現在のPlay Consoleナビゲーション
  1. 該当するアプリを選択
  2. 左メニューで「モニタリングと改善」を展開
  3. 「ポリシーとプログラム」を選択して展開
  4. 「アプリコンテンツ」を選択
  5. 「対応済み」タブを選択
  6. 「広告」セクションを探す
  7. 宣言を更新する

ステップ3: Advertising ID宣言の完了

  1. 「対応済み」タブで「Advertising ID」セクションを探します

  2. 「管理」ボタンをクリックします

  3. 以下のいずれかを選択します:

    • 「いいえ」: アプリが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を使用するかどうかを正しく判断し、適切な設定を行うことで、この警告を解消できます。