Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Zabawa z uprawnieniami: dlaczego zmiana w Androidzie 6.0 może sprawić, że będziesz się powtarzać

Spisu treści:

Anonim

Android 6.0 Marshmallow technicznie ma cały tydzień. (Mniej, jeśli liczyć datę upuszczenia kodu, jak sądzę). Ale od miesięcy jest w stanie podglądu dla programistów, a programiści mogli przesyłać aplikacje korzystające z nowego poziomu interfejsu API (a tym samym nowych uprawnień) dla chwilę teraz.

Jeśli więc używasz Marshmallow na telefonie Nexus (a tak naprawdę powinieneś), zaczniesz działać w nowym schemacie uprawnień w miarę aktualizacji aplikacji. Jednym z moich pierwszych przykładów było Twitter. (I uznanie dla Twittera za bycie jednym z pierwszych).

Jak robi to Twitter …

Rozważ zrzut ekranu, który zobaczysz, gdy otworzysz Twittera po raz pierwszy. Twitter chce użyć mojej bieżącej lokalizacji do dostosowania moich doświadczeń. Ok, czemu nie. Podoba mi się moja lokalizacja i lubię lepsze wrażenia. Pozwolę na to.

Potem zaczyna się nowe pozwolenie w Marshmallow. Czy chcę dać Twitterowi dostęp do tego, o czym powiedziałem, że chcę to uzyskać? Tak. Dlatego uderzyłem OK po raz pierwszy.

Chodzi o to, że pierwsze okno dialogowe Twittera nie ma nic wspólnego z faktycznym zezwoleniem na moją lokalizację. To po prostu uruchamia okno dialogowe systemu. Jest to jednak nieco bardziej przyjazne niż okno dialogowe uprawnień Androida.

Rozważać:

Twitter: „Twitter chce użyć Twojej bieżącej lokalizacji, aby dostosować Twoje wrażenia”.

Android: „Zezwolić Twitterowi na dostęp do lokalizacji tego urządzenia?”

Dwa pytania podobne do uprawnień, które zadają to samo pytanie - ale tylko jedno faktycznie pozwala na wszystko.

Ten pierwszy mówi mi, co chce zrobić - a co ważniejsze, dlaczego chce to zrobić. Ta ostatnia jest w większości tym samym rodzajem prostego, ale niejasnego zezwolenia, które nienawidzimy na Androidzie. I tak chyba musi być. Ale właśnie tam aplikacja żądająca pozwolenia - to pierwsze okno dialogowe z Twittera - staje się jeszcze ważniejsza. Zamiast natychmiast dać mi opcję „Nie zezwalaj / OK”, Twitter powinien wziąć kolejne zdanie, aby powiedzieć mi, co będzie dalej. „Twitter chciałby użyć Twojej bieżącej lokalizacji, aby dostosować swoje wrażenia. Jeśli ci się spodoba, kliknij„ zezwól ”na następnym ekranie.” Lub coś w tym rodzaju. Następnie masz lepszy kontekst dla prośby o pozwolenie, a użytkownik jest przygotowany na to, co się zbliża - i to nie jest tak powtarzalne.

To dwa trudne kroki dla użytkownika i to trudne. Ale to jednorazowy ból. I myślę, że warto, abyśmy zwrócili trochę więcej uwagi na niebezpieczne (to termin techniczny), jakich mogą wymagać aplikacje. Z drugiej strony, ikonografia i kontekst mogą oznaczać, że nie musisz mi mówić, że masz zamiar poprosić o pozwolenie na aparat, ponieważ właśnie stuknąłem ikonę aparatu.

Oto, jak to ujmuje Google:

W niektórych okolicznościach możesz pomóc użytkownikowi zrozumieć, dlaczego Twoja aplikacja potrzebuje pozwolenia. Na przykład, jeśli użytkownik uruchomi aplikację fotograficzną, prawdopodobnie nie będzie zaskoczony, że aplikacja poprosi o pozwolenie na korzystanie z aparatu, ale użytkownik może nie zrozumieć, dlaczego aplikacja chce uzyskać dostęp do lokalizacji użytkownika lub kontaktów. Zanim poprosisz o pozwolenie, powinieneś rozważyć wyjaśnienie dla użytkownika. Pamiętaj, że nie chcesz przytłaczać użytkownika wyjaśnieniami; jeśli podasz zbyt wiele wyjaśnień, użytkownik może uznać aplikację za frustrującą i usunąć ją.

