web-dev-qa-db-fra.com

Implications de Android prise en charge de plusieurs utilisateurs (nouveau dans 4.2) pour le modèle de données côté serveur (par exemple Android_id)

Google vient de publier Android 4.2, qui inclut la prise en charge de plusieurs profils utilisateur sur un seul appareil: http://developer.Android.com/about/versions/Android-4.2. html # MultipleUsers .

Google dit que cela sera transparent pour les applications, mais je pense que cela pourrait avoir un impact sur le modèle de données utilisé pour identifier les appareils, les utilisateurs et les installations.

Un problème est l'utilisation d'Android_id. Les conseils sur la page liée ci-dessus suggèrent d'identifier un appareil par une des méthodes autres qu'Android_id, mais je pense que Android_id est très largement utilisé à cette fin.

Ma question principale est - chaque profil utilisateur a-t-il son propre Android_id, et quelles sont les implications?

Un nouveau Android_id est généré lorsqu'un nouveau système d'exploitation est installé ou lorsqu'une réinitialisation matérielle est effectuée - peut-être qu'un nouveau sera généré lors de la création d'un nouveau profil utilisateur (c'est la question # 1)? Je pense que non, donc une application pourrait être installée plusieurs fois pour le même Android_id - je pense que cela pourrait se foutre du modèle de données côté serveur pour certaines applications.

Quoi qu'il en soit, selon la façon dont vous identifiez un appareil, vous pouvez désormais constater qu'une application particulière peut avoir plusieurs installations sur un seul appareil.

Un autre problème concerne les utilisateurs. Vraisemblablement, chaque profil peut avoir un nombre quelconque de comptes Google, mais un seul compte Google doit être associé au Play Store dans chaque profil. Je pense qu'il est également possible que votre application puisse avoir plusieurs installations simultanées avec le même appareil (par Android_id) ET le même utilisateur. Je pense qu'une utilisation courante de la fonction de profils multiples sera pour un seul utilisateur d'avoir des profils personnels et professionnels sur son téléphone - généralement en utilisant différents comptes Google, mais dans certains cas, ils pourraient avoir le même compte Google dans chaque profil (par exemple, donc ils n'ont pas à payer deux fois pour des trucs).

Note latérale
Voici une discussion similaire d'Android_ID sur la nouvelle plateforme ARC (Android sur Chrome). Faites attention - le comportement sur ARC n'est pas le même que sur Android.

36
Tom

(Personne n'a répondu à ma question, mais j'ai maintenant eu la chance de tester moi-même avec 4.2.)

La réponse est que chaque profil a son propre Android_id.

À bien y penser, cela a probablement le plus de sens et causera le moins de problèmes. Cela devrait amener la plupart des systèmes à voir les différents profils sur un appareil comme des appareils différents - ce qui ne devrait pas vraiment être un problème. Le seul problème serait les systèmes qui ont correctement identifié un périphérique, par exemple. basé sur l'adresse wifi ou mac bt, ou le numéro de série ou IMEI, puis s'attendait à ce que plusieurs Android_id sur cet appareil unique représentent des installations de système d'exploitation séquentielles sur cet appareil. (Plutôt pervers, il sera plus sûr de se tromper.)

35
Tom

Oui, chaque profil utilisateur a son propre Android_ID. Ceci est maintenant documenté ici :

Remarque: Lorsqu'un appareil a plusieurs utilisateurs (disponible sur certains appareils exécutant Android 4.2 ou supérieur), chaque utilisateur apparaît comme un appareil complètement séparé, donc le Android_ID la valeur est unique pour chaque utilisateur.

Attention cependant, les fabricants sont connus pour bâcler leur mise en œuvre de Android_ID. Par exemple, le Motorola Droid2 a renvoyé le même Android_ID valeur pour chaque appareil . Pour cette raison, en s'appuyant sur le Android_ID pour identifier de manière unique les profils utilisateur ou les appareils peut ne pas être fiable .

9
Mark Whitaker