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

Рекламные карточки-уведомления имеют следующие характеристики внешнего вида:
- Развернуто по умолчанию
- Неразборный
Чтобы ваше уведомление считалось актуальным, оно должно соответствовать следующим требованиям:
- Должен быть Standard/No Style,
BigTextStyle
,CallStyle
илиProgressStyle
. - Необходимо запросить следующее разрешение, не относящееся к времени выполнения, в манифесте Android
android.permission.POST_PROMOTED_NOTIFICATIONS
. - Необходимо запросить повышение с помощью
EXTRA_REQUEST_PROMOTED_ONGOING
илиNotificationCompat.Builder#requestPromotedOngoing
. - Должно быть
ongoing
(установитеFLAG_ONGOING_EVENT
). - Необходимо иметь установленный
contentTitle
. - НЕ должно быть установлено никаких
customContentView
(никакихRemoteViews
). - НЕ должно быть сводкой группы, использующей
setGroupSummar
y . - Канал уведомлений НЕ должен иметь
IMPORTANCE_MIN
.
Характеристики продвижения
Следующие API помогут вам определить, будет ли система продвигать ваше уведомление:
-
Notification.FLAG_PROMOTED_ONGOING
указывает, продвигается ли уведомление. -
Notification.hasPromotableCharacteristics()
проверяет, может ли система продвигать уведомление. Этот метод не учитывает, отключил ли пользователь Live Updates для приложения в настройках. -
NotificationManager.canPostPromotedNotifications()
проверяет, может ли ваше приложение публиковать продвигаемое уведомление, например, включил или отключил ли пользователь его в настройках. -
Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS
— это намеренное действие, которое позволяет приложениям отправлять пользователей в «Настройки» для включения этой функции.
Критерии использования
Используйте функцию «Обновления в реальном времени» для текущих, инициированных пользователем и срочных действий.
Непрерывный
Live Update должно представлять собой активное действие, с четким началом и концом. Если действие произошло в прошлом, не используйте Live Update. Вместо этого используйте стандартное уведомление. Это также верно для событий, которые еще не начались, хотя события, которые вот-вот начнутся, могут использовать Live Update.
Live Updates представляют собой текущие действия. Не используйте Live Updates для предоставления ускоренного доступа к функциональным возможностям приложения. Если вы хотите сделать это, используйте виджет приложения или настраиваемую плитку быстрых настроек.
- Соответствующие варианты использования: активная навигация, текущие телефонные звонки, активное отслеживание совместных поездок и активное отслеживание доставки еды.
- Ненадлежащее использование: реклама, рекламные акции, сообщения чата, оповещения, предстоящие события календаря и быстрый доступ к функциям приложения.
Инициировано пользователем
Большинство обновлений Live Updates должны представлять действия, которые явно инициируются пользователем, например, начало тренировки, запуск навигации или вызов попутчика. Не показывайте в обновлении Live Update внешнюю информацию, например, об окружении пользователя, интересах или предстоящих событиях. Не позволяйте действиям, инициированным другими сторонами, генерировать обновления Live Updates.
Иногда пользователь может выполнить действие, которое инициирует активность на некоторое время в будущем. Например, если пользователь покупает билеты на самолет или концерт, регистрируется на турнир или иным образом указывает на свое будущее посещение чувствительного ко времени мероприятия. В этих случаях может быть целесообразно автоматически показывать Live Update, когда начинается запланированное событие. Однако приложения должны настраивать свои триггеры так, чтобы они появлялись только тогда, когда активность неизбежна. Если пользователь явно указывает, что он хочет начать отслеживать фоновое событие, например, спортивную игру, вы можете начать публиковать Live Updates для этого события. Однако вы также должны включить действие Unpin в связанное уведомление.
Время чувствительно
Показывать Live Update только в том случае, если это требует внимания пользователя на протяжении всей активности. Ключевым вариантом использования Live Update является мониторинг, когда пользователь получает значительную выгоду от взгляда на Live Update, чтобы следить за развитием состояния активности.
Live Update часто подходит для действий, которые переходят между Live Updates и обычными уведомлениями. Например, показ уведомления о посадочном талоне уместен за много часов до полета пользователя, но уведомление должно стать Live Update только тогда, когда у пользователя есть насущная необходимость, например, когда он прибыл в аэропорт или на место проведения или как только началась посадка. Напротив, Live Update не подходит для отслеживания посылки, поскольку пользователю не нужно постоянно следить за этим.
Статусные чипы
Статусные чипы позволяют пользователям отслеживать обновления в реальном времени, когда уведомление не отображается. Используйте setShortCriticalText
или setWhen
для передачи важной информации о состоянии относительно уведомления, ориентированного на прогресс.

Notification.Builder#setSmallIcon
. 
Notification.Builder#setShortCriticalText
для отображения абсолютного времени. 
Notification.Builder#setShortCriticalText
для передачи важной информации.Когда время
Время запускает обратный отсчет срока действия уведомления, если только уведомление не будет отклонено или обновлено.
- Время наступит не ранее, чем через 2 минуты: если текущее время 10:05 утра, а время установлено на 10:10 утра, то чип покажет «5 минут».
- Если время наступило более чем на 1 минуту назад, уведомление не отображается.
- Используйте
setShowWhen
вFALSE
если вы не хотите, чтобы уведомление, отображаемое в тени, имело время.
Внешний вид чипа статуса
Чип статуса всегда включает иконку и опционально включает текст. Максимальная ширина чипа составляет 96dp. Показывать текст в зависимости от следующих критериев:
- Если менее 7 символов, показать весь текст.
- Если отображается менее половины текста, отображайте только значок.
- Если отображается больше половины текста, покажите как можно больше текста.
Увольнение
Пользователи могут контролировать видимость уведомлений в области уведомлений. Публикация нежелательных Live Updates может привести к тому, что пользователи отзовут разрешение на публикацию у приложения.
Чтобы пользователи не смогли полностью отключить Live Updates, избегайте публикации обновлений, которые пользователи могут проигнорировать. Не публикуйте повторно Live Updates, которые пользователь проигнорировал. Используйте setDeleteIntent
для обнаружения проигнорированных обновлений.