2010-10-18 14 views
12

¿Cómo debo identificar a un usuario de Android en un servidor? ¿Debería obtener el número IMSI y algún algoritmo de salazón? Considerando las limitaciones de espacio y rendimiento de los androides, ¿hay una biblioteca que no sea tan pesada como para poder hacer el cálculo?¿Cuál es la mejor manera de identificar de manera única a los usuarios de Android en un servidor?

+2

¿Desea identificar el _dispositivo_ en el servidor o el _usuario_? – Blrfl

+0

Esto es probablemente un duplicado de http://stackoverflow.com/questions/3464881/generating-device-specific-serial-number y http://stackoverflow.com/questions/3679120/uniquely-identify-an-android-handset . Tenga en cuenta que algunas personas sugieren utilizar el IMEI; esto está bien para teléfonos, pero los dispositivos como las tabletas wifi no tienen IMEI. –

+1

La otra pregunta es qué identificador usar. También solicito la forma adecuada de manejar la información privada. – Christian

Respuesta

0

En pocos meses, muchos más usuarios tendrán teléfonos android y tabletas Android, así que si quieres rastrear a un usuario en varios dispositivos, es mejor usar OAuth, creo.

5

Creo que no puede identificar a un usuario sin ningún tipo de cuenta. Todo lo demás no es confiable o solo es una identificación del dispositivo. ¿Por qué no proporciona un servicio de registro propio para su servidor, por lo que puede proporcionar una identificación única a cada usuario?

Otra opción podría ser la cuenta de Google que está vinculada al dispositivo? ¿O esto te reducirá a la audiencia objetivo para tu vida? Pero si está creando una aplicación que amplíe algún tipo de herramienta de Google, aplicación o lo que sea, entonces el usuario ya tendrá una cuenta de Google para que su aplicación también pueda usarla para identificar al usuario.

0

para identificar al usuario que debería pensar en el uso de la cuenta de Google es la mejor opción, consulte la respuesta a Generating Device-Specific Serial Number

Si sólo desea identificar una instancia de su aplicación, entonces por qué no dejar que el servidor de distribución de Identificación : s?

Cuando se inicia su aplicación, obtenga SharedPreferences y compruebe si "myid" tiene un valor, de lo contrario, solicite una identificación del servidor, que almacena como "myid" en SharedPreferences. Esta identificación sobrevivirá a las actualizaciones de la aplicación (pero no a la desinstalación/reinstalación).

En el lado del servidor, almacene todas las identificaciones registradas y asegúrese de que su servidor distribuya identificadores únicos. De esta manera, las personas desagradables piratería de su servidor no puede utilizar el ID para identificar a los usuarios;)

3

Como señaló developer.android:

Las aplicaciones suelen tratar de recordar al usuario el uso de una de las tres técnicas:

  1. pedir al usuario que escriba un nombre de usuario
  2. Recuperar un identificador de dispositivo único para recordar el dispositivo
  3. Recuperar una cuenta integrada de administrador de cuentas

La opción (1) es problemática. Primero, pedirle al usuario que escriba algo antes de ingresar a su aplicación automáticamente hará que su aplicación sea menos atractiva. En segundo lugar, no hay garantía de que el nombre de usuario elegido sea único.

La opción (2) es menos onerosa para el usuario, pero es complicado hacerlo bien. Más importante aún, solo le permite recordar al usuario en un dispositivo. Imagine la frustración de alguien que se actualiza a un nuevo dispositivo brillante, solo para descubrir que su aplicación ya no se acuerda de ellos.

La opción (3) es la técnica preferida. Account Manager le permite obtener información sobre las cuentas que están almacenadas en el dispositivo del usuario. Como veremos en esta lección, el uso del Administrador de cuentas le permite recordar a su usuario, sin importar cuántos dispositivos tenga el usuario, agregando solo un par de toques adicionales a su IU.

+4

Al copiar contenido, mencione la fuente. En este caso, sería http://developer.android.com/training/id-auth/identify.html – laalto

+1

gracias, se encargará de ello a partir de ahora – anon

+0

¿Sería la opción C aún la mejor opción si estuvieras escribiendo la misma aplicación para iOS también? ¿O algo así como generar un lado del servidor de ID único para almacenar en el teléfono basado en otra cosa, como el número de teléfono de los usuarios (el usuario ingresa el número de teléfono, el servidor emite un mensaje que se almacena en el teléfono)? Encontré esto al intentar abordar exactamente el mismo problema. –

Cuestiones relacionadas