Flurry のドキュメントによると、
"新しい利用者
新規ユーザーとは、アプリケーションを使い始めたばかりのユーザーです。ユーザーは一意の電話 ID (プラットフォームによって異なります) によって識別され、ユーザーが単なる再インストールではなく、実際に一意の新規ユーザーであることを確認します。」
"unique phone IDs (which vary by platform)"
誰かがその部分を詳しく説明できますか?
ありがとう。
すべての Android デバイスで機能するPseudo-Unique ID 。一部のデバイスには電話がない (タブレットなど) か、何らかの理由で READ_PHONE_STATE パーミッションを含めたくない場合があります。ROM バージョン、製造元名、CPU の種類、その他のハードウェアの詳細などの詳細を引き続き読み取ることができます。これは、ID をシリアル キーのチェックやその他の一般的な目的で使用する場合に適しています。この方法で計算された ID は一意ではありません。(同じハードウェアと ROM イメージに基づいて) 同じ ID を持つ 2 つのデバイスを見つけることは可能ですが、実際のアプリケーションでの可能性はごくわずかです。この目的のために、Build クラスを使用できます。
String m_szDevIDShort = "35" + //we make this look like a valid IMEI
Build.BOARD.length()%10+ Build.BRAND.length()%10 +
Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 +
Build.DISPLAY.length()%10 + Build.HOST.length()%10 +
Build.ID.length()%10 + Build.MANUFACTURER.length()%10 +
Build.MODEL.length()%10 + Build.PRODUCT.length()%10 +
Build.TAGS.length()%10 + Build.TYPE.length()%10 +
Build.USER.length()%10 ; //13 digits
Build メンバーのほとんどは文字列です。ここで行っているのは、それらの長さを取得し、モジュロを使用して数字に変換することです。このような数字は 13 桁あり、前にさらに 2 つ (35) 追加して、IMEI (15 桁) と同じサイズの ID にします。ここには他にも可能性があります。これらの文字列を見てください。
次のようなものを返します: 355715565309247。
特別な許可が不要なため、このアプローチは非常に便利です。
Android の場合、一意の ID は次のいずれかになります。
何もする必要はありません。
flurry がどのようにそれを行うかについては、完全にはわかりませんが、デバイスに固有の情報を取得して、そこから独自の「flurry-number」を作成しているだけだと思います。
これらの情報はプラットフォームによって異なる可能性があるため (たとえば、Apple の場合、長い間 UDID を取得できます)、これは「プラットフォームによって非常に異なる可能性があります」。