Logo da.androidermagazine.com
Logo da.androidermagazine.com

Sjovt med tilladelser: hvorfor ændringen i Android 6.0 kan få dig til at gentage dig selv

Indholdsfortegnelse:

Anonim

Android 6.0 Marshmallow er teknisk set en uges gammel. (Mindre end hvis du tæller datoen for kodefaldet, antager jeg.) Men det har været i udviklereksempelstatus i flere måneder, og udviklere har været i stand til at indsende apps, der bruger det nye API-niveau (og dermed de nye tilladelser) til en lidt nu.

Så hvis du kører Marshmallow på en Nexus-telefon (og det burde du virkelig være), begynder du at løbe ind i den nye tilladelsesplan, når apps opdateres. Et af mine første tilfælde af dette var med Twitter. (Og kudos til Twitter for at være en af ​​de tidlige.)

Hvordan Twitter gør det …

Overvej dette skærmbillede, som du vil se, når du åbner Twitter for første gang. Twitter vil gerne bruge min nuværende placering til at tilpasse min oplevelse. OK, hvorfor ikke. Jeg kan godt lide min placering, og jeg kan godt lide bedre oplevelser. Jeg tillader det.

Så starter den nye tilladelse i Marshmallow. Vil jeg give Twitter adgang til det, jeg sagde, at jeg ville give det adgang til? Ja jeg gør. Derfor ramte jeg OK første gang.

Sagen er, at Twitter's første dialogboks faktisk ikke har noget at gøre med at faktisk give tilladelse til min placering. Det udløser bare systemdialogen. Men det er formuleret lidt mere venligt end Android-tilladelsesdialogen.

Overveje:

Twitter: "Twitter vil gerne bruge din nuværende placering for at tilpasse din oplevelse."

Android: "Tillad Twitter at få adgang til denne enheds placering?"

To tilladelseslignende spørgsmål, der stiller det samme spørgsmål - men kun et tillader faktisk noget.

Førstnævnte fortæller mig, hvad den vil gøre - og endnu vigtigere, hvorfor den vil gøre det. Det sidstnævnte er for det meste den samme form for simpel, men vag tilladelsestale, som vi er kommet til at afsky fra Android. Og det skal den slags være, antager jeg. Men det er her appen, der anmoder om tilladelse - den første dialogboks fra Twitter - bliver endnu vigtigere. I stedet for straks at give mig muligheden "Tillad ikke / OK", skal Twitter tage en anden sætning for at fortælle mig, hvad der er næste. "Twitter vil gerne bruge din aktuelle placering til at tilpasse din oplevelse. Hvis du er cool med det, skal du klikke på 'tillad' på den næste skærm." Eller noget dertil. Så har du bedre kontekst for tilladelsesanmodningen, og brugeren er forberedt på, hvad der kommer op - og det er ikke så gentagne.

Det er to hårde stop på brugeren, og det er hårdt. Men det er et engangssmerter. Og det er det værd, tror jeg, at få os til at være lidt mere opmærksomme på de farlige (det er det tekniske udtryk) tilladelser, apps kan kræve. På den anden side kan ikonografi og kontekst muligvis betyde, at du ikke behøver at fortælle mig, at du er ved at bede om tilladelse til kameraet, da jeg lige tappede på kameraikonet.

Sådan udtrykker Google det:

I nogle tilfælde vil du måske hjælpe brugeren med at forstå, hvorfor din app har brug for en tilladelse. For eksempel, hvis en bruger lancerer en fotograferingsapp, bliver brugeren sandsynligvis ikke overrasket over, at appen beder om tilladelse til at bruge kameraet, men brugeren forstår muligvis ikke, hvorfor appen ønsker adgang til brugerens placering eller kontakter. Inden du anmoder om tilladelse, skal du overveje at give en forklaring til brugeren. Husk, at du ikke ønsker at overvælde brugeren med forklaringer; Hvis du giver for mange forklaringer, kan brugeren muligvis finde appen frustrerende og fjerne den.

Sådan gør Facebook det …

Lad os se på, hvordan Facebook - en anden app, der allerede er opdateret til de nye tilladelser.

Ahhhh, den sjældne anmodning om dobbelt tilladelse. Dette er, hvad du får fra Facebook, når du rammer kameraikonet for en ny statusopdatering. OK, jeg snydt lidt - du får denne dobbelte anmeldelse, hvis du nægter lagringstilladelsen første gang, når den prøver at udfylde miniaturebillederne af, hvad der er i dit galleri. Men det er pænt gjort. Facebook fortæller dig, hvad den vil, og hvorfor den ønsker det.

Og så får du gentage dig selv igen. Ja, jeg vil gerne, at Facebook skal have tilladelse til at bede min telefon om at gøre noget.

Men igen, det er den første "Tillad" -knap, jeg har et problem med. Det tillader faktisk ikke andet end systemdialogen at bede dig om nøjagtig den samme ting igen. Og du skal kun gøre det en gang.

Hvordan Hangouts gør det …

Her er endnu et eksempel, denne gang i Google Hangouts. At ramme ikonet for kameraet eller galleriet i en samtale udløser kun systemdialogen. Der er ingen overflødig anmodning foran den faktiske, der giver tilladelser. (Og igen, jeg vil hævde, at det er fint. Når jeg trykker på et kameraikon, har jeg allerede en kontekst for at få en anmodning om kameraet tilladelse).

Hvor jeg synes, Google virkelig gjorde et dejligt stykke arbejde, var med denne førstekørsel forklarer for tilladelse til kontakter, hvilket flat-out er nødvendigt for, at app overhovedet fungerer. Først siger det, hvorfor det har brug for adgang til dine kontakter. Ved at trykke på "Næste" vises derefter anmodningen om systemtilladelse. At det står "Næste" og ikke "Tillad", er det, der virkelig er vigtigt der. Den ene flyder ind i den anden. Du ønsker tydeligvis ikke at gøre enhver tilladelsesanmodning på fuld skærm som denne. Men for noget vigtigt nok til at blive præsenteret ved første kørsel er det meget pænt gjort.

Skiftet til runtime-tilladelser er stort og vigtigt. Men det kan være en lille læringsproces.

Jeg laver ganske vist lidt af et bjerg ud af en molehill her. Du skal kun gennemgå dette første gang for en app. Men tilladelser er vigtige. (Og jeg synes, at skiftet til tilladelser til runtime er godt.) En forklaring af tilladelser er god. Selv dobbeltstoppet kan overses i navnet på at få dig til at se før du springer. Forklar brugerens tilladelse, bare lad dem ikke tro, at de allerede har tilladt det en gang, kun for at få dem til at gøre det et skridt senere i systemanmodningen. Jeg kan bare ikke lide at gentage mig selv er alt sammen.

Og som altid er du fri til at tilbagekalde tilladelser, når du vil. Hvis du gør det, beder appen din tilladelse igen næste gang du prøver at bruge denne funktionalitet.

Pointen er, at vi som brugere har noget nyt at vænne sig til her. Men det gør også appudviklere.

Opdatering: For en mere teknisk lytning af alt dette - og for øvrigt en bekræftelse af, at måden Facebook og Twitter gør tingene ikke er helt ideel - se afsnit 33 af Android Developers Backstage podcast.