Notificaciones

Las notificaciones proporcionan información breve, oportuna y relevante relacionada con tu app cuando no está en uso.

El SO Android controla muchos aspectos de las notificaciones, pero tú tienes el control sobre otros. Sigue estos pasos cuando implementes las notificaciones:

  1. Comprende la anatomía de una notificación.
  2. Elige el tipo de notificación para tu caso de uso.
  3. Establece la categoría de notificación que se adapte al tipo de notificación que elegiste.

Puck robado

  • Considera el propósito de la notificación: ¿por qué envías alertas a los usuarios?
  • Determina el patrón de permisos de notificaciones, considera la importancia de las notificaciones para tu app y dónde solicitarlas en el recorrido del usuario.
  • Elige una plantilla de notificaciones.
  • Crea contenido de notificaciones:
    • El texto del encabezado debe resumir la notificación de manera concisa.
    • El texto del contenido debe tener una vista previa de la notificación.
    • Contenido de imagen, si corresponde al contenido de tu app
    • Arte clave y metadatos multimedia para la plantilla multimedia.
  • Deja en claro lo que puede hacer el usuario con una notificación mediante acciones basadas en su contenido, ya sea con botones de texto, escritura o controles multimedia.
  • Incluye el ícono de la app y establece su color de fondo.
  • Configura canales y categorías para tus notificaciones. Esto permite que el sistema y tu usuario personalicen qué notificaciones reciben y proporciona un comportamiento prioritario.
  • Si tu app puede enviar varias notificaciones a la vez, agrupa las notificaciones.
  • Consulta el kit de IU de Android en Figma para obtener plantillas de notificaciones.

Anatomía de una notificación

Las notificaciones están diseñadas para facilitar el análisis y el uso de los elementos más importantes de una notificación. Estos elementos son los siguientes:

  • Contenido principal: Es el elemento más destacado de una notificación. La información secundaria, como la marca de tiempo, es más pequeña y se consolida sobre el contenido principal.
  • Personas: Si la notificación involucra a una persona, un avatar se destacará del resto del contenido.
  • Acciones: Los usuarios pueden presionar un ícono indicador para expandir las notificaciones. Las acciones se muestran con etiquetas de texto en un color de fondo y una ubicación independientes.
Figura 1: Notificación contraída

Encabezado y contenido de la notificación

Cuando se contrae, una notificación muestra el ícono de la app, el texto del encabezado, la marca de tiempo, el indicador de expansión y el texto del contenido. De manera opcional, también puede mostrar un ícono grande.

Figura 2: Área del encabezado de la notificación

1 Ícono de la app: Es una representación bidimensional de la identidad de la app. Aparece en monocromático en la barra de estado. Si tu app envía una amplia variedad de notificaciones, te recomendamos que reemplaces el ícono de la app por un símbolo para distinguir entre los diferentes tipos de notificaciones. Consulta Cómo aplicar el color del ícono para obtener más detalles.

2 Texto del encabezado: Un título breve para la notificación o la fuente, como el nombre de la cuenta de los usuarios. El contenido es el elemento más importante de una notificación.

3 Marca de tiempo: Indica cuándo se envió una notificación, como la hora de una llamada perdida.

4 Indicador de expansión: Indica si la notificación está contraída o expandida.

5 Texto del contenido: Información de respaldo.

6 Ícono grande (opcional): Se puede agregar una imagen para reforzar la notificación de manera significativa, como un mensaje que incluye un avatar del remitente.

Aplica el color del ícono

A partir de Android 12 (nivel de API 31), el sistema obtiene el color del ícono del color de notificación que configuraste en la app. Si la app no establece el color, usa el color del tema del sistema. Anteriormente, el color era gris.

Figura 3: Color del ícono de la app con estilo resultante

En la mayoría de los estilos, el sistema aplica este color solo si la notificación es de servicio en primer plano. Sin embargo, no existe tal requisito para las notificaciones MediaStyle y DecoratedMediaCustomViewStyle que tienen una sesión multimedia adjunta.

