nivel android multi-user

nivel - Implicaciones del soporte para mĂșltiples usuarios de Android(nuevo en 4.2) para el modelo de datos del lado del servidor(por ejemplo, android_id)



background service android 8 (2)

(Nadie respondió mi pregunta, pero ahora tuve la oportunidad de probar con 4.2 yo mismo).

La respuesta es que cada perfil tiene su propio android_id.

Ahora que lo pienso, esto probablemente tenga más sentido y causará menos problemas. Esto debería hacer que la mayoría de los sistemas vean los diferentes perfiles en un dispositivo como diferentes dispositivos, lo que realmente no debería ser un problema. El único problema serían los sistemas que identifican correctamente un dispositivo, ej. basado en la dirección MAC wifi o bt, o el número de serie o IMEI, y luego se esperaba que múltiples android_id en ese único dispositivo representaran instalaciones secuenciales del sistema operativo en ese dispositivo. (Más bien perversamente, será más seguro estar equivocado).

Google acaba de lanzar Android 4.2, que incluye soporte para múltiples perfiles de usuario en un solo dispositivo: http://developer.android.com/about/versions/android-4.2.html#MultipleUsers .

Google dice que esto será transparente para las aplicaciones, pero creo que podría tener un impacto en el modelo de datos utilizado para identificar dispositivos, usuarios e instalaciones.

Un problema es el uso de android_id. El consejo en la página vinculada más arriba sugiere identificar un dispositivo por uno de los métodos distintos de android_id, pero creo que android_id es muy utilizado para este propósito.

Mi pregunta principal es: ¿cada perfil de usuario tiene su propio android_id y cuáles son sus implicaciones?

Se genera un nuevo android_id cuando se instala un nuevo sistema operativo o cuando se realiza un restablecimiento completo. ¿Se generará uno nuevo cuando se cree un nuevo perfil de usuario (esta es la pregunta n.º 1)? Creo que probablemente no, entonces una aplicación podría instalarse varias veces para el mismo android_id. Creo que esto podría ensuciar con el modelo de datos del lado del servidor para algunas aplicaciones.

De cualquier manera, dependiendo de cómo identifiques un dispositivo, ahora puedes encontrar que una aplicación en particular puede tener múltiples instalaciones en un solo dispositivo.

Otro problema son los usuarios. Es de suponer que cada perfil puede tener cualquier número de cuentas de Google, pero una sola cuenta de Google debe estar asociada a Play Store en cada perfil. Creo que también es posible que su aplicación tenga varias instalaciones simultáneas con el mismo dispositivo (por android_id) Y el mismo usuario. Creo que un uso común de la función de perfiles múltiples será que un solo usuario tenga perfiles de hogar y trabajo en su teléfono, por lo general con diferentes cuentas de Google, pero en algunos casos podría tener la misma cuenta de Google en cada perfil (por ejemplo, no tienen que pagar por cosas dos veces).

Nota lateral
Aquí hay una discusión similar de ANDROID_ID en la nueva plataforma ARC (Android en Chrome). Tenga cuidado: el comportamiento en ARC no es el mismo que en Android.


Sí, cada perfil de usuario tiene su propio ANDROID_ID. Esto ahora está documentado here :

Nota: Cuando un dispositivo tiene http://developer.android.com/about/versions/android-4.2.html#MultipleUsers (disponible en ciertos dispositivos que ejecutan Android 4.2 o superior), cada usuario aparece como un dispositivo completamente separado, por lo que el valor de ANDROID_ID es exclusivo para cada usuario.

Sin embargo, tenga en cuenta que se sabe que los fabricantes han ANDROID_ID su implementación de ANDROID_ID . Por ejemplo, el Motorola Droid2 devolvió el mismo valor ANDROID_ID para cada dispositivo . Por esa razón, depender de ANDROID_ID para identificar de manera exclusiva los perfiles de usuario o dispositivos puede no ser confiable .