2017-12-20 2 views
1

アプリケーションの再インストール時に変更されるすべてのAndroidアプリケーションに一意のIDがありますか? Androidアプリケーション用のApplication Id = Package Nameと言う人もいますが、アプリケーションを追跡するために固有の識別子が必要です。IOSベンダーIDのようなアプリケーションの一意のIDはありますか?

EDIT:パッケージ名はアプリケーション固有のものですが、デバイス/ユーザー固有のものではないので、パッケージ名はです。たとえば、私のアプリはcom.example.myappのようなパッケージ名を持っています。アプリを持っているすべてのデバイスと同じです。それでも、アプリを再インストールしても変更されることはありません。

+0

[Androidアプリの一意のID](https://stackoverflow.com/questions/5951917/unique-id-of-android-app)の可能な複製 –

+0

**「はい、パッケージ名」** –

+0

@ Niluすでに質問したように、私はその種のIDを探していません –

答えて

1

私のアプリの1つに似た要件がありました。私がしたことは、インストール後最初にアプリケーションを実行しているときに、自分のサーバーに接続し、新しい一意のIDを要求することです。認証プロセスと似ていますが、最初のアプリの起動時に自動的に実行されます。

また、役に立つと思われるものがもう1つあります。 のLinuxユーザーIDというものがあります。これは、各アプリケーションのインストールごとに一意です。

インストール時に、Androidは各パッケージに異なるLinuxユーザーIDを与えます。 パッケージの有効期間中は、そのデバイス上でIDは一定のままです。 別のデバイスでは、同じパッケージに異なるUIDの がある可能性があります。重要なことは、各パッケージに特定のデバイスの別のUIDが あることです。

+0

ありがとう、どうやってLinux UIDをプログラムで手に入れるのですか?パッケージマネージャを使うべきですか? –

+0

@ Egek92 - 'PackageManager'と' getApplicationInfo() 'を使います。 –

1

あなたはそれがアプリの再インストール時に変更したい場合は、あなたのアプリでUUIDを作成し、SharedPreferencesに保存することをお勧めします。次に、この識別子が必要なたびにSharedPreferencesをチェックする必要があります。存在する場合はそれを使用し、使用しない場合は再生成して保存します。 このアプローチの唯一の欠点は、ユーザーがclear dataをアプリで実行すると、このIDが失われることです。この場合、紛失しないことが重要な場合は、ファイルに保存して、アプリが削除されたときにのみ削除するようにできます。

androidIdは、アプリの再インストール時にもほとんど変わらず、それぞれのインストールを一意にトラッキングするのに適していますが、specially on android oreoを書き留めておく必要があります。

1

この識別の目的は何であるかによって異なります。プライバシーのために、特定のユーザーをアプリケーションで識別できないようにする必要があります。

あなたはこの記事here

に続くことができると範囲、resettabilityのご要望に応じて、独自性とそのIDの整合性、あなたは最高のあなたのために働くものを選ぶことができます。

関連する問題