Sadržaj:
Android 6.0 Marshmallow tehnički je star čitav tjedan. (Manje, ako računate datum pada koda, pretpostavljam.) Ali on je već mjesecima u statusu pregleda programera, pa su programeri mogli slati aplikacije koje koriste novu razinu API-ja (a samim tim i nova dopuštenja) za malo sada.
Dakle, ako pokrećete Marshmallow na Nexus telefonu (a stvarno biste trebali biti), započet ćete s pokretanjem nove sheme dozvola kako se aplikacije ažuriraju. Jedan od mojih prvih slučajeva toga bio je s Twitterom. (I kudos na Twitter jer je jedan od ranih.)
Kako to radi Twitter …
Razmislite o ovom snimku zaslona koji ćete vidjeti kada prvi put otvorite Twitter. Twitter bi želio koristiti moju trenutnu lokaciju da prilagodim svoje iskustvo. Ok zasto ne. Sviđa mi se moja lokacija i volim bolja iskustva. Ja ću to dopustiti.
Tada započinje novo dopuštenje u Marshmallowu. Želim li Twitteru pružiti pristup onoj stvari za koju sam rekao da joj želim dati pristup? Da jesam. Zbog čega sam prvi put pogodio OK.
Stvar je u tome što prvi dijaloški okvir Twittera zapravo nema nikakve veze s tim što zapravo dozvoljava moju lokaciju. Samo pokreće dijaloški okvir sustava. No, riječ je malo prijateljskije od dijaloškog dijaloga dozvola za Android.
Uzeti u obzir:
Twitter: "Twitter želi koristiti vašu trenutnu lokaciju kako bi prilagodio vašem iskustvu."
Android: "Dopustiti omogućiti Twitteru pristup lokaciji ovog uređaja?"
Dva pitanja slična dopuštenju koja postavljaju isto pitanje - ali samo jedno zapravo dopušta bilo što.
Prva mi kaže što želi raditi - i još važnije zašto to želi učiniti. Potonje je uglavnom ista vrsta jednostavnih, ali nejasnih dozvola za govorenje s kojima smo se suočili sa Androidom. A pretpostavljam da i treba biti. Ali tamo aplikacija koja traži dozvolu - onaj prvi dijaloški okvir s Twittera - postaje još važnija. Umjesto da mi odmah pruži opciju "Ne dopuštaj / U redu", Twitter bi trebao uzeti drugu rečenicu da mi kaže što slijedi. "Twitter želi koristiti vašu trenutnu lokaciju kako bi prilagodio vašem iskustvu. Ako se s tim dobro osjećate, na sljedećem ekranu kliknite" dozvoli "." Ili nešto u tom smislu. Tada imate bolji kontekst za zahtjev za dozvolom i korisnik je spreman na ono što dolazi - i nije tako ponavljajuće.
To su dva tvrda zaustavljanja za korisnika, a to je teško. Ali to je jednokratna bolna točka. I mislim da je vrijedno toga, nagnati nas da obratimo malo više pozornosti na opasne (to je tehnički izraz) dozvole koje aplikacije mogu zahtijevati. S druge strane, ikonografija i kontekst mogu značiti da mi ne trebate reći da ćete zatražiti dozvolu za fotoaparat, jer sam upravo dodirnuo ikonu fotoaparata.
Evo kako to Google navodi:
U nekim okolnostima možete pomoći korisniku da shvati zašto vašoj aplikaciji treba dopuštenje. Na primjer, ako korisnik pokrene aplikaciju za fotografiranje, vjerojatno se neće iznenaditi da aplikacija traži dozvolu za upotrebu kamere, ali korisnik možda ne razumije zašto aplikacija želi pristup lokaciji korisnika ili kontaktima. Prije nego što zatražite dozvolu, razmislite o pružanju objašnjenja korisniku. Imajte na umu da ne želite preplaviti korisnika objašnjenjima; ako pružite previše objašnjenja, korisnik bi mogao smatrati da je aplikacija frustrirajuća i ukloniti je.
Kako to Facebook radi …
Pogledajmo kako Facebook - još jedna aplikacija koja je već ažurirana za nova dopuštenja.
Ahhhh, rijetki dvostruki zahtjev za dozvolom. To dobivate od Facebooka kada pritisnete ikonu fotoaparata za novo ažuriranje statusa. U redu, malo sam se prevario - dobijate ovu dvostruku obavijest ako odbijete dozvolu za pohranu prvi put, kada pokušava popustiti sličice onoga što se nalazi u vašoj galeriji. Ali lijepo je napravljeno. Facebook vam govori što želi i zašto to želi.
A onda se opet ponavljaš. Da, volio bih da Facebook ima dozvolu da tražim od mog telefona da nešto učini.
Ali, opet, to je onaj prvi gumb "Dopusti" s kojim imam problem. Zapravo ne dopušta da vas ponovno pita nešto drugo osim dijaloškog sustava. A to moraš učiniti samo jednom.
Kako Hangouts to radi …
Evo još jednog primjera, ovog puta u Google Hangoutsu. Udaranje fotoaparata ili ikone galerije u razgovoru pokrenuće samo dijaloški okvir sustava. Nema suvišnog zahtjeva ispred stvarnog koji daje dozvole. (I, opet, tvrdio bih da je to u redu. Kada dodirnem ikonu kamere, dobivanje zahtjeva za dozvolu za fotoaparat već ima kontekst.)
Tamo gdje mislim da je Google stvarno dobro obavio posao s tim prvim pokretačem za objašnjenje kontakata, koji je nužan da bi aplikacija uopće mogla raditi. Prvo govori zašto je potreban pristup vašim kontaktima. Pritiskom na "Sljedeće" prikazuje se zahtjev za dozvolu sustava. Ono što je tamo zaista važno je da piše „Dalje“, a ne „Dopusti“. Jedno se ulijeva u drugo. Očito ne želite raditi svaki zahtjev za dozvolom preko cijelog zaslona. No, za nešto što je dovoljno važno predstaviti u prvom trčanju, vrlo je lijepo napravljeno.
Prelazak na dozvoljena vremena rada je velik i važan. Ali oni mogu biti mali proces učenja.
Ovdje moram priznati da je malo planine od mola. Ovo morate proći samo prvi put za aplikaciju. No, dozvole su važne. (I mislim da je prelazak na dozvoljena vremena izvođenja dobar.) Objašnjenje dozvola je dobro. Čak se i dvostruko zaustavljanje može zanemariti u ime da biste izgledali prije nego što skočite. Objasnite korisniku dozvolu, samo nemojte ih smatrati da su to već jednom dozvolili, samo da bi to učinio korak kasnije u zahtjevu za sustav. Jednostavno ne volim ponavljati sebe.
I kao i uvijek, možete opozvati dozvole kad god želite. Ako to učinite, aplikacija će ponovno zatražiti vaše dopuštenje sljedeći put kad pokušate koristiti tu funkciju.
Poanta je u tome što mi kao korisnici imamo nešto novo na što smo se ovdje navikli. Ali isto tako rade i programeri aplikacija.
Ažuriranje: Za tehničko slušanje svega toga - i, usput, potvrdu da način na koji Facebook i Twitter rade stvari nije baš idealno - pogledajte epizodu 33 podcasta Android Developers Backstage.