Isi kandungan:
Android 6.0 Marshmallow secara teknis adalah sepanjang minggu seminggu. (Kurang begitu jika anda menghitung tarikh penurunan kod, saya rasa.) Tetapi ia berada dalam status pratonton pemaju selama berbulan-bulan, dan pemaju dapat menghantar aplikasi yang menggunakan tahap API baru (dan oleh itu keizinan baru) untuk sedikit sekarang.
Jadi, jika anda menjalankan Marshmallow pada telefon Nexus (dan anda sepatutnya menjadi), anda akan mula menjalankan skim keizinan baru sebagai aplikasi dikemas kini. Salah satu contoh pertama saya ialah Twitter. (Dan kudos ke Twitter kerana menjadi salah satu yang awal.)
Bagaimana Twitter melakukannya …
Pertimbangkan tangkapan skrin ini, yang akan anda lihat apabila anda membuka Twitter buat kali pertama. Twitter ingin menggunakan lokasi semasa saya untuk menyesuaikan pengalaman saya. Ok kenapa tidak. Saya suka lokasi saya, dan saya suka pengalaman yang lebih baik. Saya akan membenarkannya.
Kemudian izin baru di Marshmallow akan masuk. Adakah saya ingin memberikan akses Twitter kepada perkara yang saya katakan saya mahu memberikannya? Ya saya. Itulah sebabnya saya memukul OK kali pertama.
Perkara itu, kotak dialog Twitter pertama sebenarnya tidak mempunyai kaitan dengan sebenarnya membenarkan kebenaran untuk lokasi saya. Ia hanya mencetuskan dialog sistem. Tetapi ia dipanggil sedikit lebih mesra daripada dialog kebenaran Android.
Pertimbangkan:
Twitter: "Twitter ingin menggunakan lokasi semasa anda untuk menyesuaikan pengalaman anda."
Android: "Benarkan Twitter untuk mengakses lokasi peranti ini?"
Dua soalan seperti kebenaran yang meminta soalan yang sama - tetapi hanya satu yang benar-benar membenarkan apa-apa.
Yang pertama memberitahu saya apa yang ia mahu lakukan - dan yang lebih penting lagi mengapa ia mahu melakukannya. Yang terakhir ini adalah jenis yang sama dengan kebenaran yang mudah tetapi tidak jelas-kita bercakap dari Android. Dan jenis yang perlu, saya rasa. Tetapi di situlah aplikasi meminta kebenaran - kotak dialog pertama dari Twitter - menjadi lebih penting lagi. Daripada memberi saya pilihan "Tidak membenarkan / OK", Twitter harus mengambil satu lagi ayat untuk memberitahu saya apa yang akan datang. "Twitter ingin menggunakan lokasi semasa anda untuk menyesuaikan pengalaman anda. Jika anda sejuk dengan itu, klik 'izinkan' pada skrin seterusnya." Atau sesuatu untuk itu. Kemudian anda mempunyai konteks yang lebih baik untuk permintaan kebenaran, dan pengguna bersedia untuk apa yang akan datang - dan itu tidak begitu berulang.
Itulah dua perhentian keras pada pengguna, dan itu sukar. Tetapi ia adalah satu-satunya titik kesakitan. Dan ia berbaloi, saya fikir, untuk memberi kita sedikit perhatian kepada aplikasi kebenaran berbahaya (itulah istilah teknikal) yang diperlukan. Sebaliknya, ikonografi dan konteks mungkin bermakna anda tidak perlu memberitahu saya bahawa anda akan meminta izin untuk kamera, kerana saya hanya mengetuk ikon kamera.
Inilah cara Google meletakkannya:
Dalam beberapa keadaan, anda mungkin mahu membantu pengguna memahami mengapa aplikasi anda memerlukan kebenaran. Sebagai contoh, jika pengguna melancarkan aplikasi fotografi, pengguna mungkin tidak akan terkejut bahawa aplikasi itu meminta izin untuk menggunakan kamera, tetapi pengguna mungkin tidak memahami mengapa aplikasi itu mahu akses kepada lokasi atau kenalan pengguna. Sebelum anda meminta kebenaran, anda harus mempertimbangkan memberikan penjelasan kepada pengguna. Perlu diingat bahawa anda tidak mahu mengatasi pengguna dengan penjelasan; jika anda memberikan terlalu banyak penjelasan, pengguna mungkin mendapati aplikasi mengecewakan dan mengeluarkannya.
Bagaimana Facebook melakukannya …
Mari lihat bagaimana Facebook - aplikasi lain yang telah dikemas kini untuk kebenaran baru.
Ahhhh, permintaan kebenaran ganda yang jarang berlaku. Inilah yang anda dapat dari Facebook apabila anda memukul ikon kamera untuk kemas kini status baru. OK, saya menipu sedikit - anda mendapat pemberitahuan berganda ini jika anda menafikan kebenaran storan buat kali pertama, apabila cuba memasangkan imej kecil apa yang ada di galeri anda. Tetapi ia dilakukan dengan baik. Facebook memberitahu anda apa yang ia mahu, dan mengapa ia mahu.
Dan kemudian anda dapat mengulangi diri anda lagi. Ya, saya ingin Facebook mempunyai izin untuk meminta telefon saya melakukan sesuatu.
Tetapi, sekali lagi, ia adalah yang pertama "Izinkan" butang saya mempunyai masalah dengan. Ia sebenarnya tidak membenarkan apa-apa selain daripada dialog sistem untuk meminta anda perkara yang sama sekali lagi. Dan anda hanya perlu melakukannya sekali sahaja.
Bagaimana Hangouts melakukannya …
Berikut adalah satu lagi contoh, kali ini di Google Hangouts. Memukul ikon kamera atau galeri dalam perbualan hanya akan mencetuskan dialog sistem. Tidak ada permintaan yang berlebihan di hadapan yang sebenarnya yang memberikan kebenaran. (Dan, sekali lagi, saya akan berhujah bahawa itu adalah baik-baik saja. Apabila saya mengetuk ikon kamera, mendapat permintaan untuk kebenaran kamera sudah ada konteks.)
Di mana saya fikir Google benar-benar melakukan kerja yang baik adalah dengan penjelasan pertama ini untuk mendapatkan kebenaran kenalan, yang perlu dilakukan untuk aplikasinya sama sekali. Pertama, ia mengatakan mengapa ia memerlukan akses kepada kenalan anda. Memukul "Seterusnya" kemudian membentangkan permintaan kebenaran sistem. Itu mengatakan "Seterusnya" dan tidak "Benarkan" adalah apa yang benar-benar penting di sana. Satu mengalir ke yang lain. Anda jelas tidak mahu melakukan setiap izin meminta skrin penuh seperti ini. Tetapi untuk sesuatu yang penting untuk dibentangkan pada mulanya, ia sangat baik dilakukan.
Tukar kepada keizinan runtime adalah yang besar, dan penting. Tetapi mereka mungkin satu proses pembelajaran yang kecil.
Saya diakui membuat sedikit gunung dari sebuah molehill di sini. Anda hanya perlu melayari ini buat kali pertama untuk aplikasi. Tetapi keizinan adalah penting. (Dan saya fikir suis ke kebenaran runtime adalah yang baik.) Penjelasan mengenai kebenaran adalah baik. Malah hentian dua kali boleh diabaikan dengan nama membuat anda kelihatan sebelum melompat. Jelaskan kebenaran kepada pengguna, jangan buat mereka fikir mereka telah membenarkannya sekali sahaja, hanya untuk membuat mereka benar-benar melakukannya satu langkah kemudian dalam permintaan sistem. Saya tidak suka mengulangi diri saya sendiri.
Dan seperti biasa, anda bebas membatalkan kebenaran apabila anda mahu. Jika anda berbuat demikian, aplikasi akan meminta kebenaran anda sekali lagi apabila anda cuba menggunakan fungsi tersebut.
Perkara adalah, kita sebagai pengguna mempunyai sesuatu yang baru untuk digunakan di sini. Tetapi begitu juga pemaju aplikasi.
Kemas kini: Untuk mendengar lebih mendalam tentang semua ini - dan, dengan cara ini, pengesahan bahawa cara Facebook dan Twitter melakukan perkara-perkara tidak cukup ideal - semak Episod 33 pemaju Android Podcast Backstage.