Las notificaciones proporcionan información breve, oportuna y pertinente relacionada con tu app cuando no está en uso.
El SO Android controla muchos aspectos de las notificaciones, pero tú puedes controlar otros. Sigue estos pasos cuando implementes notificaciones:
- Comprende la anatomía de una notificación.
- Elige el tipo de notificación para tu caso de uso.
- Establece la categoría de notificación que se alinea con el tipo de notificación que elegiste.
Conclusiones
- Considera el propósito de la notificación: ¿por qué alertarás a tus 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 la plantilla de notificación.
- Crea el contenido de la notificación:
- El texto del encabezado debe resumir la notificación de forma concisa.
- El texto del contenido debe mostrar una vista previa de la notificación.
- Contenido de imágenes, si corresponde al contenido de tu app
- Es el arte de la llave de medios y los metadatos de la plantilla de medios.
- Proporciona acciones basadas en el contenido de la notificación, ya sea con botones de texto, escritura o controles multimedia, para que el usuario sepa claramente qué puede hacer con ella.
- Incluye el ícono de tu app y establece el color de fondo del ícono.
- Establece canales y categorías para tus notificaciones. Esto permite que el sistema y el usuario personalicen las notificaciones que reciben y proporciona un comportamiento de prioridad.
- Si tu app puede enviar varias notificaciones a la vez, agrúpalas.
- Consulta el kit de IU de Android en Figma para ver plantillas de notificaciones.
Anatomía de una notificación
Las notificaciones están diseñadas para que sea fácil escanear y usar los elementos más importantes de una notificación. Estos elementos son los siguientes:
- Contenido principal: Constituye 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, se destaca un avatar del resto del contenido.
- Acciones: Los usuarios pueden expandir las notificaciones presionando un ícono indicador. Las acciones se muestran con etiquetas de texto en un color de fondo y una ubicación independientes.
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. También puede mostrar un ícono grande de forma opcional.
1 Ícono de la app: El ícono de la app es una representación bidimensional de la identidad de tu app. Aparece en monocromo en la barra de estado. Si tu app envía una amplia variedad de notificaciones, considera reemplazar 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 breve título para la notificación o la fuente, como el nombre de la cuenta para los usuarios. El contenido es el elemento más destacado 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á en estado contraído o expandido.
5 Texto de contenido: Información complementaria.
6 Ícono grande (opcional): Se puede agregar una imagen para reforzar la notificación de una manera significativa, como un mensaje que incluya un avatar del remitente.
Aplica el color del ícono
A partir de Android 12 (nivel de API 31), el sistema deriva el color del ícono del color de la notificación que estableces en la app. Si la app no establece el color, usa el color del tema del sistema. Anteriormente, el color era gris.
En la mayoría de los estilos, el sistema aplica este color solo si la notificación es para un servicio en primer plano. Sin embargo, no existe tal requisito para las notificaciones de MediaStyle y DecoratedMediaCustomViewStyle que tienen una sesión multimedia adjunta.
En el siguiente fragmento, se muestra cómo aplicar el color del ícono.
val notification = Notification.Builder()
.setColor(Color.GREEN)
.setColorized(true)
.setSmallIcon(R.drawable.app_icon)
.setStyle(Notification.DecoratedCustomViewStyle())
.build()
Acciones de la notificación
1 Acciones de botones 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 admitir más texto. Para admitir dispositivos Android Wear y dispositivos que ejecutan Android 6.0 (nivel de API 23) y versiones anteriores, tu app debe seguir proporcionando un ícono.
Vistas expandidas
Puedes usar una vista expandida para mostrar más información al usuario sin que este tenga que salir de la notificación.
Cuando se expande, una notificación puede proporcionar hasta tres de los siguientes tipos de acciones:
- Respuestas sugeridas
- Acciones destacadas (botones en forma de píldora)
- Acciones de texto estándar
Qué no debes hacer
Qué debes hacer
Cómo habilitar la escritura en las notificaciones
Incluye una acción de respuesta para permitir que el usuario escriba directamente en una notificación. Está diseñado para escribir una pequeña cantidad de texto, como responder un mensaje de texto o anotar una nota breve.
Para escribir textos más largos, dirija a los usuarios a su app para brindarles más espacio para ver y editar texto.
En el caso de las apps de mensajería, 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.
Elige el tipo de notificación según tu caso de uso
Google usa las siguientes plantillas de notificación en sus apps para Android. Estas plantillas se pueden personalizar hasta cierto punto para tu app.
Consulta el kit de IU de Android en Figma para ver plantillas de notificaciones.
Plantilla estándar
La plantilla estándar es adecuada para la mayoría de las notificaciones, ya que permite texto breve, un ícono grande (cuando corresponda) y acciones.
Plantilla de texto grande
La plantilla de texto grande es ideal para mostrar bloques de texto más largos. Permite que el usuario vea una vista previa de más texto después de expandir la notificación.
Plantilla de panorama general
La plantilla de foto grande está diseñada para notificaciones que contienen una imagen. Cuando se contrae, la notificación muestra una miniatura de ícono grande de la imagen. Cuando se expande, la notificación muestra una vista previa mucho más grande.
Plantilla de progreso
La plantilla de progreso está diseñada para actividades iniciadas por el usuario que tardan en completarse. Cuando se expande, una notificación que usa esta plantilla muestra una barra de progreso y también incluye una acción de "cancelar" que permite al usuario detener esta actividad. (Las actividades que no se pueden cancelar no justifican las notificaciones).
Plantilla de medios
La plantilla de medios está diseñada para permitir que el usuario controle el contenido multimedia que se está reproduciendo 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.
Plantilla de mensajería
La plantilla MessagingStyle está diseñada para la comunicación en tiempo real. Cuando se expande, una notificación que usa esta plantilla permite al usuario responder mensajes desde la notificación.
Plantilla de llamada
Usa la plantilla CallStyle para generar notificaciones de formato grande que incluyan un archivo adjunto de imagen grande y que indiquen una llamada entrante o saliente.
Permisos de notificaciones
Si bien las notificaciones pueden ser relevantes y oportunas, la mayoría son no exentas, es decir, el usuario debe dar su consentimiento para recibir notificaciones de tu app.
Hay una excepción a esta regla: a partir de Android 13 (nivel de API 33), las sesiones de medios y las apps que administran llamadas telefónicas están exentas de solicitar el consentimiento del usuario. Las apps preexistentes también pueden cumplir con los requisitos si el usuario ya tiene activadas las notificaciones. Consulta más detalles en Exenciones.
Te recomendamos que tu app proporcione opciones de notificación en la configuración para permitir que los usuarios actualicen sus preferencias de notificaciones.
Solicita al usuario que habilite las notificaciones no exentas
En el caso de las notificaciones no exentas, solicita al usuario que indique si quiere habilitar la recepción de notificaciones. Es probable que los usuarios que eligen explícitamente recibir notificaciones las consideren más útiles y menos intrusivas.
Espera para mostrar el mensaje del diálogo de notificación:
- Describe los beneficios que brindan las notificaciones y el resultado de no otorgar permisos para recibirlas.
- Proporciona una IU contextual que relaciona la notificación con sus funciones o con lo que afecta. Esta IU puede adoptar cualquier forma para integrarse mejor en tu app: por ejemplo, una tarjeta dentro de una tarifa, una hoja inferior o una pantalla de incorporación. Cualquiera de estas debería poder descartarse.
- 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 permisos de notificación.
Notificaciones obligatorias
Los servicios en primer plano realizan operaciones visibles para el usuario, pero mientras no interactúa 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 que está consumiendo recursos del sistema.
Como estos procesos usan batería y, posiblemente, datos, tu app debe mostrar una notificación que no se pueda descartar para que los usuarios los conozcan. El usuario no puede descartar la notificación, por lo que debes proporcionarle una acción para detener 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, lo que crea una instancia de un servicio en primer plano que realiza el 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 notificaciones para ninguno de los siguientes casos de uso:
- Para realizar promoción cruzada o publicitar otro producto (Play Store lo prohíbe de forma estricta)
- Si el usuario nunca abrió tu app
- Como el método principal de comunicación con los usuarios
- Para alentar al usuario a volver a una app, pero sin proporcionar valor directo (por ejemplo, "¡Hace mucho que no te vemos!")
- Para solicitudes de calificación de tu app
- Para operaciones que no requieren la participación del usuario, como la sincronización de información
- Anunciar los estados de error de los que la app puede recuperarse sin interacción del usuario
- Para mensajes de cumpleaños o festividades
Qué no debes hacer
Qué no debes hacer
Comportamiento
Ten en cuenta los siguientes comportamientos de las notificaciones y cómo controlarlos en ciertos contextos.
Llegada de la notificación
Cuando llega una notificación, Android la agrega a la bandeja de notificaciones. Según los parámetros que establezcas y el estado actual del dispositivo, la notificación puede realizar cualquiera de las siguientes acciones:
- Emitir un sonido o hacer que el teléfono vibre
- Se muestra en la barra de estado con un ícono. Por lo general, es el ícono de tu app, pero, si tienes varios tipos de notificaciones, usa un símbolo que capture el propósito de la notificación.
- Se muestra como una notificación emergente que aparece en la pantalla actual para captar la atención del usuario.
Como siempre, el usuario puede optar por modificar los comportamientos de las notificaciones que establezcas.
1 Indicador de notificación en la barra de estado, que indica que hay una notificación en el panel lateral.
2 La notificación "echa un vistazo" en la pantalla actual para captar la atención del usuario en medio de una tarea.
Panel lateral de notificaciones
Por lo general, el panel de notificaciones de Android muestra las notificaciones en orden cronológico inverso, con ajustes influenciados por las siguientes condiciones:
- La prioridad o importancia de las notificaciones que se indican en la app
- Indica si la notificación alertó recientemente al usuario con un sonido o una vibración.
- Las personas adjuntas a la notificación y si son contactos destacados
- Indica si la notificación representa una actividad importante en curso, como una llamada telefónica en curso o música en reproducción.
- El SO Android altera la apariencia de algunas notificaciones en la parte superior e inferior de la lista agregando énfasis o quitándolo, lo que ayuda al usuario a analizar el contenido.
Cómo controlar las notificaciones obsoletas
La bandeja de notificaciones está diseñada para mostrar a los usuarios información relevante para el momento actual. Si una notificación anterior está obsoleta, es decir, ya no es pertinente, descártala para que el usuario no la vea.
Las notificaciones nuevas se indican con una insignia en el ícono de la app
En los selectores compatibles en dispositivos con Android 8.0 (nivel de API 26) y versiones posteriores, los íconos de la app 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 de Launcher que los admiten, y tu app no necesita realizar ninguna acción. Las insignias también se pueden inhabilitar y limitar.
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 se muestra en una pantalla bloqueada, el usuario debe 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 que le permita al usuario realizar una acción de inmediato. Por ejemplo, si la notificación indica que es su turno en un juego de dos jugadores, al presionarla, debería dirigirse directamente a ese juego.
Ver una vista expandida de la notificación: Aparece un indicador de expansión en el encabezado. Un usuario puede presionar el indicador o deslizar el cuerpo de la notificación hacia abajo para expandirla.
Figura 18: Notificación expandida Descartar la notificación (si se permite): El usuario puede descartarla deslizándola hacia la izquierda o la derecha.
Las notificaciones en curso que indican un proceso continuo en segundo plano, como la reproducción de música, no se pueden descartar con un deslizamiento.
Posponer una notificación emergente: El usuario puede deslizar el dedo hacia arriba en una notificación emergente, y no se permitirá que se muestren más notificaciones de ese evento durante un minuto.
Controlar notificaciones similares en el futuro: Los usuarios pueden acceder a los controles de notificaciones de las siguientes maneras:
- Cómo mantener presionada una notificación individual
- Deslizar la notificación hacia la izquierda o la derecha y, luego, presionar 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).
Agrupa varias notificaciones
En el caso de las apps que generan varias notificaciones del mismo tipo, Android ofrece el agrupamiento de notificaciones para evitar abrumar a los usuarios.
Tu app puede presentar varias notificaciones según la siguiente jerarquía.
- Una notificación principal muestra un resumen de sus notificaciones secundarias.
- Si el usuario expande la notificación principal, Android revela todas las notificaciones secundarias.
- Un usuario puede expandir una notificación secundaria para ver todo su contenido.
Android presenta las notificaciones secundarias sin información de encabezado duplicada. Por ejemplo, si una notificación secundaria tiene el mismo ícono de la app que su notificación principal, el encabezado de la notificación secundaria no incluye un ícono.
Las notificaciones secundarias deben ser comprensibles si aparecen solas, ya que el sistema puede mostrarlas fuera del grupo cuando lleguen.
Configuración
Canales
A partir de Android 8.0 (nivel de API 26), todas las notificaciones deben asignarse a un canal. En cada canal, puedes configurar el comportamiento visual y auditivo que se aplicará a todas las notificaciones de este. Los usuarios pueden cambiar estos parámetros de configuración y decidir qué canales de notificaciones de tu app pueden ser intrusivos o visibles.
Para obtener detalles sobre cómo 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 sin importancia se disfraza de urgente, puede generar una alarma innecesaria.
| Importancia | Comportamiento | Uso | Ejemplos |
|---|---|---|---|
HIGH |
Emite un sonido y aparece en la pantalla | Información urgente que el usuario debe conocer o sobre la que debe actuar de inmediato | Mensajes de texto, alarmas y llamadas |
DEFAULT |
Emite un sonido | Información que se debe ver lo antes posible, pero que no interrumpa lo que está haciendo el usuario | Alertas de tráfico y recordatorios de tareas |
LOW |
Sin sonido | Canales de notificación que no cumplen con los requisitos de otros niveles de importancia | Contenido nuevo al que se suscribió el usuario, invitaciones de 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, clima y contenido promocional |
Categorías predefinidas
Ya sea que uses 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 solicitud de comunicación sincrónica similar |
CATEGORY_MESSAGE |
Mensaje entrante directo (SMS, mensaje instantáneo, etc.) |
CATEGORY_EMAIL |
Mensaje en bloque asíncrono (correo electrónico) |
CATEGORY_EVENT |
Evento de 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 quiera 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 notificaciones pueden ocultar cualquier contenido que tu app marque como sensible. Android evalúa el nivel de visibilidad de cada notificación para determinar qué se puede mostrar de forma segura.
Cómo establecer el nivel de sensibilidad del contenido en las pantallas de bloqueo
La privacidad del usuario es de suma importancia, por lo que debes tener en cuenta que hay diferentes niveles de notificaciones que pueden ser visibles en la pantalla de bloqueo. Para cada notificación que crees, debes establecer el nivel de visibilidad como público, privado o secreto.
- Las notificaciones públicas son completamente visibles en las pantallas de bloqueo seguras.
- Las notificaciones secretas están ocultas.
- Las notificaciones privadas se encuentran en el medio: solo muestran información básica, como el nombre de la app que publicó la notificación y su ícono. En lugar del contenido normal, que está oculto, puedes mostrar texto que no revele información personal, como
2 new messages.
En el siguiente ejemplo, las notificaciones de la pantalla de bloqueo de las apps de Gmail y Fotos muestran todo el contenido después de que el usuario eligió mostrar esta información en la pantalla de bloqueo.
1 Todo el contenido de las notificaciones que se muestra en la pantalla de bloqueo
2 Se ocultó el contenido sensible de la notificación 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 expanden).
Un buen título de contenido cumple con los siguientes lineamientos:
- No supera 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 estén precedidas por texto).
- Excluye el nombre de la app, que ya aparece en el encabezado.
Qué no debes hacer
Qué debes hacer
El texto de buen contenido cumple con los siguientes lineamientos:
- Evita superar el límite de 40 caracteres
- Evita repetir lo que se dice en el título del contenido.
El ícono grande
Usa el ícono grande para los 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 que envía 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 un símbolo de flecha para las indicaciones sobre cómo llegar
Los íconos grandes deben ser circulares cuando muestran a una persona, pero cuadrados en todos los demás casos.
Qué no debes hacer
Qué debes hacer
Actualizaciones de las versiones de Android
La IU del sistema de notificaciones de Android y las APIs relacionadas con notificaciones evolucionan continuamente. Para obtener una lista de estos cambios, consulta la compatibilidad de las notificaciones.
Consideraciones de 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 más información, consulta la página de diseño de notificaciones en Wear.