En el siguiente fragmento, se muestra cómo aplicar el color de un ícono.

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

Acciones de la notificación

Figura 4: Área de acción de notificaciones

1 Acciones del botón de texto

2 Botones de acción con relleno

3 respuestas sugeridas

4 Campo de texto de respuesta

A partir de Android 7.0 (nivel de API 24), el sistema muestra acciones sin íconos para adaptarse a más texto. Para admitir dispositivos Android Wear y dispositivos con Android 6.0 (nivel de API 23) y versiones anteriores, la app debe proporcionar un ícono.

Vistas expandidas

Puedes usar una vista expandida para mostrarle más información al usuario sin salir de la notificación.

Cuando se expande, una notificación puede proporcionar hasta tres de cualquiera de los siguientes tipos de acciones:

  • Respuestas sugeridas
  • Acciones enfatizadas (botones con forma de píldora)
  • Acciones de texto estándar
Incluye acciones de texto que dupliquen el comportamiento de presionar el cuerpo de la notificación.
Dale al usuario la oportunidad de interactuar con la notificación. La app de Reloj de Google muestra un temporizador en ejecución, pero le permite al usuario pausar o agregar un minuto directamente desde la notificación.

Habilitar la escritura en notificaciones

Para permitir que el usuario escriba directamente en una notificación, incluye una acción de Respuesta. Está diseñada para escribir una pequeña cantidad de texto, como responder un mensaje de texto o escribir una nota breve.

Si utilizas una escritura más larga, dirige a los usuarios a tu app para brindarles más espacio para ver y editar texto.

En el caso de las apps de mensajería, te recomendamos mantener la notificación presente después de que el usuario haya enviado la respuesta y esperar hasta que se pause la conversación antes de descartarla automáticamente.

Figura 5: Un usuario responde directamente en Mensajes Android sin salir de la notificación después de presionar Responder

Elige el tipo de notificación según tu caso de uso

Google usa las siguientes plantillas de notificaciones en sus apps para Android. Estas plantillas se pueden personalizar en cierta medida para tu app.

Consulta el kit de IU de Android en Figma para obtener plantillas de notificación.

Plantilla estándar

La plantilla estándar es adecuada para la mayoría de las notificaciones, ya que permite texto breve, un ícono grande (si corresponde) y acciones.

Figura 6: Plantilla de notificación estándar

Plantilla de texto grande

La plantilla de texto grande es ideal para mostrar bloques de texto más largo. Permite al usuario obtener una vista previa de más texto después de expandir la notificación.

Figura 7: Plantilla de texto grande, con el ícono grande de la opción

Plantilla de panorama general

La plantilla de panorama general está diseñada para notificaciones que contienen una imagen. Cuando se contrae, la notificación muestra una miniatura de ícono grande de la foto. Cuando se expande, la notificación muestra una vista previa mucho más grande.

Figura 8: Plantilla de panorama general

Plantilla de progreso

La plantilla de progreso está diseñada para actividades iniciadas por el usuario que tardan tiempo en completarse. Cuando se expande, una notificación que usa esta plantilla muestra una barra de progreso y también incluye una acción "cancelar" que le permite al usuario finalizar esta actividad. (Las actividades que no se pueden cancelar no garantizan notificaciones).

Figura 9: Plantilla de progreso

Plantilla multimedia

La plantilla de contenido multimedia está diseñada para permitir que el usuario controle el contenido multimedia que se reproduce desde una app.

  • Cuando se contrae, la notificación puede mostrar hasta tres acciones. El ícono grande puede mostrar una imagen relacionada, como la portada de un álbum.
  • Cuando se expande, la notificación muestra hasta cinco acciones con una imagen más grande o seis acciones sin imagen. El fondo y otros elementos de la notificación heredan automáticamente los colores de la imagen.
Figura 10: Plantilla de contenido multimedia

Plantilla de mensajes

