UDID или IMEI- что лучше?
При разработке приложения, которое требует от меня однозначной идентификации пользователей телефона. Я надеялся получить несколько советов о том, лучше ли использовать UDID телефона или IMEI. Есть ли какие-либо преимущества / недостатки использования. Все комментарии будут с благодарностью
2 ответа
Плюсы ANDROID_ID:
- Settings.Secure.ANDROID_ID. Это 64-битная величина, которая генерируется и сохраняется при первой загрузке устройства (
ANDROID_ID
не является уникальным для Android 2.2 и 4.2)
Минусы ANDROID_ID:
ANDROID_ID
может измениться на заводские настройки.ANDROID_ID
может бытьnull
Это может быть легко изменено на рутированном телефоне
Несколько устройств нескольких производителей подвержены влиянию
ANDROID_ID
ошибка в 2.2 и все они имеют одинаковыеANDROID_ID
9774d56d682e549c. Который также является идентичным идентификатором устройства, сообщаемым эмуляторомДокументы: http://android-developers.blogspot.in/2011/03/identifying-app-installations.html
ANDROID_ID
больше не уникально идентифицирует устройство: /questions/13955974/posledstviya-mnogopolzovatelskoj-podderzhki-android-vpervyie-v-42-dlya-modeli-dannyih-na-storone-servera-naprimer-androidid/13955981#13955981
Плюсы IMEI
- Номер IMEI всегда уникален.
Минусы IMEI
- Многие устройства не имеют номера IMEI, например, Samsung Galaxy Tab 2
Важные ссылки
Если вы хотите идентифицировать устройство, вы должны попробовать UUID
http://developer.android.com/reference/java/util/UUID.html
или, возможно, попробуйте свой собственный идентификатор. Я использовал MD5 поверх идентификаторов и MAC-адреса в сочетании с устройствами System-Nano-Time. Это было бы большим совпадением, если бы два устройства имели одинаковый "уникальный идентификатор".