Jak robi to Facebook …

Przyjrzyjmy się, jak Facebook - kolejna aplikacja, która jest już zaktualizowana o nowe uprawnienia.

Ahhhh, rzadka prośba o podwójne pozwolenie. To właśnie otrzymujesz z Facebooka, gdy klikniesz ikonę aparatu, aby uzyskać nową aktualizację statusu. OK, trochę oszukałem - otrzymujesz to podwójne powiadomienie, jeśli po raz pierwszy odmówisz pozwolenia na przechowywanie, gdy próbuje on zapełnić miniatury tego, co jest w twojej galerii. Ale jest ładnie zrobione. Facebook mówi ci, czego chce i dlaczego tego chce.

A potem znów się powtórzysz. Tak, chciałbym, aby Facebook miał pozwolenie na poproszenie mojego telefonu o zrobienie czegoś.

Ale znowu to pierwszy przycisk „Zezwól”, z którym mam problem. To tak naprawdę nie pozwala na nic innego niż okno systemowe, aby zapytać cię dokładnie o to samo. I musisz to zrobić tylko raz.

Jak to działa w Hangouts …

Oto jeszcze jeden przykład, tym razem w Google Hangouts. Trafienie ikonami kamery lub galerii w trakcie rozmowy spowoduje jedynie otwarcie okna dialogowego systemu. Nie ma zbędnego żądania przed rzeczywistym, które udziela uprawnień. (I znowu twierdzę, że to w porządku. Kiedy stukam ikonę kamery, otrzymanie prośby o pozwolenie na kamerę ma już kontekst.)

To, co myślę, że Google naprawdę wykonało dobrą robotę, to skorzystanie z tego pierwszego wyjaśnienia dotyczącego uprawnień do kontaktów, które jest konieczne, aby aplikacja w ogóle działała. Najpierw mówi, dlaczego potrzebuje dostępu do twoich kontaktów. Naciśnięcie „Dalej” powoduje wyświetlenie prośby o pozwolenie systemowe. To, że jest tam napisane „Dalej”, a nie „Zezwalaj”, jest tam naprawdę ważne. Jedna przepływa do drugiej. Oczywiście nie chcesz wykonywać wszystkich takich żądań uprawnień na pełnym ekranie w ten sposób. Ale aby coś wystarczająco ważnego zaprezentować przy pierwszym uruchomieniu, jest bardzo ładnie wykonane.

Przejście na uprawnienia środowiska wykonawczego jest duże i ważne. Ale mogą być małym procesem uczenia się.

Przyznaję, że robię tu trochę góry z kretowiska. Musisz tylko przejść przez to pierwszy raz dla aplikacji. Ale uprawnienia są ważne. (I myślę, że przejście na uprawnienia środowiska wykonawczego jest dobre.) Wyjaśnienie uprawnień jest dobre. Nawet podwójnego przystanku można przeoczyć w imię zmuszania użytkownika do spojrzenia przed skokiem. Wyjaśnij uprawnienie użytkownikowi, po prostu nie każ mu myśleć, że już na to zezwolił, tylko po to, aby faktycznie zrobił to krok później w żądaniu systemowym. Po prostu nie lubię powtarzać wszystkiego.

I jak zawsze możesz odwołać uprawnienia w dowolnym momencie. Jeśli to zrobisz, aplikacja poprosi o pozwolenie następnym razem, gdy spróbujesz użyć tej funkcji.

Chodzi o to, że my, jako użytkownicy, mamy tu do czynienia z czymś nowym. Ale i twórcy aplikacji.

Aktualizacja: aby bardziej technicznie posłuchać tego wszystkiego - a przy okazji potwierdzenie, że sposób, w jaki Facebook i Twitter robią rzeczy, nie jest całkiem idealny - sprawdź odcinek 33 podcastu dla programistów Androida.