El sistema promociona las notificaciones de Actualización en vivo. Las notificaciones promocionadas aparecen de forma más destacada en las plataformas del sistema, incluso en la parte superior del panel lateral de notificaciones y la pantalla de bloqueo, y como un chip en la barra de estado.

Las tarjetas de notificación promocionadas tienen las siguientes características de apariencia:
- Se expande de forma predeterminada
- No contraíble
Tu notificación debe cumplir con los siguientes requisitos para calificar como actualización en vivo:
- Debe ser Estándar/Sin estilo,
BigTextStyle
,CallStyle
oProgressStyle
. - Debe solicitar el siguiente permiso que no es de tiempo de ejecución en el manifiesto de Android:
android.permission.POST_PROMOTED_NOTIFICATIONS
. - La promoción se debe solicitar con
EXTRA_REQUEST_PROMOTED_ONGOING
oNotificationCompat.Builder#requestPromotedOngoing
. - Debe ser
ongoing
(establecerFLAG_ONGOING_EVENT
). - Debe tener un conjunto de
contentTitle
. - NO debe tener ningún
customContentView
establecido (sinRemoteViews
). - NO debe ser el resumen de un grupo que usa
setGroupSummary
. - NO debe
setColorized
aTRUE
. - El canal de notificación NO debe tener
IMPORTANCE_MIN
.
Características de la promoción
Las siguientes APIs te ayudan a determinar si el sistema promocionará tu notificación:
Notification.FLAG_PROMOTED_ONGOING
indica si se promociona la notificación.Notification.hasPromotableCharacteristics()
valida si el sistema puede promover la notificación. Este método no considera si el usuario inhabilitó las Actualizaciones en vivo para la app en la configuración.NotificationManager.canPostPromotedNotifications()
verifica si tu app puede publicar una notificación promocionada, por ejemplo, si el usuario la habilitó o inhabilitó en la configuración.Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS
es la acción del intent que permite que las apps envíen a los usuarios a la configuración para habilitar esta función.
Criterios de uso
Usa las actualizaciones en vivo para las actividades en curso, iniciadas por el usuario y sensibles al tiempo.
Continuo
Las actualizaciones en vivo deben representar una actividad que esté en curso, con un inicio y un final definidos. Si una actividad ocurrió en el pasado, no uses una actualización en vivo. En su lugar, usa una notificación estándar. Esto también se aplica a los eventos que aún no comenzaron, aunque los eventos que están a punto de comenzar pueden usar una actualización en vivo.
Las Actualizaciones en vivo representan actividades en curso. No uses las Actualizaciones en vivo para ofrecer acceso acelerado a la funcionalidad de la app. Si quieres hacerlo, usa un widget de la app o una tarjeta de Configuración rápida personalizada.
- Usos adecuados: Navegación activa, llamadas telefónicas en curso, seguimiento activo de viajes compartidos y seguimiento activo de entregas de comida.
- Usos inapropiados: Anuncios, promociones, mensajes de chat, alertas, próximos eventos del calendario y acceso rápido a las funciones de la app
Iniciado por el usuario
La mayoría de las Actualizaciones en vivo deben representar actividades que el usuario activa de forma explícita, como iniciar un entrenamiento, iniciar la navegación en automóvil o solicitar un viaje compartido. No muestres información ambiental, como la del entorno, los intereses o los próximos eventos del usuario, en una Actualización en vivo. No permitir que las actividades activadas por terceros generen Actualizaciones en vivo
A veces, un usuario puede realizar una acción que inicie una actividad en algún momento futuro. Por ejemplo, si el usuario compra boletos para un vuelo o un concierto, se registra para un torneo o indica de alguna otra manera su asistencia futura a un evento sensible al tiempo. En estos casos, puede ser apropiado mostrar automáticamente una Actualización en vivo cuando comience el evento programado. Sin embargo, las apps deben ajustar sus activadores para que solo aparezcan cuando la actividad sea inminente. Si el usuario indica explícitamente que quiere comenzar a supervisar un evento en segundo plano, como un partido deportivo, puedes comenzar a publicar actualizaciones en vivo sobre ese evento. Sin embargo, también debes incluir una acción de Quitar en la notificación asociada.
Urgente
Muestra una Actualización en vivo solo si requiere la atención del usuario durante toda la actividad. Un caso de uso clave de las Actualizaciones en vivo es el monitoreo, cuando el usuario obtiene un beneficio significativo de echar un vistazo a la Actualización en vivo para controlar el estado en evolución de la actividad.
Las actualizaciones en vivo suelen ser adecuadas para las actividades que cambian entre actualizaciones en vivo y notificaciones normales. Por ejemplo, mostrar una notificación de tarjeta de embarque es adecuado muchas horas antes del vuelo de un usuario, pero la notificación debe convertirse en una Actualización en vivo solo cuando el usuario tenga una necesidad urgente, como cuando llegue al aeropuerto o al lugar, o cuando comience el embarque. En cambio, una actualización en vivo no es adecuada para hacer un seguimiento de un paquete, ya que el usuario no necesita supervisarlo constantemente.
Chips de estado
Los chips de estado permiten que los usuarios hagan un seguimiento de las Novedades en tiempo real cuando la notificación no está a la vista. Usa setShortCriticalText
o setWhen
para transmitir información importante sobre el estado de tu notificación centrada en el progreso.

Notification.Builder#setSmallIcon
.
Notification.Builder#setShortCriticalText
para mostrar la hora absoluta.
Notification.Builder#setShortCriticalText
para transmitir información crítica.Cuándo
La hora de activación inicia una cuenta regresiva para la duración de la notificación, a menos que se descarte o actualice.
- La hora de cuándo debe ser al menos 2 minutos en el futuro: Si la hora actual es las 10:05 a.m. y la hora de cuándo se establece en las 10:10 a.m., el chip dirá "5 min".
- Si la hora de cuándo es más de 1 minuto en el pasado, no se muestra la notificación.
- Usa
setShowWhen
paraFALSE
si no quieres que la notificación que se muestra en el panel tenga una hora.
Aspecto del chip de estado
El chip de estado siempre incluye un ícono y, de forma opcional, texto. El chip tiene un ancho máximo de 96 dp. Mostrar el texto según los siguientes criterios:
- Si tiene menos de 7 caracteres, muestra todo el texto.
- Si se mostrará menos de la mitad del texto, muestra solo el ícono.
- Si se mostrará más de la mitad del texto, muestra la mayor cantidad de texto posible.
Dismissal
Los usuarios pueden controlar la visibilidad de las notificaciones en el panel de notificaciones. Publicar novedades en tiempo real no deseadas puede hacer que los usuarios revoquen el permiso de publicación de una app.
Para evitar que los usuarios inhabiliten por completo las Novedades en tiempo real, evita publicar actualizaciones que los usuarios puedan descartar. No vuelvas a publicar las Novedades en tiempo real que el usuario descartó. Usa setDeleteIntent
para detectar las actualizaciones descartadas.
Consulta la app de ejemplo para experimentar con estas APIs.