Unicidad de dispositivo móvil para iOS y Android

Estoy buscando un medio para identificar de forma segura un dispositivo móvil utilizando un identificador único. Cada vez que instalo mi aplicación en un dispositivo específico, debo obtener el mismo identificador único. Este identificador se cargará en el backend del servidor y se guardará para referencia futura.

Es esencial que esto se logre sin ninguna dependencia del número IMEI de un teléfono. Apple ha prohibido desde hace tiempo para iOS, y Google puede hacer lo mismo mañana para Android.

Para Android, al menos hay ANDROID_ID . ¿Qué pasa con iOS? ¿No hay nada en absoluto?

Tiene que haber una manera estándar, infalible de hacer esto tanto para Android como para iOS. Estoy interesado en las soluciones de / all / paid / free / native / third-party para el mismo. ¿Qué otras compañías han hecho para resolver este problema?

Ya he leído las siguientes publicaciones:

1. Identificación de las instalaciones de la aplicación .

2. ¿Existe un ID exclusivo de dispositivo Android?

3. Obtener una firma de ID única para cada dispositivo Android .

4. Identificador de dispositivo persistente, de instalación cruzada en iOS: mediante llavero .

5. UIDevice uniqueIdentifier Deprecated – ¿Qué hacer ahora?

6. Siempre obtenga una identificación de dispositivo única en iOS 7 .

7. iOS7 – Identificador único del dispositivo .

8. Implementación de ID único como UUID y guardarlo en Llavero .

Me gustaría ir más allá de esto. Qué más se puede hacer ? ¿Existe una solución completa, una vez-y-para-todos, a prueba de balas por ahí?

De los mensajes que enumeró anteriormente, ya hay respuestas a su pregunta: en iOS, guarde un UUID generado en el llavero, para que persista incluso después de la reinstalación. Sin embargo, el restablecimiento de fábrica borrará ese UUID, usted debe ser consciente de esta limitación. Esto no es una solución infalible, ya que está limitado por la plataforma de Apple, pero aún así, es lo suficientemente bueno y utilizado por muchas aplicaciones.

Hace un año he escrito un artículo hablando de una solución que tiende a ser "a prueba de balas" para iOS: https://blog.onliquid.com/persistent-device-unique-identifier-ios-keychain/ .

Mi solución utiliza Apple IFA o IFV y, a continuación, vuelve a un UUID aleatorio si esos ID no están disponibles. El identificador único que se elige se almacena localmente en su NSUserDefaults y también en el llavero (no sincronizado con el iCloud, por supuesto).

De esta manera, puede desinstalar y volver a instalar la aplicación y el ID del dispositivo se mantiene igual. Estoy utilizando este enfoque en millones de dispositivos sin ningún problema;)

Saludos, Miguel

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.