Implikacje obsługi wielu użytkowników Androida (nowość w 4.2) dla modelu danych serwera (np. Android_id)


Firma Google właśnie wydała Androida 4.2, który obejmuje obsługę wielu profili użytkowników na jednym urządzeniu:

http://developer.android.com/a ... Users
http://developer.android.com/a ... Users
.
Google twierdzi, że będzie to przezroczyste dla aplikacji, ale myślę, że może to wpłynąć na model danych używany do identyfikacji urządzeń, użytkowników i instalacji.
Jednym z problemów jest używanie android_id. Porada na powyższej połączonej stronie sugeruje identyfikację urządzenia za pomocą jednej z metod innych niż android_id, ale uważam, że android_id jest bardzo szeroko stosowany do tego celu.

Moje główne pytanie brzmi: czy każdy profil użytkownika ma swój własny identyfikator android_id i jakie są tego konsekwencje?

Nowy identyfikator android_id jest generowany podczas instalowania nowego systemu operacyjnego lub wykonywania twardego resetu - być może nowy zostanie wygenerowany, gdy zostanie utworzony nowy profil użytkownika (to jest pytanie nr 1)? Chyba chyba nie, więc aplikacja może być instalowany wiele razy dla tego samego android_id - myślę, że może to zepsuć model danych po stronie serwera dla niektórych aplikacji.
W każdym razie, w zależności od tego, jak zidentyfikujesz urządzenie, możesz teraz stwierdzić, że dana aplikacja może mieć wiele instalacji na tym samym urządzeniu.
Kolejnym problemem są użytkownicy. Przypuszczalnie każdy profil może mieć dowolną liczbę kont Google, ale jedno konto Google musi być powiązane ze Sklepem Play w każdym profilu. Myślę, że jest również możliwe, że Twoja aplikacja może mieć wiele jednoczesnych instalacji z tym samym urządzeniem (według android_id) ORAZ tego samego użytkownika. Myślę, że powszechnym zastosowaniem funkcji wielu profili byłoby to, że jeden użytkownik będzie miał na swoim telefonie profile do domu i do pracy - zwykle przy użyciu różnych kont Google, ale w niektórych przypadkach może mieć to samo konto Google w każdym profilu (na przykład nie muszą płacić dwa razy za rzeczy).

Uwaga

Oto podobna dyskusja
https://coderoad.ru/29656101/
ANDROID_ID na nowej platformie ARC (Android na Chrome). Uważaj - zachowanie na ARC nie jest takie samo jak na Androidzie.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

(Nikt nie odpowiedział na moje pytanie, ale teraz miałem okazję przetestować się z 4.2.)
Odpowiedź jest taka, że ​​każdy profil ma swój własny identyfikator android_id.
Pomyśl o tym, to prawdopodobnie ma największy sens i powoduje najmniej problemów. Powinno to spowodować, że większość systemów będzie widzieć różne profile na urządzeniu jako różne urządzenia, co nie powinno stanowić problemu. Jedynym problemem są na przykład systemy, które poprawnie identyfikują urządzenie. na podstawie adresu MAC Wi-Fi lub bt, numeru seryjnego lub IMEI, a następnie oczekuje się, że wiele identyfikatorów android_id na tym jednym urządzeniu będzie reprezentować sekwencyjne instalacje systemu operacyjnego na tym urządzeniu. (Co dziwne, bezpieczniej jest się mylić.)
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Tak, każdy profil użytkownika ma swój własny ANDROID_ID. Jest to teraz udokumentowane

tutaj
http://developer.android.com/r ... ID_ID
:


Uwaga:

jeśli urządzenie ma

wielu użytkowników
http://developer.android.com/a ... Users
(dostępne na niektórych urządzeniach z Androidem 4.2 lub nowszym), każdy użytkownik pojawia się jako zupełnie oddzielne urządzenie, więc wartość
ANDROID_ID
jest niepowtarzalna dla każdego użytkownika.

Należy jednak pamiętać, że producenci często psują implementację
ANDROID_ID
. Na przykład Motorola Droid 2

zwrócił tę samą wartość
ANDROID_ID
dla każdego urządzenia
https://groups.google.com/d/ms ... oJ... Z tego powodu należy polegać na
ANDROID_ID
, aby jednoznacznie identyfikować profile użytkowników lub urządzeń

może być zawodne
http://android-developers.blog ... .html
.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się