LoginSignup
17
5

More than 1 year has passed since last update.

Android13以降で必要になった「広告 ID を使用するための権限を宣言する」方法

Posted at

はじめに

ある日、Google Play Consoleで以下のような広告 IDに関する申告を求められました

Android 13(API 33)で広告 ID の変更が行われました
Android 13 以降をターゲットとし、広告 ID を使用しているアプリについては、アプリ マニフェストで com.google.android.gms.permission.AD_ID 権限を宣言する必要があります。この権限が含まれていないと広告 ID がゼロにリセットされ、ID にアクセスしようとすると ID ではなくゼロの文字列が返されます。

Screen Shot 2022-10-01 at 19.28.58.png

で、これが一体何をすればいいのかわからなかったので、対応方法をご紹介します。

前提

・対象となるアプリはアプリ内に広告を表示していてAndroid13以降もターゲットにしているアプリです

・権限が宣言されていない場合

「権限が宣言されていない場合」とは?

日本語が難しいですが、、、
AndroidアプリはAndroidManifest.xmlというファイルがあり、このファイルはアプリに関する重要な情報を Android ビルドツール、Android オペレーティング システム、Google Play に対して説明するものです。

「重要な情報」には「権限の宣言」が含まれます!

Android アプリは、プライベートなユーザーデータ(連絡先や SMS など)や特定のシステム機能(カメラやインターネット アクセス)にアクセスするためのパーミッションをリクエストする必要があります。 それぞれのパーミッションは一意のラベルで識別されます。

「広告 IDを使用しますよ〜」という宣言がされている場合は、今回のような対応は不要という事です:relaxed:

どうすれば権限が宣言されているか確認できるのか?

AndroidManifest.xmlファイルを見るだけでわかるかと思いきや、そうじゃない場合もあるようです。。。

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

なので確認する確実な方法はGoogle Play Consoleのビルド情報?を見る事です!
(AdMobを使ってるならデフォルトでcom.google.android.gms.permission.AD_IDは宣言されてるので対応不要かと)

Screen Shot 2022-10-01 at 16.47.40.png

Screen Shot 2022-10-01 at 16.48.13.png

「権限」の部分を見てもcom.google.android.gms.permission.AD_IDの表示がありません。。
つまり権限の宣言ができていない、という事ですね

どうやって権限を宣言するか?

AndroidManifest.xmlファイルを以下のように編集します。

<manifest>
 <!-- 省略 -->
  <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
</manifest>

これで再度ビルドしてGoogle Play Consoleにアップロードすると👇のようにcom.google.android.gms.permission.AD_IDが追加されています。

Screen Shot 2022-10-02 at 13.23.18.png
これで公開すればOK!!:grinning:

参考

17
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
5