Гайдлайн по iOS на русском. Часть 8 — Архитектура: Запрос разрешения

Ruslan Sharipov
7 min readDec 19, 2021

--

Привет. Меня зовут Руслан. Я UX/UI дизайнер в Siemens. У меня есть ютуб-канал, на котором записано несколько плейлистов по основам UX/UI дизайна (лайк, подписка и тд). В этой серии постов я делюсь вольным переводом iOS гайдлайна на русский язык. Как и с переводом Material Design все части будут объеденены в 1 notion документ. Оригинальный источник этой части: здесь.

Конфиденциальность пользователей имеет первостепенное значение. Чтобы помочь людям доверять вашему приложению, крайне важно быть прозрачным в отношении данных и ресурсов, связанных с конфиденциальностью, которые вам требуются, и того, как вы их используете. Например, вы должны запросить разрешение на доступ:

  • Персональных данных, включая местоположение, состояние здоровья, финансовую, контактную и другую личную информацию
  • Пользовательский контент, такой как электронные письма, сообщения, данные календаря, контакты, информация об игровом процессе, активность Apple Music, данные домашнего доступа, а также аудио-, видео- и фотоконтент
  • Защищенные ресурсы, такие как периферийные устройства Bluetooth, функции домашней автоматизации, подключения Wi-Fi и локальные сети
  • Возможности устройства, такие как камера и микрофон

Когда вы публикуете новое приложение или его обновление, вы должны предоставить подробную информацию о своей политике конфиденциальности и данных, относящихся к конфиденциальности, которые вы собираете, чтобы магазин приложений мог отобразить эту информацию на странице вашего продукта. (Вы можете управлять этой информацией в любое время через App Store Connect.) Люди используют сведения о конфиденциальности на странице продукта, чтобы принять решение, прежде чем загружать ваше приложение.

Страница в магазине помогает пользователям понять правила конфиденциальности до загрузки.

Запрашивая разрешения на доступ

Прежде чем вы сможете использовать пользовательские данные или защищенные ресурсы, вы должны получить на это разрешение от пользователей. Ниже рекомендации.

Запрашивай личные данные только тогда, когда это необходимо твоему приложению. Естественно люди подозрительно относятся к запросу на получение личной информации, если в этом нет явной необходимости. Убедись, что ты запрашиваешь разрешение только тогда, когда люди используют функции, которые явно нуждаются в личных данных. Например, приложение может запрашивать доступ к текущему местоположению только при активации функции отслеживания местоположения.

Запрашивай разрешение при запуске, только когда это необходимо для работы вашего приложения. Пользователям не помешает этот запрос, если очевидно, что приложение зависит от их личной информации. Если же вы хотите отслеживать данные, как только люди запустили приложение, вы должны отобразить системное предупреждение, прежде чем собирать какие-либо данные.

Система iOS имеет стандартное оповещение ти alert, которое позволяет людям прочитать запрос на доступ к личной информации или защищенным ресурсам. По сути вы даете описание того, почему вашему приложению нужны эти элементы, а система отображает это описание в предупреждении. Люди также могут просмотреть описание — и переопределить свой выбор — в меню Настройки > Конфиденциальность.

Не забывай объяснять, почему твоему приложению нужна информация. Это просто: показывай текст о запросе разрешения с объяснением или даже примером. Старайся написать короткий, конкретный текст и будь вежлив, чтобы люди не чувствовали давления. Нет необходимости дублировать в тексте название приложения — система уже идентифицирует твое приложение.

Примеры для текстовых формулировок

Ниже примеры таких оповещений:

Использование кнопки “Местоположение” или “Локации”

В iOS 15 и более поздних версиях Core Location имеет в наборе кнопку, которая дает возможность пользователям дать приложению временную информацию к местоположению в тот момент, когда это необходимо для выполнения задачи. Хотя внешний вид кнопки может отличаться в соответствии с UI вашего приложения, она всегда передает конкретное действие: использование текущего местоположения.

Кнопка “Местоположение” временно авторизирует ваше приложение, чтобы отправить запрос местоположения устройства юзера. Если у вашего приложения нет авторизации, нажатие кнопки “Местоположение” имеет тот же эффект, что и при выборе пользователем опции “Однократно” в стандартном Alert. Если люди ранее выбирали “При использовании”, нажатие кнопки “Местоположение” не меняет статус вашего приложения.

Когда люди в первый раз открывают ваше приложение и нажимают кнопку определения местоположения, система отображает стандартное предупреждение (alert). Предупреждение помогает людям понять, как использование кнопки ограничивает доступ вашего приложения к их местоположению, и напоминает им об индикаторе местоположения, который появляется при запуске общего доступа.

После того, как люди подтвердят действие, они просто нажимают кнопку “Местоположение”, когда хотят дать вашему приложению разрешение на доступ к местоположению. Срок действия каждой одноразовой авторизации истекает, когда пользователи перестают использовать приложение, но им не нужно подтверждать что-либо повторно.

