サーバ上にユーザデバイスを登録する必要があります。ユーザデバイスは、一定の値で一意の識別子を持つサーバに登録する必要があります。Android - ユニークで一定のデバイスID
私はすべてのデバイス(SIMカードあり/なし)から一意のIDを取得するための良い解決策を見つけることができません。
Secure.ANDROID_ID:Secure.ANDROID_IDは一意ではなく、工場出荷時のリセット時にはnullでもかまいません。
String m_androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
IMEI:IMEIはデバイスのSimcardのスロットに依存しているので、Simcardのを使用していないデバイスのためのIMEIを取得することはできません。
TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String uuid = tManager.getDeviceId();
WLAN MACはアドレス:デバイスは、無線LANのハードウェアを持っていない場合、それがnullのMACアドレスを返します。ユーザーはデバイスのMACアドレスを変更することができます。
WifiManager m_wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
String m_wlanMacAdd = m_wm.getConnectionInfo().getMacAddress();
Bluetoothアドレス文字列:デバイスは、Bluetoothハードウェアをしていない場合、それはnullを返します。
BluetoothAdapter m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
String m_bluetoothAdd = m_BluetoothAdapter.getAddress();
Instance id:ユーザーがアンインストールし、アプリを再インストールするときINSTANCE_IDが変更されます。それは一定の価値ではありません。
すべてのAndroid搭載端末(SIMカード搭載、Bluetooth搭載...なし)から一意のIDを取得する方法はありますか?ヌルにすることはできません。アプリをアンインストール/再インストールしても変更されません。
SIMカードとWiFiの両方を持たないタブレットは、存在しないか、またはリモートで使用できないことに注意してください。あなたは両方の組み合わせを考えましたか? –
@STTLCU no。ユーザーはMACアドレスを変更することができます。 –
@STTLCUあなたの周りにはどの錠剤があるのか分かりませんが、私が知っている人はほとんどがSIMカード付きの錠剤を持っています。 –