Secure.ANDROID_IDはデバイスごとに一意ですか?


Answers

Android Oを使用すると、ANDROID_IDの動作が変更されます。 ANDROID_IDは、携帯電話のユーザーごとにアプリごとに異なります。

取得元: https://android-developers.googleblog.com/2017/04/changes-to-device-identifiers-in.html : https://android-developers.googleblog.com/2017/04/changes-to-device-identifiers-in.html

Android ID

Oでは、Android ID(Settings.Secure.ANDROID_IDまたはSSAID)には、各アプリとデバイスの各ユーザーごとに異なる値が設定されています。 デバイススコープの識別子を必要とする開発者は、代わりに、広告IDなどのリセット可能な識別子を使用して、ユーザーにコントロールを与えてください。 広告IDは、広告トラッキングを制限するためのユーザ向きの設定も提供します。

さらに、Android O:

  • ANDROID_ID値は、パッケージ名と署名キーが同じである限り、パッケージのアンインストール/再インストール時に変更されません。 アプリはこの値に基づいて再インストール全体の状態を維持することができます。
  • 以前のバージョンのAndroidを搭載したデバイスにアプリがインストールされていた場合、アプリがアンインストールされて再インストールされない限り、Android OにアップデートされたときのAndroid IDは変わりません。
  • Android IDの値は、端末が出荷時の状態にリセットされている場合、または署名キーがアンインストールと
    イベントを再インストールします。
  • この変更は、Google Playサービスと広告IDが付いている端末メーカーにのみ必要です。 他のデバイスメーカは、別のリセット可能なIDを提供するか、またはアンドロイドIDを提供し続けることができる。
Question

私はこの呼び出しを使用しています:

Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);

デバイスのUIDを取得する。 私は複数のデバイスから同じIDを取得していると思います。 これは可能でしょうか?

問題のIDは:9774d56d682e549cです。このIDを返すいくつかの端末で問題が発生しているようです。http://code.google.com/p/android/issues/list?cursor=10603&updated=10603&ts=1295993403




私はこれについていくつかのことを読んだが、残念ながら個々のデバイスを一意に識別するためにANDROID_IDに依存すべきではありません。

Androidのコンプライアンス要件には適用されていないようだから、メーカーは選択した方法で実装しているように見えます。

また、たとえメーカーが発電機を書いて(たとえば)UUIDにしても、工場出荷時の設定で生き残ることは保証されません。




Links