La plantilla MessagingStyle está diseñada para la comunicación en tiempo real. Cuando se expande, una notificación que usa esta plantilla le permite al usuario responder los mensajes desde dentro de la notificación.

Figura 11: Plantilla de mensajes

Plantilla de llamada

Usa la plantilla CallStyle para generar notificaciones de formato grande que incluyan una imagen adjunta grande y, además, indiquen una llamada entrante o saliente.

Figura 12: Plantilla de llamada

Permisos de notificaciones

Aunque sea relevante y oportuno, la mayoría de las notificaciones no están exentas, es decir, el usuario debe dar su consentimiento para recibir notificaciones de tu app.

Hay una excepción: a partir de Android 13 (nivel de API 33), las sesiones multimedia y las apps que administran llamadas telefónicas están exentas de solicitar el consentimiento del usuario. Las apps preexistentes también pueden ser aptas si el usuario ya tiene activadas las notificaciones. Consulta más detalles en Exenciones.

Recomendamos que tu app proporcione opciones de notificación en la configuración para permitir que los usuarios actualicen sus preferencias de notificaciones.

Solicitar al usuario que acepte notificaciones no exentas

En el caso de las notificaciones no exentas, solicita al usuario que indique si desea aceptar recibir notificaciones. Es probable que los usuarios que eligen recibir notificaciones explícitamente las consideren más útiles y menos invasivas.

Figura 13: Solicitud del consentimiento de un usuario para una notificación no exenta

Espera hasta que aparezca el diálogo de notificación:

  • Describe los beneficios que proporcionan las notificaciones y el resultado de no otorgar permisos para las notificaciones.
  • Proporciona una IU contextual, que relacione la notificación con sus funciones o lo que afecta. Esta IU puede adoptar cualquier forma para integrarse mejor en la app: por ejemplo, una tarjeta dentro de una tarifa, una hoja inferior o una pantalla de integración. Cualquiera de estos se debe poder descartar.
  • No mostrar el diálogo de permiso de notificaciones si el usuario descartó la IU

A partir de Android 13, se puede volver a solicitar a los usuarios que obtengan permisos de notificaciones.

Notificaciones obligatorias

Los servicios en primer plano realizan operaciones visibles para el usuario, pero mientras no interactúan directamente con tu app. Estos servicios muestran una notificación en la barra de estado para que los usuarios sepan que tu app está realizando una tarea en primer plano y consumiendo recursos del sistema.

Figura 14: Ejemplo de notificación de servicio en primer plano de una app de fitness

Debido a que estos procesos usan batería y, posiblemente, datos, tu app debe mostrarles a los usuarios una notificación que no se pueda descartar. El usuario no puede descartar la notificación, por lo que debes proporcionar una acción para que detenga el servicio.

En el siguiente ejemplo, se muestra una notificación de una app de fitness. El usuario inició una sesión de entrenamiento activa, que crea una instancia de un servicio en primer plano que hace un seguimiento de la sesión de entrenamiento. La app muestra la notificación para indicar que está haciendo un seguimiento de la caminata, con una opción para ver el entrenamiento.

Cuándo no usar una notificación

No uses las notificaciones en ninguno de los siguientes casos de uso:

  • Para la promoción cruzada o la publicidad de otro producto (Play Store está estrictamente prohibido)
  • Si el usuario nunca abrió tu app
  • Como método principal de comunicación con los usuarios
  • Para motivar al usuario a que regrese a una app, pero no proporcionar un valor directo (por ejemplo, "¡Hace tiempo que no te ves!")
  • Solicitudes para clasificar tu app
  • Para operaciones que no requieren la participación del usuario, como la sincronización de información
  • Anunciar estados de error de los que la app puede recuperarse sin interacción del usuario
  • Para mensajes de cumpleaños o festividades
Envía saludos de festividades o cumpleaños en forma de notificaciones.
Interrumpir al usuario en el medio de una tarea con el único propósito de preguntarle si estás haciendo un buen trabajo

