LoginSignup
2
1

More than 1 year has passed since last update.

Android 12 Advertising ID

Last updated at Posted at 2021-10-24

2021/10 時点

2021/10 に Android 12 が正式リリースされましたが、こちら Adverting ID に関する変更はありません。

Google の説明によると下記のような変更は 2022 の早期にやります。というアナウンスのみです

不気味なのは、これをサーバー側のスイッチもしくはパッチか何かで当てられると、自動的に適用され、ある日突然取れなくなるということです。

ですので、2021のうちに準備しておくのがよいかと思います。

2021/11
実機の挙動の変更が確認されました。Googleの ADIDの説明によると isLimitAdTrackingEnabled が true なら
00000000-0000-0000-0000-000000000000 が返される
Google の設定より、ADIDの削除というメニューが表示された (Pixel 4aの場合)

現在の仕様

  • isLimitAdTrackingEnabled が true でも ADID はとれる (なんというざる)
  • ユーザーのデバイスOS、アプリケーションのコンパイルSDKのバージョンに関わらず取得可能
  • Android 12 のデバイスで isLimitAdTrackingEnabled が true の場合 00000000-0000-0000-0000-000000000000 が 返ってくる

試しにやってみた結果 (当方が開発しているSDKとアプリの関係も入っています)

デバイス SDKコンパイル/ツールバージョン アプリのコンパイル/ツールバージョン パーミッション トラッキング設定 ADID
Android 12 エミュレータ 29/30.0.2 31/30.0.0 なし デフォルト 取得可能
Android 12 エミュレータ 29/30.0.2 31/30.0.0 なし Limit track 取得可能
Android 8 実機 29/30.0.2 31/30.0.0 なし デフォルト 取得可能

参考

Advertising ID
AdvertisingIdClient.Info

変更の概要

  • Android 12の API(31) でアプリケーションをビルドした場合に適用される
  • パーミッションの設定が必要 (レベルはノーマルなのでダイアログの表示はなく、インストール/アップデート時に表示される、これを許可しないとそもそもインストール/アップデートできない)
  • パーミッションがない場合 "00000000-0000-0000-0000-000000000000" になる

アプリケーション開発をされている皆様にはこちらの方法で実装してADID の設定を許可します。
1. AndroidManifest.xml を設定
2. 依存関係に com.google.android.gms:play-services-ads-identifier:17.1.0 以上を入れておく

AndroidManifest.xml

パーミッションが必要とのことでパーミッション設定を AndroidManifest.xmlに入れます。
xml
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

Google Play ADS Identifier のバージョンを 17.1.0 以上にする

現在の最新版は 17.1.0 です

Screen Shot 2021-10-18 at 21.02.37.png

これを入れると、このaarに勝手にパーミッションが含まれている

アプリケーションを開発をしているが、入れているSDKの設定を入れたくない

アプリケーションの仕様上どうしてもこのパーミッションを取り入れたくない場合、アプリケーションの設定次第で打ち消すことが
可能です。以下のように設定します。

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

tools:node="remove" によりSDKなどの設定を打ち消します。

SDKなどを開発する場合の設定について

当方、SDKの開発をしていますが、SDKの場合、以下の2つの方法が取れます
1. SDKのビルドにパーミッションを入れておく(AndroidManifest.xml)
2. 依存関係に com.google.android.gms:play-services-ads-identifier:17.1.0 以上を入れておく

1.は単純に該当のSDKを入れたら自動的にAndroidManifest.xml がアプリケーションのそれとマージされます
2. は依存関係で 17.1.0 のバージョン以上には、AndroidManifest.xml に自動的に入っているので1同様
マージされます (入っているかどうかはデコンパイルツールで確認済)

ちなみにSDKのコンパイルバージョンが 31 でなくても、このパーミッションの設定を入れることは可能です。

2
1
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
2
1