Уведомления

Документы разработчика

Уведомление пользователей

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

Новое в Jelly Bean

В Jelly Bean, уведомлениях получили свои наиболее важные структурные и функциональные обновления с начала Android.

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

Анатомия уведомления

Базовый макет

Как минимум, все уведомления состоять из базового макета, включая:

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

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

Базовый макет уведомления

Расширенные макеты

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

Действия

Начиная с Jelly Bean, Android поддерживает дополнительные действия, которые отображаются в нижней части уведомления. С действиями, пользователи могут обрабатывать наиболее распространенные задачи для конкретного уведомления изнутри уведомления, не открывая исходное приложение. Это ускоряет взаимодействие и, в сочетании с "Проведите пальцем, чтобы убрать", помогает пользователям оптимизировать их опыт в сортировке уведомлений.

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

Хорошими кандидатами для действий с уведомлениями являются:

  • важные, частые и типичные для данного типа содержимого, которые вы отображаете
  • срочные
  • не перекрывающиеся с соседними действиями

Избегайте действий, которые:

  • двусмысленные
  • дублирует действие уведомления по умолчанию (например, "Читать" или "Открыть")
Уведомление напоминаний Календаря с двумя действиями

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

Руководство по проектированию

Сделайте личным

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

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

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

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

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

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

Приоритет Использование
MAX Используйте для критических и неотложных уведомлений, предупреждает пользователя о состоянии, которое критично по времени или должно быть решено прежде, чем они могут продолжить текущую задачу.
HIGH Используйте уведомления с высоким приоритетом в первую очередь для важной связи, такой как сообщения или события чата с содержанием, которое особенно интересно для пользователя.
DEFAULT Приоритет по умолчанию. Держите все уведомления, которые не попадают ни в одну из других категорий на этом приоритетном уровне.
LOW Используйте для уведомлений, о которых вы хотите уведомить пользователя, но это не срочно.
MIN Контекстная/справочная информация (например, информация о погоде, контекстная информация о местоположении). Уведомления с минимальным приоритетом не показываются в строке состояния. Пользователь может обнаружить их только, когда он расширяет лоток уведомлений.

Накапливайте свои уведомления

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

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

Неверно:

Верно:

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

Сделайте уведомления необязательными

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

Используйте различные иконки

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

Верно

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

Верно

Используйте надлежащий стиль иконок уведомления для небольших иконок, и Holo Dark стиль иконок панели действий для ваших иконок действий.

Верно

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

Неверно

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

Мигайте соответствующим светодиодом уведомлений

Многие Android устройства содержат крошечные лампы, под названием индикатор уведомлений ( LED, ), который используется для того, чтобы держать пользователя в курсе событий, в то время как экран выключен. Уведомления с уровнем приоритета MAX (максимальный), HIGH (высокий), или DEFAULT (по умолчанию) должны заставлять светодиод светиться, а с более низким приоритетом (LOW(низкий) и MIN(минимальный)) не должны.

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

Построение уведомлений, за которыми наблюдают пользователи

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

Когда отображать уведомления

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

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

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

 

Когда не отображать уведомления

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

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

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

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

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

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

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

Взаимодействие с уведомлениями

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

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

Постоянные уведомления

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

Диалоги и тосты для обратной связи, но не для уведомлений

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