Comportamiento

Ten en cuenta los siguientes comportamientos de notificaciones y cómo manejarlos en ciertos contextos.

Llegada de la notificación

Cuando llega una notificación, Android la agrega al panel lateral de notificaciones. Según los parámetros que configures y el estado actual del dispositivo, la notificación puede realizar cualquiera de las siguientes acciones:

  • Emite un sonido o haz que el teléfono vibre.
  • Se muestra en la barra de estado con un ícono. Por lo general, este es el ícono de la app, pero si tienes varios tipos de notificaciones, usa un símbolo que capture su propósito.
  • Mostrarse como una notificación de atención que se muestre en la pantalla actual para captar la atención del usuario

Como siempre, el usuario puede optar por modificar los comportamientos de notificaciones que establezcas.

Figura 15: Llegada de la notificación

1 Indicador de notificaciones en la barra de estado que indica que hay una notificación en el panel lateral de notificaciones.

2 La notificación aparece en la pantalla actual para captar la atención de un usuario en medio de una tarea.

Panel lateral de notificaciones

En Android, el panel lateral de notificaciones suele mostrar las notificaciones en orden cronológico inverso, con ajustes según las siguientes condiciones:

  • La importancia o prioridad de las notificaciones indicadas en la app
  • Si la notificación alertó al usuario recientemente con un sonido o una vibración
  • Todas las personas adjuntas a la notificación y si son contactos destacados
  • Si la notificación representa una actividad importante en curso, como una llamada telefónica en curso o la reproducción de música
  • Cambios en la apariencia de algunas notificaciones por parte del SO Android en la parte superior e inferior de la lista mediante énfasis o reducción de énfasis, lo que ayuda al usuario a analizar el contenido

Controla las notificaciones inactivas

El panel lateral de notificaciones está diseñado para mostrar a los usuarios información relevante para el momento actual. Si una notificación anterior está inactiva, es decir, ya no es relevante, descártala para que el usuario no la vea.

Figura 16: El texto recién llegado aparece en la parte superior del panel lateral de notificaciones, con una notificación de menor prioridad sobre la adición de una foto en la parte inferior

Las notificaciones nuevas se indican con la insignia del ícono de la app

En los selectores compatibles en dispositivos con Android 8.0 (nivel de API 26) y versiones posteriores, los íconos de las apps muestran un punto de notificación para indicar que la app tiene una notificación nueva asociada. Estos puntos aparecen de forma predeterminada en las apps del selector que los admiten, y tu app no necesita realizar ninguna acción. Las insignias también se pueden inhabilitar y limitar.

Figura 17: Punto de notificación en el ícono de una app, que indica que la app tiene una notificación nueva asociada

Acciones que los usuarios pueden realizar con las notificaciones

Las notificaciones pueden permitir a los usuarios realizar cualquiera de las siguientes acciones:

  • Navegar a un destino: para navegar, el usuario puede presionar una notificación. Si la notificación aparece en la pantalla bloqueada, el usuario deberá presionarla dos veces y, luego, ingresar su PIN, patrón o contraseña.

    Cuando el usuario presiona una notificación, tu app debe mostrar una IU que se relacione directamente con esa notificación y le permita al usuario realizar una acción inmediata. Por ejemplo, si la notificación indica que es su turno en una partida de dos jugadores, presionar la notificación debería llevarlos directamente a ese juego.

  • Obtén una vista expandida de la notificación: aparece un indicador de expansión en el encabezado. El usuario puede presionar el indicador o deslizar hacia abajo el cuerpo de la notificación para expandirla.

    Figura 18: Notificación expandida
  • Si se descarta la notificación (si se permite), el usuario puede deslizarla hacia la izquierda o la derecha para descartarla.

