【Android開発】”Declare your Ad ID permission” への対処法

全てのAndroidアプリ開発者へ

今日GooglePlayからこんなメールが届きました

▼ 件名 : Action requested: Declare your Ad ID permission

Hello Google Play Developer,

Last July, we announced Advertising policy changes to help bolster security and privacy. We added new restrictions on identifiers used by apps that target children.

When users choose to delete their advertising ID in order to opt out of personalization advertising, developers will receive a string of zeros instead of the identifier if they attempt to access the identifier. This behavior will extend to phones, tablets, and Android TV starting April 1, 2022.

We also announced that you need to declare an AD_ID permission when you update your app targeting API level to 31 (Android 12). Today, we are sharing that we will give developers more time to ease the transition. We will require this permission declaration when your apps are able to target Android 13 instead of starting with Android 12.

ローカライズされてない英語のメール

いきなりでビックリした人も多いことでしょう。

この対処法について手短に書いておきます。

AdMobなどアプリ内で広告表示してるアプリが対象

メールにはさらに次が書かれています。

  • If you use an advertising ID, you must declare the AD_ID Permission when your app targets Android 13 or above. Apps that don’t declare the permission will get a string of zeros. Note: You’ll be able to target Android 13 later this year.
  • If your app uses an SDK that has declared the Ad ID permission, it will acquire the permission declaration through manifest merge.
  • If your app’s target audience includes children, you must not transmit Android Advertising ID (AAID) from children or users of unknown age.

つまりはこういうこと

  • 対象となるアプリの条件
    アプリ内に広告を表示していてAndroid13以降もターゲットにしているアプリ。AD_ID権限を宣言していないとゼロの文字列が返ってターゲット広告が無効になる(恐らく)
  • 手動での対応が必要ない場合もある
    たとえば既に広告IDパーミッションを宣言しているSDKを使っている場合、自動的にAD_ID権限がマニフェストに追加される模様

かみ砕いて説明すると上記のようになります

AdMob SDKを使っているなら特別な対応は不要!

もしアプリでAdMobのみを使用してるなら…

特に対応は必要ありません!

▼ 公式でも次のように説明されている

Google Mobile Ads SDK(play-services-ads)など、一部の SDK では、SDK のライブラリ マニフェストですでにこの権限を宣言している可能性があります。アプリがこれらの SDK を依存関係として使用している場合は、アプリのメイン マニフェストで権限を明示的に宣言していなくても、デフォルトで、SDK のライブラリ マニフェストの AD_ID 権限がアプリのメイン マニフェストと統合されます。

引用元 : https://support.google.com/googleplay/android-developer/answer/6048248?hl=ja

AdMobを使ってるなら特に対応いらないです。

自アプリにAD_ID権限が含まれているか調べる方法

アプリがGooglePlayで公開されてる場合…

※ テスト公開・製品版に関わらず

リリースの概要を開いてみてください

▼ 現在公開中のApp Bundleの詳細をクリック

GooglePlayConsole - 現在公開中のApp Bundleの詳細をクリック

▼ 権限の詳細を表示してみる

GooglePlayConsole - この画像のように公開中のAppBundleの権限一覧の中に com.google.android.gms.permission.AD_ID が含まれてれば問題ない

画像の赤線で引いた部分。このように com.google.android.gms.permission.AD_ID  という権限が含まれていれば問題ありません。

AdMobを使ってるならデフォルトで com.google.android.gms.permission.AD_ID は宣言されてるはずです。あるいは他広告SDKでも宣言してくれていることもあります。

もしAD_ID権限がないならマニフェストに追加するだけ

もしAD_ID権限がアプリにない場合は…

大人しくマニフェストに権限追加してください

▼ AndroidManifest.xmlに次の権限追加

追加場所はapplicationタグの上とかでOKです。

公式の説明(英語)を読む限りだと、Android13以降ではAD_ID権限がないとアプリ更新できなくなる(?)…… とも読み取れます。(広告表示のないアプリは無関係)

だからAD_ID権限がないなら付与すべきです

以上、"Declare your Ad ID permission" の対処法でした。

AdMobを使ってる人は対応不要です。ではまた

Shareこの記事をシェアしよう!

Commentsこの記事についたコメント

2件のコメント
  • らいらい

    とても参考になりました! ありがとうございます! 他の記事もすごくためになりました、こういった記事とても助かります! 一つ質問させていただきたいのですが、Google Mobile ADSのバージョンはどのバージョンを利用しておりますか?
    すいません、私のバージョンだと対応してなかったようでして、参考にお聞かせください!

    7月 29, 2022 1:07 pm
    • ぴー助

      コメントありがとうございます!
      お役に立ったようで嬉しいです。

      AdMobバージョンは20.4.0を使用しています。どのバージョンからAD_ID権限が自動付与されるかは分かりませんが、最新なら間違いなく含まれます。ただ最新と古いverではインタースティシャルなどに破壊的なAPI変更があったりするので、いきなり最新にするのはリスクが高い模様です。(参考 : Admob SDK20以降の InterstitialAd の実装が変わった

      7月 29, 2022 8:02 pm

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください