Logo uk.androidermagazine.com
Logo uk.androidermagazine.com

Весело з дозволами: чому зміна в Android 6.0 може змусити вас повторитись

Зміст:

Anonim

Android 6.0 Marshmallow технічно вже тиждень. (Менше, якщо ви рахуєте дату падіння коду, я думаю, що.) Але він перебуває у статусі попереднього перегляду розробника місяцями, і розробники змогли подавати додатки, які використовують новий рівень API (і, отже, нові дозволи) для трохи поки що.

Отже, якщо ви використовуєте Marshmallow на телефоні Nexus (і ви насправді повинні бути таким чином), ви почнете запускати нову схему дозволів у міру оновлення програм. Один з моїх перших випадків цього був у Twitter. (І кудо у Twitter, що він один із ранніх.)

Як це робить Twitter …

Розгляньте цей скріншот, який ви побачите, коли відкриєте Twitter вперше. Twitter хотів би використовувати моє поточне місце розташування, щоб налаштувати мій досвід. Гаразд, чому б ні. Мені подобається моє місцезнаходження, і мені подобаються кращі враження. Я дозволю.

Тоді починається новий дозвіл на Marshmallow. Чи хочу я надати Твіттеру доступ до тієї речі, про яку я сказав, що хочу надати їй доступ? Так. Ось чому я вперше потрапив у гаразд.

Справа в тому, що перше діалогове вікно Twitter насправді не має нічого спільного з тим, щоб фактично дозволяти дозвіл на моє місцезнаходження. Це просто запускає діалогове вікно системи. Але це сформульовано трохи привітніше, ніж діалог дозволів Android.

Поміркуйте:

Twitter: "Twitter хотів би використати ваше поточне місцезнаходження, щоб налаштувати ваш досвід".

Android: "Дозволити Twitter отримати доступ до цього пристрою?"

Два питання, подібні до дозволу, які задають одне і те ж питання, але лише одне насправді дозволяє все.

Колишній каже мені, що він хоче робити - і що ще важливіше, чому він це хоче зробити. Останній - це здебільшого той самий простий, але розпливчастий дозвіл, який ми говоримо з ненависті від Android. І це, мабуть, має бути. Але саме тут додаток, що вимагає дозволу - це перше діалогове вікно з Twitter - стає ще важливішим. Замість того, щоб негайно дати мені параметр "Не дозволяти / ОК", Twitter повинен прийняти ще одне речення, щоб сказати, що далі. "Twitter хотів би користуватися вашим поточним місцем розташування, щоб налаштувати ваш досвід. Якщо у вас це здорово, натисніть" дозволити "на наступному екрані." Або щось для цього. Тоді ви маєте кращий контекст для запиту на дозвіл, і користувач готовий до того, що з’являється - і це не так повторюється.

Це два важких зупинки для користувача, і це важко. Але це одноразова больова точка. І, на мою думку, варто того, щоб ми приділили трохи більше уваги небезпечним (це технічний термін) дозволам, які можуть вимагати програми. З іншого боку, іконографія та контекст можуть означати, що вам не потрібно говорити мені, що ви збираєтесь просити дозволу на камеру, оскільки я просто натиснув піктограму камери.

Ось як Google це ставить:

За деяких обставин ви можете допомогти користувачеві зрозуміти, чому вашому додатку потрібен дозвіл. Наприклад, якщо користувач запускає додаток для фотозйомки, користувач, ймовірно, не буде здивований, що програма запитує дозвіл на використання камери, але користувач може не зрозуміти, чому програма хоче отримати доступ до місцезнаходження або контактів користувача. Перш ніж подати запит на дозвіл, слід розглянути можливість надання пояснення користувачеві. Майте на увазі, що ви не хочете переповнювати користувача поясненнями; якщо ви надаєте занадто багато пояснень, користувач може виявити, що додаток засмучує та видалить його.

Як це робить Facebook …

Давайте подивимось, як Facebook - ще одна програма, яка вже оновлена ​​для нових дозволів.

Ааааа, рідкісний подвійний запит на дозвіл. Це те, що ви отримуєте від Facebook, коли натискаєте на піктограму камери для нового оновлення статусу. Гаразд, я трохи обдурив - ви отримуєте це подвійне повідомлення, якщо ви вперше відмовите в дозволі на зберігання, коли він намагається заповнити ескізи того, що є у вашій галереї. Але це гарно зроблено. Facebook каже вам, що він хоче, і чому він цього хоче.

І тоді ти знову повторишся. Так, я хотів би, щоб у Facebook був дозвіл попросити телефон зробити щось.

Але, знову ж таки, саме ця перша кнопка "Дозволити" у мене проблема. Він насправді не дозволяє нічого, окрім системного діалогу, знову запитати у вас те саме. І робити це потрібно лише один раз.

Як це відбувається в Hangouts …

Ось ще один приклад, цього разу в Google Hangouts. Натискання піктограм камери чи галереї під час розмови спричинить лише діалогове вікно системи. Немає зайвого запиту перед фактичним, який надає дозволи. (І, знову ж таки, я стверджую, що це нормально. Коли я торкаюсь піктограми камери, отримання запиту на дозвіл камери вже має контекст.)

Там, де я думаю, Google справді зробив хорошу роботу, був у цього першого роз'яснювача для отримання дозволу на контакти, яке виправлення необхідне, щоб програма взагалі працювала. По-перше, він говорить, чому йому потрібен доступ до ваших контактів. Натискаючи "Далі", тоді подається запит на отримання дозволу на систему. Те, що там написано "Далі", а не "Дозволити", - це те, що там дійсно важливо. Одне перетікає в інше. Ви, очевидно, не хочете робити кожен запит на дозвіл на весь екран, як це. Але для того, щоб щось досить важливе було представлено під час першого запуску, це дуже красиво зроблено.

Перехід на дозволи на виконання є великим і важливим. Але вони можуть бути невеликим навчальним процесом.

Я, звичайно, роблю трохи гори з молі. Вам потрібно лише пройти це через перший раз для програми. Але дозволи мають важливе значення. (Я думаю, що перехід на дозволи на виконання часу є хорошим.) Пояснення дозволів добре. Навіть подвійну зупинку можна не помітити в ім'я, щоб змусити вас виглядати, перш ніж стрибати. Поясніть дозвіл користувачеві, просто не змушуйте їх думати, що вони вже це дозволили один раз, лише змусити їх насправді зробити крок пізніше в системному запиті. Мені просто не подобається повторювати себе.

І як завжди, ви можете відкликати дозволи, коли захочете. Якщо ви зробите це, додаток знову запитає вашого дозволу наступного разу, коли ви спробуєте використовувати цю функціональність.

Справа в тому, що ми, як користувачі, мають щось нове, щоб звикнути тут. Але це теж роблять розробники додатків.

Оновлення: для більш технічного прослуховування всього цього - і, до речі, підтвердження того, що те, як Facebook і Twitter роблять справи, не зовсім ідеально - ознайомтеся з епізодом 33 подкасту "Android Developers Backstage".