Гайдлайн по iOS на русском. Часть 30 — Системные возможности: Уведомления

Ruslan Sharipov
9 min readMay 25, 2022

--

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

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

Люди ценят получение уведомления о том, что их волнует, но они не всегда ценят, когда их прерывают. Чтобы помочь людям контролировать этот опыт, вам необходимо получить разрешение перед отправкой любых уведомлений; система позволяет людям изменять это решение — и настраивать стили предупреждений, стиль предварительного просмотра и взаимодействия Siri — в пункте Настройки > Уведомления. Люди также могут отключить все уведомления (за исключением государственных в некоторых регионах разных стран) в Настройках > Фокусирование.

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

Прежде чем вы сможете отправлять уведомления людям, вам необходимо получить их разрешение. У системы есть стандартное оповещение, в котором отображается запрос вместе с кастомным описанием о том какие уведомления может отправлять ваше приложение. Пользователи также могут просмотреть предоставленное вами описание и обновить свой выбор в разделе “Настройки” > “Уведомления”.

Напишите текст, который кратко описывает уведомления, которые может отправлять ваше приложение. У стандартного предупреждения есть текст (называемый строкой назначения или строкой описания использования) между названием вашего приложения и перед кнопками, которые пользователи используют для согласия или отказа запроса. Стремитесь к короткому, полному предложению, которое было бы простым, конкретным и легким для понимания. Избегайте пассивного залога и ставьте точку в конце.

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

Помощь в управлении уведомлениями

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

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

📌 Несмотря на то, что Фокусировка может задержать доставку уведомления, само уведомление становится доступным для прочтения, как только оно поступит.

Чтобы какое-либо поведение работало, сначала определите типы уведомлений, которые может отправлять ваше приложение. Если ваше приложение поддерживает какой-либо тип связи — например, телефонные звонки и сообщения, — вы используете уведомления о связи; для всех других типов задач вы используете наоборот уведомления не связанные с каким-либо типом связи. Чтобы работали уведомления о связи, вы используете SiriKit, что означает, что пользователи могут использовать Siri для настройки поведения уведомлений.

Вы указываете уровень прерывания для каждого уведомления в вашем приложении, которое не связано с каким-либо типом связи. Эти уровни вшиты системно. Система использует этот уровень для определения времени доставки предупреждений; когда приходит уведомление о каком-либо типе связи, система использует данные отправителя для определения времени доставки предупреждения.

Система определяет четыре уровня прерывания для уведомлений, которые не связаны с каким-либо типом связи:

  • Пассивный. Информацию, которую люди могут изучать на досуге, например, рекомендации по ресторанам. В отличие от остальных, пассивные уведомления всегда доставляются без активации экрана и звука, они просто добавляются в список всех пушей в Центре уведомлений.
  • Активный (по умолчанию). Информация, которую люди будут рады узнать, когда она поступит, например, голы их любимой спортивной команды. Это самый распространённый вид пушей, доступный разработчикам по умолчанию.
  • Чувствительный ко времени (срочные/неотложные). Информация, которая непосредственно влияет на пользователя и требует его немедленного внимания, например, проблема безопасности аккаунта или доставка посылки.
  • Критический. Срочная информация о личном здоровье и общественной безопасности, которая непосредственно влияет на пользователя и требует его немедленного внимания. Критические уведомления крайне редки и обычно поступают от правительственных и государственных учреждений или приложений здравоохранения. Вы должны получить право на использование критического уровня прерывания от Apple.

Оповещения об уведомлениях на каждом уровне прерывания, определяемом системой, могут вести себя следующим образом:

📌 Поскольку критическое уведомление может переопределить переключатель “Звонок/беззвучный” и нарушить запланированную доставку и фокусировку, вы должны получить право на его отправку.

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

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

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

Проектирование отличного опыта уведомлений

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

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

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

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

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

Предоставьте универсальный текст описания, когда предварительный просмотр уведомлений скрыт. В настройках пользователи могут скрыть предварительный просмотр уведомлений для всех приложений. В этой ситуации система по умолчанию отобразить только иконку вашего приложения и уведомление с заголовком. Чтобы дать людям достаточный контекст и пробудить желание просмотреть полное уведомление, напишите текст, который кратко описывает содержимое уведомления, не описывая слишком много деталей, например “Запрос на добавление в друзья”, “Новый комментарий”, “Напоминание” или “Доставка”.

Не указывайте название или иконку вашего приложения. Система автоматически отображает большую версию иконки вашего приложения в начале каждого уведомления; в уведомлении о связи система отобразит изображение контакта отправителя или аватар, помеченный маленькой версией вашей иконки.

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

Предоставление действий с уведомлением

Уведомление может иметь кастомизируемое подробное вью, содержащее до четырех кнопок, которые люди используют для выполнения действий, не открывая ваше приложение. Например, уведомление о событии календаря имеет кнопку “Повтора/отсрочки”, которая откладывает оповещение о событии на несколько минут.

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

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

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

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

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

Значки (бэйджи) уведомлений

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

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

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

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

Отправка Маркетинговых Уведомлений

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

📌 Никогда не назначайте маркетинговое уведомление как чувствительное ко времени.

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

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

--

--