Es posible que las notificaciones continuas que indiquen un proceso continuo en segundo plano, como la reproducción de música, no se pueden descartar con solo deslizar el dedo.

  • Pospón una notificación de atención: un usuario puede deslizar una notificación de atención hacia arriba, y no se permitirá que ninguna otra notificación de ese evento parpadee durante un minuto.

  • Controla notificaciones similares en el futuro: los usuarios pueden acceder a los controles de notificaciones de las siguientes maneras:

    • Mantén presionada una notificación individual
    • Deslizando la notificación hacia la izquierda o derecha, y luego presionando el ícono de configuración

Los controles que se muestran varían según la versión de Android y si la app tiene canales para sus notificaciones (a partir de Android 8.0).

Cómo agrupar varias notificaciones

En el caso de las apps que generan varias notificaciones del mismo tipo, Android ofrece agrupación de notificaciones para evitar abrumar a los usuarios.

Tu app puede presentar varias notificaciones según la siguiente jerarquía.

  • Una notificación superior muestra un resumen de sus notificaciones secundarias.
  • Si el usuario expande la notificación de nivel superior, Android muestra todas las notificaciones secundarias.
  • Un usuario puede expandir una notificación secundaria para revelar todo su contenido.

Android presenta notificaciones para niños sin información de encabezado duplicada. Por ejemplo, si una notificación secundaria tiene el mismo ícono de la app que su elemento superior, el encabezado del elemento secundario no incluirá un ícono.

Las notificaciones secundarias deben ser comprensibles si aparecen solas, ya que el sistema podría mostrarlas fuera del grupo cuando lleguen.

Figura 19: Vistas contraídas y expandidas de las notificaciones agrupadas.

Configuración

Canales

A partir de Android 8.0 (nivel de API 26), todas las notificaciones deben asignarse a un canal. Para cada canal, puedes configurar el comportamiento visual y auditivo que se aplicará a todas las notificaciones de ese canal. Los usuarios pueden cambiar esta configuración y decidir qué canales de notificaciones de tu app pueden ser intrusivos o visibles.

Si deseas obtener detalles para implementar esto, consulta Cómo crear y administrar canales de notificaciones.

La importancia se debe elegir teniendo en cuenta el tiempo y la atención del usuario. Cuando una notificación poco importante se oculta como urgente, puede generar una alarma innecesaria.

Importancia Comportamiento Uso Ejemplos
HIGH Emite un sonido y aparece en pantalla Información urgente que el usuario debe conocer o con la que debe actuar inmediatamente Mensajes de texto, alarmas, llamadas telefónicas
DEFAULT Emite un sonido Información que debería aparecer lo antes posible al usuario, pero que no interrumpa lo que está haciendo Alertas de tráfico, recordatorios de tareas
LOW Sin sonido Canales de notificaciones que no cumplen con los requisitos de otros niveles de importancia Contenido nuevo al que se suscribió el usuario, invitaciones a redes sociales
MIN No emitir sonido ni mostrar Información no esencial que puede esperar o que no es específicamente relevante para el usuario Lugares de interés cercanos, información meteorológica y contenido promocional

Categorías predefinidas

Independientemente de si usas canales o no, asigna cada notificación individual a la categoría predefinida más adecuada. Android puede usar esta información para tomar decisiones de clasificación y filtrado.

Categoría Descripción
CATEGORY_CALL Llamada entrante (voz o video) o una solicitud de comunicación síncrona similar
CATEGORY_MESSAGE Mensaje entrante directo (SMS, mensaje instantáneo, etc.)
CATEGORY_EMAIL Mensaje en bloque asíncrono (correo electrónico)
CATEGORY_EVENT Evento del calendario
CATEGORY_PROMO Promoción o anuncio
CATEGORY_ALARM Alarma o temporizador
CATEGORY_PROGRESS Progreso de una operación en segundo plano de larga ejecución
CATEGORY_SOCIAL Actualización de red social o uso compartido de datos
CATEGORY_ERROR Error en una operación en segundo plano o un estado de autenticación
CATEGORY_TRANSPORT Control de transporte de medios para la reproducción
CATEGORY_SYSTEM Actualización del estado del dispositivo o el sistema. Reservado para ser utilizado por el sistema
CATEGORY_SERVICE Indicación de ejecución de servicio en segundo plano
CATEGORY_RECOMMENDATION Una recomendación específica y oportuna para un solo evento. Por ejemplo, una app de noticias podría recomendar una noticia que el usuario podría querer leer a continuación.
CATEGORY_STATUS Información constante sobre el estado contextual o del dispositivo

