UDID или IMEI – что лучше?

При разработке приложения, которое требует от меня уникальной идентификации пользователей телефона. Я надеялся на некоторые советы относительно того, лучше ли использовать UDID телефона или IMEI. Есть ли какие-либо преимущества / недостатки в использовании. Все комментарии были бы весьма признательны

Плюсы ANDROID_ID:

  1. Settings.Secure.ANDROID_ID. Это 64-разрядное количество, которое генерируется и сохраняется при первом загрузке устройства ( ANDROID_ID не уникален для Android 2.2 и 4.2)

Недостатки ANDROID_ID:

  1. ANDROID_ID может меняться при сбросе настроек.

  2. ANDROID_ID может быть null

  3. Его можно легко изменить на корневом телефоне

  4. Несколько устройств нескольких производителей подвержены ошибке ANDROID_ID в 2.2, и все они имеют тот же ANDROID_ID , что и 9774d56d682e549c . Это также тот же идентификатор устройства, о котором сообщает эмулятор

    Документы: http://android-developers.blogspot.in/2011/03/identifying-app-installations.html

  5. ANDROID_ID больше не идентифицирует устройство уникально: https://stackoverflow.com/a/13465373/150016

Плюсы IMEI

  1. Номер IMEI всегда уникален.

Минуты IMEI

  1. На многих устройствах нет номера IMEI, т.е. Samsung galaxy tab 2

Важные ссылки

Если вы хотите идентифицировать устройство, вы должны попробовать UUID

http://developer.android.com/reference/java/util/UUID.html

Или, возможно, попробовать свой собственный идентификатор. Я использовал MD5 по идентификаторам и MAC-адресу в сочетании с устройствами System-Nano-Time. Это действительно будет большим совпадением, если два устройства имеют один и тот же «уникальный идентификатор».