Skip to main content

Android: identificando instalaciones y dispositivos

Por 1 abril, 2011enero 21st, 2019Android
Android Developer Phone 1

Android

Se comenta en las últimas entradas del blog de Android Developers el hecho que muchas veces es necesario identificar las instalaciones y los dispositivos en los que se instalan nuestras Apps. En el mundo #IPhone la cosa es relativamente más sencilla, ya que todo está «etiquetado»: hardware, software, Apple IDs…
En Android, la cosa es más compleja. Resumo a grandes rasgos las mejores maneras de identificar (hacer tracking) dispositivos y instalaciones.
Instalaciones de aplicación:

  1. Usar TelephonyManager.getDeviceId(): problema, ya que el sistema devolverá el IMEI, MEID, o ESN, pero no todos los dispositivos Android deben tener estos identificadores. Además, el ID no varia en distintos wipes (resets) y necesita permisos especiales (READ_PHONE_STATE).
  2. Utilizar un UID pseudo-aleatorio y registrarlo en el servidor: puede funcionar, pero existe una pequeña probabilidad de colisión entre identificadores.
  3. Con el modelo del punto 2, lo mejor sería utilizar el método UUID.randomUUID() que devuelva un UID único (RFC 4122)

Identificar dispositivos:

  1. Usar TelephonyManager.getDeviceId(), con el problema acabado de comentar.
  2. Utilizar la MAC Address del dispositivo: no muy recomendado, ya que no todos los dispositivos tienen un adaptador WIFI
  3. Utilizar la variable del sistema android.os.Build.SERIAL , pero sólo está disponible desde la versión 2.3 (GingerBread)
  4. Variable Settings.Secure.ANDROID_ID , disponible desde la versión 2.2 (Froyo), parece la mejor elección
Enhanced by Zemanta

Deja una respuesta