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:
- 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 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.
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.
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.
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
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
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.