Talaan ng mga Nilalaman:
Ang Android 6.0 Marshmallow ay technically ay lahat ng isang lingo. (Hindi gaanong kung bibilangin mo ang petsa ng drop ng code, sa palagay ko.) Ngunit nasa katayuan ng preview ng developer nang maraming buwan, at nagawa ng mga developer na magsumite ng mga app na gumagamit ng bagong antas ng API (at sa gayon ang mga bagong pahintulot) para sa isang konti habang ngayon.
Kaya kung nagpapatakbo ka ng Marshmallow sa isang Nexus phone (at talagang dapat ka), magsisimula kang tumatakbo sa bagong scheme ng pahintulot habang na-update ang mga app. Ang isa sa aking mga unang pagkakataon na ito ay sa Twitter. (At mga kudos sa Twitter para sa pagiging isa sa mga nauna.)
Paano ito ginagawa ng Twitter …
Isaalang-alang ang screenshot na ito, na makikita mo kapag binuksan mo ang Twitter sa unang pagkakataon. Gusto ng Twitter na gamitin ang aking kasalukuyang lokasyon upang ipasadya ang aking karanasan. Sige bakit hindi. Gusto ko ang aking lokasyon, at gusto ko ang mas mahusay na mga karanasan. Papayagan ko ito.
Pagkatapos ang bagong pahintulot sa Marshmallow ay sumipa. Gusto ko bang bigyan ng Twitter ang pag-access sa bagay na sinabi ko na nais kong bigyan ito ng access? Oo. Alin ang dahilan kung bakit ako pindutin ang OK sa unang pagkakataon.
Ang bagay ay, ang unang kahon ng pag-uusap sa Twitter ay hindi talagang may kinalaman sa talagang pinapayagan ang pahintulot para sa aking lokasyon. Nag-trigger lang ito ng system dialog. Ngunit ito ay na-word ng kaunti mas friendly kaysa sa dialog ng pahintulot sa Android.
Isaalang-alang:
Twitter: "Gusto ng Twitter na gamitin ang iyong kasalukuyang lokasyon upang ipasadya ang iyong karanasan."
Android: "Payagan ang Twitter na ma-access ang lokasyon ng aparatong ito?"
Dalawang tanong na tulad ng pahintulot na nagtanong ng parehong katanungan - ngunit isa lamang ang talagang nagpapahintulot sa anuman.
Sinasabi sa akin ng dating kung ano ang nais nitong gawin - at mas mahalaga kung bakit nais itong gawin. Ang huli ay karamihan sa parehong uri ng simpleng-ngunit-malabo na pahintulot-magsalita na napang-awa namin mula sa Android. At ito ay uri ng mga pangangailangan, sa palagay ko. Ngunit na kung saan humihiling ang app ng pahintulot - na ang unang kahon ng dialogo mula sa Twitter - ay nagiging mas mahalaga. Sa halip na bigyan kaagad ako ng opsyon na "Huwag payagan / OK", ang Twitter ay dapat gumawa ng isa pang pangungusap upang sabihin sa akin kung ano ang susunod. "Gusto ng Twitter na gamitin ang iyong kasalukuyang lokasyon upang ipasadya ang iyong karanasan. Kung cool ka dyan, i-click ang 'payagan' sa susunod na screen." O isang bagay sa epekto na iyon. Pagkatapos ay nakakuha ka ng mas mahusay na konteksto para sa kahilingan ng pahintulot, at handa ang gumagamit para sa kung ano ang darating - at hindi ito paulit-ulit.
Iyon ang dalawang matigas na paghinto sa gumagamit, at iyon ay matigas. Ngunit ito ay isang beses na punto ng sakit. At nagkakahalaga ito, sa palagay ko, upang mapagbigyan kami na magbayad ng kaunti pang pansin sa mapanganib (iyon ang term na teknikal) na mga application ng pahintulot ay maaaring mangailangan. Sa kabilang banda, ang iconograpiya at konteksto ay maaaring nangangahulugang hindi mo kailangang sabihin sa akin na hihingi ka ng pahintulot para sa camera, dahil tinapik ko na lang ang icon ng camera.
Narito kung paano inilalagay ito ng Google:
Sa ilang mga kalagayan, baka gusto mong tulungan ang user na maunawaan kung bakit nangangailangan ng pahintulot ang iyong app. Halimbawa, kung ang isang gumagamit ay naglulunsad ng isang app sa pagkuha ng litrato, marahil ay hindi mabigla ang gumagamit na humihingi ng pahintulot ang app na gamitin ang camera, ngunit hindi maintindihan ng gumagamit kung bakit nais ng app na mag-access sa lokasyon ng gumagamit o mga contact. Bago ka humiling ng pahintulot, dapat mong isaalang-alang ang pagbibigay ng paliwanag sa gumagamit. Tandaan na hindi mo nais na mapuspos ang gumagamit ng mga paliwanag; kung nagbibigay ka ng napakaraming mga paliwanag, maaaring mahanap ng gumagamit ang app na nabigo at tinanggal ito.
Paano ito ginagawa ng Facebook …
Tingnan natin kung paano ang Facebook - isa pang app na na-update para sa mga bagong pahintulot.
Ahhhh, ang bihirang dobleng kahilingan ng pahintulot. Ito ang nakukuha mo mula sa Facebook kapag na-hit mo ang icon ng camera para sa isang bagong update sa katayuan. OK, niloko ko ng kaunti - nakuha mo ang dobleng abiso na ito kung tanggihan mo ang pahintulot sa imbakan sa unang pagkakataon, kung sinusubukan nitong ibahin ang mga thumbnail ng kung ano ang nasa iyong gallery. Ngunit ito ay tapos na. Sinasabi sa iyo ng Facebook kung ano ang nais nito, at kung bakit nais nito.
At pagkatapos ay kailangan mong ulitin muli ang iyong sarili. Oo, nais kong magkaroon ng pahintulot ang Facebook na hilingin sa aking telepono na gumawa ng isang bagay.
Ngunit, muli, ito ang una na "Payagan" na pindutan na mayroon akong problema sa. Hindi talaga ito pinahihintulutan ang anumang bagay maliban sa dialog system upang hilingin sa iyo ang eksaktong parehong bagay. At kailangan mo lang itong gawin minsan.
Paano ginagawa ito ng Hangout …
Narito ang isa pang halimbawa, sa oras na ito sa Google Hangout. Ang paghagupit ng mga icon ng camera o gallery sa loob ng isang pag-uusap ay mag-uudyok lamang sa dialog ng system. Walang labis na kahilingan sa unahan ng aktwal na nagbibigay ng mga pahintulot. (At, muli, sasabihin ko na maayos iyon. Kapag nag-tap ako ng isang icon ng camera, ang pagkuha ng kahilingan para sa pahintulot ng camera ay may konteksto.)
Kung saan sa palagay ko talagang gumawa ng isang magandang trabaho ang Google ay kasama ang paunang paliwanag na ito para sa pahintulot ng mga contact, na kung saan ang flat-out ay kinakailangan para gumana ang app. Una sinabi nito kung bakit kailangan nito ng pag-access sa iyong mga contact. Ang pagpindot sa "Susunod" pagkatapos ay nagtatanghal ng kahilingan ng pahintulot ng system. Na sinasabi nito na "Next" at hindi "Payagan" ang talagang mahalaga doon. Ang isa ay dumadaloy sa isa pa. Malinaw na ayaw mong gawin ang bawat pahiling na humiling ng full-screen na tulad nito. Ngunit para sa isang bagay na sapat na mahalaga upang maipakita sa unang pagtakbo, napakahusay na tapos na.
Ang switch sa mga pahintulot ng runtime ay malaki, at mahalaga. Ngunit maaaring sila ay isang maliit na proseso ng pag-aaral.
Aminado akong gumagawa ng kaunting bundok sa labas ng isang molehill dito. Kailangan mo lamang itong dumaan sa unang pagkakataon para sa isang app. Ngunit ang mga pahintulot ay mahalaga. (At sa palagay ko ang isang lumipat sa mga pahintulot ng runtime ay mabuti.) Ang isang paliwanag ng mga pahintulot ay mabuti. Kahit na ang dobleng paghinto ay maaaring hindi mapansin sa pangalan ng paggawa ng pagtingin mo bago ka tumalon. Ipaliwanag ang pahintulot sa gumagamit, huwag mo lang isipin na pinahintulutan na nila ito ng isang beses, lamang na gawin itong aktwal na gawin ito ng isang hakbang sa paglaon ng kahilingan ng system. Ayaw ko lang ulitin ang sarili ko.
At tulad ng dati, malaya kang mabawi ang mga pahintulot sa tuwing nais mo. Kung gagawin mo ito, tatanungin muli ng app ang iyong pahintulot sa susunod na subukan mong gamitin ang pag-andar na iyon.
Ang punto ay, kami bilang mga gumagamit ay may bago upang masanay dito. Ngunit gayon din, gawin ang mga developer ng app.
Update: Para sa isang mas teknikal na pakikinig ng lahat ng ito - at, sa pamamagitan ng paraan, kumpirmasyon na ang paraan ng paggawa ng mga bagay sa Facebook at Twitter ay hindi perpekto - tingnan ang Episode 33 ng podcast ng Android Developers Backstage.