Android AD_ID パーミッションの適切な宣言方法
Android アプリ開発において、Google Playストアのポリシー変更に伴い、AD_IDパーミッションの適切な対応が求められています。この記事では、AD_IDパーミッションの基本から具体的な対応方法まで詳しく解説します。
AD_IDパーミッションとは
com.google.android.gms.permission.AD_ID
は、Androidの広告識別子(Advertising ID)にアクセスするために必要なパーミッションです。Googleは2022年4月以降、ユーザーのプライバシー保護強化のため、以下の変更を実施しました:
- 広告のパーソナライゼーションをオプトアウトしたユーザーには、広告IDの代わりにゼロの文字列が返される
- Android 13以降をターゲットとするアプリでは、AD_IDパーミッションの明示的な宣言が必須
ケース別対応方法
ケース1: アプリに広告を表示しない場合
広告を全く使用しないアプリでは、マニフェストファイルでAD_IDパーミッションを明示的に除外する必要があります。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.myapp">
<!-- その他の設定 -->
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
</manifest>
重要
tools:node="remove"
を正しく動作させるには、マニフェストのルート要素に xmlns:tools="http://schemas.android.com/tools"
の宣言が必要です。
ケース2: アプリに広告を表示する場合
AdMobなどの広告を表示するアプリでは、AD_IDパーミッションを宣言する必要があります。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<!-- その他の設定 -->
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
</manifest>
TIP
AdMob SDK バージョン20.4.0以上を使用している場合、SDKが自動的にAD_IDパーミッションを宣言するため、手動での追加は不要です。
ケース3: 分析目的でのみ広告IDを使用する場合
Firebase Analyticsなど、広告表示ではなく分析目的で広告IDを使用する場合も、AD_IDパーミッションの宣言が必要です。
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
注意
分析目的で広告IDを使用する場合でも、Play Consoleでの適切な設定が必要です(後述)。
Play Consoleでの設定
マニフェストファイルの変更に加え、Google Play Consoleでの設定も必須です。
設定手順
- Play Consoleにログインし、対象アプリを選択
- 「ポリシー」→「アプリコンテンツ」を選択
- 「広告ID」セクションに移動
設定オプション
「いいえ、アプリに広告は含まれていません」を選択
「はい」を選択 → 「広告」を選択
「はい」を選択 → 「分析」を選択
重要
この設定を完了しない場合、アプリの新規リリースや更新をアップロードできません。
サードパーティライブラリの影響
多くの開発者が見落としがちな点として、サードパーティライブラリがAD_IDパーミッションを追加する場合があります。
マージされたマニフェストの確認方法
Android Studioで以下のパスを確認し、AD_IDパーミッションが自動的に追加されていないかチェックしましょう:
プロジェクト > app > build > intermediate > merged_manifest > release > AndroidManifest.xml
よくAD_IDパーミッションを追加するライブラリ
play-services-ads
(広告関連)firebase-analytics
(分析関連)play-services-measurement-api
(計測関連)
よくある間違いと解決策
間違い1: 分析ライブラリ使用時にパーミッションを完全に削除する
Firebase Analyticsを使用している場合、AD_IDパーミッションを完全に削除すると分析機能が正常に動作しなくなる可能性があります。
正しい対応: パーミッションは保持し、Play Consoleで「分析」目的であることを宣言する
間違い2: ターゲットSDKバージョンアップ時の対応忘れ
targetSdkVersion 33
以上に更新する場合、AD_IDパーミッションに関する適切な対応が必要です。
正しい対応: アプリの状況に応じた上記のケース別対応を実施する
まとめ
AD_IDパーミッションへの対応は、以下の2ステップで完了します:
マニフェストファイルの適切な設定
- 広告なし:
tools:node="remove"
でパーミッションを除外 - 広告または分析あり: パーミッションを宣言
- 広告なし:
Play Consoleでの適切な宣言
- アプリの実際の使用状況に応じた選択
これらの対応を適切に行うことで、Google Playストアのポリシーに準拠し、アプリの公開や更新をスムーズに行えるようになります。