Cuprins:
Android 6.0 Marshmallow tehnic are toate o săptămână. (Mai puțin, dacă socotești data scăderii de cod, presupun.) Dar a fost în stare de previzualizare a dezvoltatorilor de luni de zile, iar dezvoltatorii au putut trimite aplicații care folosesc noul nivel API (și astfel noile permisiuni) pentru o puțin timp acum.
Așadar, dacă rulați Marshmallow pe un telefon Nexus (și ar trebui să fiți cu adevărat), veți începe să alergați la noua schemă de permisiuni, pe măsură ce aplicațiile sunt actualizate. Una dintre primele mele cazuri în acest sens a fost cu Twitter. (Și kudos către Twitter pentru că este unul dintre primii.)
Cum face Twitter …
Luați în considerare această captură de ecran, pe care o veți vedea când veți deschide Twitter pentru prima dată. Twitter ar dori să folosească locația mea actuală pentru a-mi personaliza experiența. Bine de ce nu. Îmi place locația mea și îmi plac experiențele mai bune. Voi permite.
Apoi, noua autorizație din Marshmallow începe. Vreau să ofer acces Twitter la ceea ce am spus că vreau să-i dau acces? Da, o iau. De aceea am lovit OK prima dată.
Chestia este că prima casetă de dialog a lui Twitter nu are nicio legătură cu a permite permisiunea pentru locația mea. Doar declanșează dialogul de sistem. Cu toate acestea, este exprimat puțin mai prietenos decât dialogul cu permisiunea Android.
Considera:
Twitter: „Twitter ar dori să utilizeze locația dvs. curentă pentru a vă personaliza experiența.”
Android: "Permiteți Twitter să acceseze locația acestui dispozitiv?"
Două întrebări asemănătoare permisiunii care pun aceeași întrebare - dar doar una permite de fapt orice.
Primul îmi spune ce vrea să facă - și mai important de ce vrea să o facă. Acesta din urmă este în mare parte același fel de simplă, dar vagă permisiune - vorbim pe care am ajuns să-l detestăm din Android. Presupun că trebuie să fie. Dar de aici aplicația care solicită permisiunea - acea primă casetă de dialog de pe Twitter - devine și mai importantă. În loc să-mi ofere imediat opțiunea „Nu permiteți / OK”, Twitter ar trebui să ia o altă propoziție pentru a-mi spune ce urmează. "Twitter ar dori să utilizeze locația dvs. curentă pentru a vă personaliza experiența. Dacă sunteți interesat de asta, faceți clic pe„ Permiteți "pe ecranul următor." Sau ceva în acest sens. Apoi, ai un context mai bun pentru solicitarea de permisiune, iar utilizatorul este pregătit pentru ceea ce apare - și nu este atât de repetitiv.
Este vorba de două opriri dure pentru utilizator și este greu. Dar este un punct de durere o singură dată. Și merită, cred, să ne determinăm să acordăm un pic mai multă atenție periculoase (acesta este termenul tehnic) pe care aplicațiile le pot solicita. Pe de altă parte, iconografia și contextul pot însemna că nu trebuie să-mi spuneți că sunteți pe punctul de a cere permisiunea camerei, deoarece tocmai am atins pictograma camerei.
Iată cum îl pune Google:
În unele circumstanțe, poate doriți să-l ajutați pe utilizator să înțeleagă de ce aplicația dvs. are nevoie de o autorizație. De exemplu, dacă un utilizator lansează o aplicație de fotografie, utilizatorul probabil nu va fi surprins că aplicația cere permisiunea de a utiliza camera, dar utilizatorul ar putea să nu înțeleagă de ce aplicația dorește accesul la locația sau la contactele utilizatorului. Înainte de a solicita permisiunea, ar trebui să luați în considerare furnizarea unei explicații utilizatorului. Rețineți că nu doriți să copleșiți utilizatorul cu explicații; dacă oferiți prea multe explicații, utilizatorul ar putea găsi aplicația frustrantă și să o elimine.
Cum face Facebook …
Să aruncăm o privire la modul în care Facebook - o altă aplicație care a fost deja actualizată pentru noile permisiuni.
Ahhhh, rara solicitare de permis dublu. Aceasta este ceea ce obțineți de pe Facebook când apăsați pictograma camerei pentru o nouă actualizare de stare. OK, am înșelat puțin - primești această dublă notificare dacă refuzi permisiunea de stocare prima dată, când încearcă să completezi miniaturile a ceea ce este în galeria ta. Dar este bine făcut. Facebook îți spune ce vrea și de ce vrea.
Și atunci ajungi să te repeti din nou. Da, mi-ar plăcea ca Facebook să aibă permisiunea de a cere telefonului meu să facă ceva.
Dar, din nou, este primul buton „Allow” cu care am o problemă. De fapt, nu permite altceva decât dialogul de sistem să vă solicite din nou același lucru. Și nu trebuie decât să o faci o singură dată.
Cum face Hangouts …
Iată încă un exemplu, de această dată în Google Hangouts. Apăsarea pictogramelor camerei sau galeriei în cadrul unei conversații va declanșa doar dialogul de sistem. Nu există nicio cerere de prisos înaintea celei reale care să acorde permisiunile. (Și, din nou, aș argumenta că este în regulă. Când ating o pictogramă a camerei, primirea unei cereri pentru permisiunea camerei are deja context.)
În cazul în care cred că Google a făcut cu adevărat o treabă frumoasă, a fost cu acest explicator pentru prima dată pentru permisiunea contactelor, care este necesar ca aplicația să funcționeze deloc. Mai întâi spune de ce are nevoie de acces la contactele dvs. Apăsarea „Următorul” prezintă apoi solicitarea de permisiune a sistemului. Că se spune „Next” și nu „Allow” este ceea ce este cu adevărat important acolo. Unul curge în celălalt. Evident, nu doriți să faceți toate cererile de permisiune pe ecran complet ca acesta. Dar pentru ca ceva suficient de important să fie prezentat la prima execuție, este foarte bine făcut.
Trecerea la permisiunile de rulare este una importantă și importantă. Dar pot fi un mic proces de învățare.
Sunt recunoscător că fac un munte dintr-un molehill aici. Trebuie doar să treceți prin asta pentru prima oară pentru o aplicație. Dar permisiunile sunt importante. (Și cred că trecerea la permisiunile de rulare este una bună.) O explicație a permisiunilor este bună. Chiar și dublu popas poate fi trecut cu vederea în numele faptului că te va arăta înainte de a sări. Explicați permisiunea utilizatorului, nu faceți-i să creadă că l-au permis deja o singură dată, doar pentru a-i face să facă de fapt un pas mai târziu în solicitarea sistemului. Pur și simplu nu-mi place că repetarea mea este totul.
Și ca întotdeauna, sunteți liber să revocați permisiunile oricând doriți. Dacă faceți acest lucru, aplicația vă va solicita din nou permisiunea data viitoare când încercați să utilizați această funcționalitate.
Obiectiv este că noi, ca utilizatori, avem ceva nou pentru a ne obișnui aici. Dar la fel și dezvoltatorii de aplicații.
Actualizare: Pentru o ascultare mai tehnică a tuturor acestor lucruri și, apropo, confirmarea faptului că modul în care Facebook și Twitter fac lucrurile nu este tocmai ideal - consultați episodul 33 al podcastului Backstage pentru Android Developers.