Рассмотрите возможность использования кнопки “Местоположение”, чтобы дать людям простой способ поделиться своим местоположением для определенных функций приложения. Например, ваше приложение может помочь людям привязать свое местоположение к сообщению или посту, найти магазин или идентифицировать здание, растение или животное, которые они увидели. Если вы знаете, что люди часто дают вашему приложению разрешение “Однокртано”, подумайте об использовании кнопки “Местоположение”, чтобы помочь им поделиться своим местоположением без необходимости взаимодействовать с предупреждением.

Рассмотрите возможность кастомизации кнопки “Местоположение” для согласования с вашим UI. В частности, вы можете:

  • Подберите заголовок, который лучше всего подходит для функции, например “Текущее местоположение” или “Поделиться своим текущим местоположением” и т.д
  • Выберите стиль отметки местоположения
  • Выберите цвет фона и цвет заголовка и символа
  • Отрегулируйте радиус угла кнопки

Чтобы помочь людям лучше распознавать кнопку, другие визуальные атрибуты не настраиваются. Кнопка определения местоположения должна оставаться разборчивой, во избежании как низкоконтрастных цветовых сочетаний так и при слишком большой прозрачности. В дополнение к устранению таких проблем вы несете ответственность за то, чтобы текст помещался в кнопку — например, текст кнопки должен помещаться при всех размерах текста если включены специальные возможности, а также при переводе на другие языки.

Использование микрофона с Shazam Kit

ShazamKit позволяет распознавать звук, сопоставляя образец звука с каталогом ShazamKit или пользовательским каталогом аудио. В iOS 15 и более поздних версиях приложения могут использовать набор Shazam для включения таких функций, как:

  • Улучшение работы приложения с графикой, соответствующей жанру воспроизводимой в данный момент музыки
  • Обеспечение доступности медиаконтента для людей с нарушениями слуха путем предоставления субтитров или языка жестов, который синхронизируется со звуком
  • Синхронизация в приложении с виртуальным контентом в таких контекстах, как онлайн-обучение и розничная торговля

Если вам нужен микрофон устройства для распознавания вашим приложением, вы должны запросить доступ к нему. Как и во всех типах запросов на получение разрешений, важно помочь людям понять, почему вы запрашиваете доступ.

После получения разрешения на доступ к микрофону для функций, для которых включен ShazamKit, следуйте рекомендациям ниже.

Останавливайте запись как можно скорее. Когда люди разрешают вашему приложению записывать звук для распознавания, они не ожидают, что микрофон останется включенным. Чтобы сохранить конфиденциальность, записывайте только столько времени, сколько потребуется для получения нужного вам образца звука.

Позвольте людям подписаться на сохранение распознанных песен в своей библиотеке iCloud. Если ваше приложение может сохранять песни, которые оно распознало в iCloud, то дайте людям возможность сначала одобрить это действие. Несмотря на то, что и элемент управления распознаванием музыки, и приложение Shazam — это и есть источник распознанной песни, люди ценят возможность контролировать, какие приложения могут сохранять контент, а какие нет.

Отображение кастомных сообщений перед стандартным предупреждением (Alert)

В идеале люди уже знают, почему вы запрашиваете у них разрешение, исходя из контекста, но если необходимо предоставить дополнительные сведения, вы можете отобразить кастомное (свое собственное) сообщение до появления Alert. Ниже рекомендация.

Дайте понять, что юзеру нужно только открыть системный Alert и это единственное действие, которое юзеры могут предпринять на кастомном экране. Потому что люди могут интерпретировать кастомное сообщение неправильно, поэтому крайне важно позволить им быстро закрыть его и просмотреть системное предупреждение. Если вы все же показываете кастомный экран, который предшествует запросу на разрешение, то он должен предлагать только одно действие, которое должно отображать системное предупреждение. Используйте слово “Продолжить”, чтобы озаглавить действие; не используйте “Разрешить” или другие термины, которые могут запутать людей и заставить их думать, что они дают свое разрешение или выполняют другие действия на кастомном экране.

Объяснение запроса на отслеживание

Трекинг данных — это деликатный вопрос. В некоторых случаях может иметь смысл отображать кастомные экраны, в которых четко прописываются преимущества этого действия.

Никогда не показывайте сперва системное оповещение а затем кастомное, потому что это может сбить с толку или ввести людей в заблуждение. Люди иногда быстро нажимают на кнопки, чтобы отклонить предупреждения и не читают их. Кастомный экран с сообщением, который использует в своих корыстных целях подобное поведение приведет к отклонению приложения в App Store.

Существует несколько запрещенных самим Apple в кастомных экранах.

Стимулирование

Не предлагайте какой-либо стимул для согласия на запрос. Вы не можете предлагать людям компенсацию за предоставление данных, и вы не можете отказывать в функциональности или контенте или делать ваше приложение непригодным для использования, пока люди не разрешат вам отслеживать их данные.

Иммитация запроса

Не выводите кастомное сообщение, которое отражает функциональность системного. В частности, не пишите на кнопке “Разрешить” или аналогичные термины, потому что люди ничего не разрешают на экране кастомного оповещения.

Предварительный показ Alert.

Не показывайте изображение стандартного предупреждения и не изменяйте его каким-либо образом.

“Инструкция” к Alert

Не рисуйте визуальных подсказок и инструкций по нажатию “Разрешить”, которые привлекут внимание людей к выгодной для вас кнопке в системном предупреждении.

--

--