Notificaciones en la pantalla bloqueada

Si un usuario optó por mostrar notificaciones cuando la pantalla está bloqueada, estas pueden ocultar cualquier contenido que la app marque como sensible. Android evalúa el nivel de visibilidad de cada notificación para determinar qué se puede mostrar de forma segura.

Establece el nivel de sensibilidad para el contenido en la pantalla de bloqueo

La privacidad del usuario es muy importante, por lo que debes tener en cuenta que hay diferentes niveles de notificación que se pueden ver en la pantalla de bloqueo. Cada notificación que crees, deberás configurar el nivel de visibilidad en public, private o secret.

  • Las notificaciones públicas son totalmente visibles en pantallas de bloqueo seguras.
  • Las notificaciones secretas están ocultas.
  • Las notificaciones privadas están en el medio: solo muestran información básica, incluido el nombre de la app que la publicó y su ícono. En lugar del contenido normal, que está oculto, tienes la opción de mostrar texto que no revele información personal, como 2 new messages.

En el siguiente ejemplo, las notificaciones en la pantalla de bloqueo para las apps de Gmail y Fotos muestran todo el contenido después de que el usuario elige mostrar esta información en la pantalla de bloqueo.

Figura 20: Pantalla de bloqueo con diferentes niveles de sensibilidad.

1 Todo el contenido de las notificaciones se muestra en la pantalla de bloqueo.

2 Notificaciones con contenido sensible oculto en la pantalla de bloqueo

Estilo

Texto claro y conciso

Android trunca los títulos de contenido en una sola línea (incluso cuando se expande).

Un buen título de contenido cumple con los siguientes lineamientos:

  • No debe superar los 30 caracteres.
  • Contiene la información más importante
  • Evita las variables (a menos que contengan un número o una cadena de texto corta, o que estén precedidas por el texto).
  • Excluye el nombre de la aplicación, que ya aparece en el encabezado.
Mostrar el nombre de la app en el título del contenido, que es redundante con el área del encabezado y utiliza caracteres disponibles
Muestre la información más importante en el título del contenido.

El texto con buen contenido cumple con los siguientes lineamientos:

  • No exceda el límite de 40 caracteres.
  • Evita repetir el contenido del título.

El ícono grande

Utiliza el ícono grande para casos de uso en los que las imágenes refuerzan de manera significativa el contenido de la notificación. Por ejemplo:

  • Comunicaciones de otra persona, como la imagen de alguien enviando un mensaje
  • La fuente del contenido, si es diferente de la app que envía la notificación, como el logotipo de un canal de YouTube al que se suscribió un usuario
  • Símbolos significativos sobre la notificación, como el símbolo de flecha para obtener instrucciones sobre cómo llegar en automóvil

Los íconos grandes deben ser circulares cuando se muestran a una persona, pero cuadrados en todos los demás casos.

Usa el ícono grande para el desarrollo de la marca.
Usa el ícono grande para reforzar el contenido de una notificación de manera significativa, como mostrar la foto de una persona adjunta a una notificación de mensaje.

Actualizaciones de las versiones de Android

La IU del sistema de notificaciones de Android y las APIs relacionadas con las notificaciones evolucionan de manera continua. Para obtener una lista de estos cambios, consulta la compatibilidad de las notificaciones.

Consideraciones sobre la plataforma

Wear

Si el usuario tiene un dispositivo Wear OS vinculado, todas las notificaciones aparecerán allí automáticamente, incluidos los detalles y los botones de acción expandibles. Para obtener información detallada, consulta la página de diseño de notificaciones en Wear.