page.title=Notificaciones page.tags="notifications","design","L" @jd:body

Documentos para desarrolladores

Cómo notificar al usuario

Notificaciones en Android 4.4 y versiones anteriores

Video

DevBytes: Notificaciones en la vista previa para desarrolladores de Android L

El sistema de notificaciones les permite a los usuarios mantenerse informados sobre eventos relevantes y oportunos de su aplicación, como nuevos mensajes de chat de un amigo o un evento del calendario. Piense en las notificaciones como un canal de noticias que alerta a los usuarios sobre eventos importantes a medida que se producen o como un registro en el que se relatan los eventos mientras el usuario no está prestando atención y que se sincroniza de forma correspondiente en todos los dispositivos de Android.

Novedades de Android 5.0

En Android 5.0, las notificaciones reciben actualizaciones importantes a nivel estructural, visual y funcional.

Nota: El diseño de las notificaciones de esta versión de Android se diferencia de manera significativa del diseño de las versiones anteriores. Para obtener información sobre el diseño de las notificaciones en versiones anteriores, consulte Notificaciones en Android 4.4 y versiones anteriores.

Anatomía de una notificación

En esta sección, se repasan las partes básicas de una notificación y cómo se pueden mostrar en diferentes tipos de dispositivos.

Diseño básico

Como mínimo, todas las notificaciones poseen un diseño básico que incluye lo siguiente:

Las notificaciones creadas con {@link android.app.Notification.Builder Notification.Builder} para versiones anteriores de la plataforma lucen y funcionan igual en Android 5.0; solo presentan algunos cambios de estilo que el sistema realiza por usted. Para obtener más información sobre las notificaciones en versiones anteriores de Android, consulte Notificaciones en Android 4.4 y versiones anteriores.

Diseño básico de una notificación para dispositivos portátiles (izquierda) y la misma notificación en Wear (derecha), con una fotografía del usuario y un icono de la notificación

Diseños expandidos

Usted puede decidir cuántos detalles mostrarán las notificaciones de su aplicación. Las notificaciones pueden mostrar las primeras líneas de un mensaje o la vista previa de una imagen más grande. A través de la información adicional, se proporciona más contexto al usuario y, en algunos casos, se puede permitir que el usuario lea todo el mensaje. El usuario puede acercar o alejar la imagen, o deslizar la imagen con un solo dedo para alternar entre los diseños compacto y expandido. En el caso de las notificaciones de un solo evento, Android proporciona tres plantillas de diseños expandidos (texto, bandeja de entrada e imagen) para que usted utilice en su aplicación. En las siguientes imágenes, se muestra cómo se ven las notificaciones de un solo evento en los dispositivos portátiles (izquierda) y los dispositivos con Wear (derecha).

Acciones

Android es compatible con acciones opcionales que se muestran en la parte inferior de la notificación. A través de las acciones, los usuarios pueden administrar las tareas más comunes para una determinada notificación desde el interior del panel de notificaciones, sin tener que abrir la aplicación que la originó. Esto acelera la interacción y, junto con la función deslizar para descartar, ayuda a los usuarios a enfocarse en las notificaciones que les parecen importantes.

Sea moderado con la cantidad de acciones que incluye en una notificación. Mientras más acciones incluya, mayor complejidad cognitiva generará. Limítese a la menor cantidad posible de acciones al incluir solo las acciones más importantes y significativas.

Las acciones recomendadas para las notificaciones son aquellas que:

Evite acciones que sean:

Puede especificar un máximo de tres acciones, cada una de ellas formada por un icono de la acción y un nombre. Al agregarle acciones a un diseño básico simple, la notificación será expandible, incluso si no cuenta con un diseño expandido. Como las acciones solo se muestran en las notificaciones expandidas y, de lo contrario, se ocultan, asegúrese de que cualquier acción que el usuario invoque desde una notificación esté disponible también desde la aplicación asociada.

Notificación emergente

Ejemplo de una notificación emergente (llamada telefónica entrante, alta prioridad) que aparece en la parte superior de una aplicación inmersiva

Cuando llega una notificación de alta prioridad (ver a la derecha), esta se presenta a los usuarios durante un período breve, con un diseño expandido que expone las posibles acciones.

Luego de este período, la notificación se retira hacia el panel de notificaciones. Si la prioridad de una notificación se marca como Alta, Máxima o Pantalla completa, se obtiene una notificación emergente.

Buenos ejemplos de notificaciones emergentes

Pautas

Personalización

En el caso de las notificaciones de los elementos que envía otra persona (como un mensaje o una actualización de estado), utilice {@link android.app.Notification.Builder#setLargeIcon setLargeIcon()} para incluir la imagen de esa persona. Además, adjunte información sobre la persona en los metadatos de la notificación (consulte {@link android.app.Notification#EXTRA_PEOPLE}).

El icono principal de su notificación seguirá estando visible, de modo que el usuario pueda asociarlo con el icono que se muestra en la barra de estado.

Notificación en la que se muestra la persona que la generó y el contenido que envió.

Cuando el usuario toca el cuerpo de una notificación (fuera de los botones de acción ), esta se abre en el lugar en el que el usuario puede visualizarla y utilizar los datos que se mencionan en la notificación. En la mayoría de los casos, se tratará de la vista detallada de un solo elemento de datos como un mensaje, pero también se podría tratar de una vista resumida si la notificación está apilada. Si la aplicación dirige al usuario a cualquier sitio que se encuentre debajo del nivel superior, incorpore la navegación en la pila de retroceso de la aplicación para que el usuario pueda presionar el botón Back del sistema y regresar al nivel superior. Para obtener más información, consulte Navegación dentro de la aplicación a través de los widgets y las notificaciones de la pantalla de Inicio en el patrón de diseño Navegación.

Configuración y administración correctas de la prioridad de las notificaciones

Android admite el uso de una marca de prioridad en las notificaciones. Esta marca le permite influir en el lugar donde aparecerá la notificación, en relación con otras notificaciones, y lo ayuda a asegurarse de que los usuarios vean siempre primero las notificaciones más importantes. Cuando publica una notificación, puede elegir entre los siguientes niveles de prioridad:

Prioridad

Uso

MAX

Utilícelo para las notificaciones críticas y urgentes en las que se le informa al usuario sobre una condición que es crítica en el tiempo o que se debe resolver antes de que el usuario continúe con una tarea específica.

HIGH

Utilícelo, principalmente, para comunicaciones importantes, como eventos de mensajes o chats con contenido que sea particularmente interesante para el usuario. Las notificaciones de alta prioridad activan la pantalla de notificaciones emergentes.

DEFAULT

Utilícelo para todas las notificaciones que no pertenecen a ninguno de los otros tipos de prioridades que se describen aquí.

LOW

Utilícelo para las notificaciones que desea que el usuario reciba, pero que son menos urgentes. Las notificaciones de baja prioridad tienden a aparecer en la parte inferior de la lista, por lo que son ideales para eventos como actualizaciones sociales públicas o indirectas: El usuario solicitó que se le notifiquen estas actualizaciones, pero estas notificaciones nunca tendrán prioridad sobre las comunicaciones urgentes o directas.

MIN

Utilícelo para la información contextual o de segundo plano, como información sobre el clima o la ubicación contextual. Las notificaciones cuya prioridad es mínima no aparecen en la barra de estado. El usuario las descubre al expandir el panel de notificaciones.

Cómo elegir la prioridad adecuada

DEFAULT, HIGH y MAX son niveles de prioridad interruptiva, y se corre el riesgo de interrumpir al usuario en el medio de su actividad. Para evitar incomodar a los usuarios de su aplicación, reserve los niveles de prioridad interruptiva para las notificaciones:

Las notificaciones que se configuran en LOW y MIN pueden seguir siendo valiosas para el usuario: muchas, tal vez la mayoría, de las notificaciones simplemente no le piden al usuario que actúe de inmediato ni llaman su atención mediante una vibración, pero poseen información que será valiosa para el usuario cuando este decida ver las notificaciones. Entre los criterios de las notificaciones con prioridad LOW y MIN, se incluyen los siguientes:

Configuración de una categoría de notificaciones

Si su notificación se puede clasificar dentro de alguna de las categorías predefinidas (consulte a continuación), asígnela según corresponda. Esta información se puede utilizar en determinados aspectos de la IU del sistema, como el panel de notificaciones (o cualquier otro agente de escucha de la notificación), para realizar una clasificación y filtrar las decisiones.

CATEGORY_CALL

Llamada entrante (voz o video) o una 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 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, en una aplicación de noticias tal vez se desee recomendar una historia que se considere que el usuario deseará leer luego

CATEGORY_STATUS

Información constante sobre el estado contextual o del dispositivo

Resumen de las notificaciones

Si una notificación de un determinado tipo ya está pendiente cuando su aplicación intenta enviar una nueva notificación del mismo tipo, combínelas en una misma notificación resumida para la aplicación. No cree un objeto nuevo.

Las notificaciones resumidas incluirán una descripción resumida y le permitirán al usuario conocer cuántas notificaciones de un determinado tipo están pendientes.

Lo que no debe hacer

Lo que debe hacer

Puede proporcionar información más detallada sobre cada una de las notificaciones que conforman un resumen al utilizar el diseño resumido expandido. Este enfoque les permite a los usuarios tener una idea más clara de las notificaciones pendientes y determinar si están lo suficientemente interesados como para leer los detalles en la aplicación asociada.

Notificación contraída y expandida que es un resumen (mediante el uso de InboxStyle)

Uso de notificaciones opcionales

Los usuarios deben tener siempre el control sobre las notificaciones. Permítale al usuario deshabilitar las notificaciones de su aplicación o cambiar las propiedades de las alertas, como el sonido de una alerta y si desea utilizar la vibración, mediante la incorporación de un elemento de configuración de notificaciones en las configuraciones de la aplicación.

Uso de iconos diferentes

Al mirar el área de notificaciones, el usuario debe poder diferenciar los tipos de notificaciones que están pendientes actualmente.

Lo que debe hacer

Mirar los iconos de notificaciones que ya se proporcionan en las aplicaciones de Android y crear iconos de notificaciones para su aplicación que tengan una apariencia bastante diferente.

Lo que debe hacer

Utilizar el estilo de icono de notificación adecuado para los iconos pequeños y el estilo de icono de barra de acción del diseño Material Light para los iconos de acciones.

Lo que debe hacer

Hacer que los iconos sean simples y evitar incluir una cantidad excesiva de detalles difíciles de distinguir.

Lo que no debe hacer

Colocar valores alfa adicionales (que se oscurezcan o aclaren) en los iconos pequeños y los iconos de acciones. Estos pueden tener bordes alisados, pero como en Android estos iconos se utilizan como máscaras (es decir, solo se utiliza el canal alfa), por lo general, la imagen se debe dibujar con opacidad completa.

Lo que no debe hacer

Utilizar colores para diferenciar su aplicación de las demás. Los iconos de las notificaciones simplemente deben ser una imagen sobre un fondo blanco o transparente.

Pulsación adecuada del LED de notificaciones

Muchos dispositivos con Android incluyen un LED de notificaciones, que se utiliza para mantener al usuario informado sobre los eventos cuando la pantalla está apagada. Las notificaciones con un nivel de prioridad MAX, HIGH o DEFAULT deben hacer que se encienda el LED, mientras que las de menor prioridad (LOW y MIN) no deben activar esta función.

El control del usuario sobre las notificaciones debe extenderse al LED. Cuando se utilice DEFAULT_LIGHTS, el LED se iluminará en color blanco. Sus notificaciones no deberían utilizar un color diferente, a menos que el usuario lo haya personalizado explícitamente.

Creación de notificaciones importantes para los usuarios

Para crear una aplicación que les guste a los usuarios, es importante diseñar las notificaciones cuidadosamente. Las notificaciones son la voz de su aplicación y ayudan a definir su personalidad. Las notificaciones no deseadas o que no son importantes pueden hacer que el usuario se moleste o no se sienta cómodo con la cantidad de atención que le demanda la aplicación, por eso debe utilizarlas de forma moderada.

Cuándo se deben mostrar las notificaciones

Para crear una aplicación que los usuarios disfruten, es importante reconocer que la atención y el enfoque del usuario son recursos que se deben proteger. Aunque el sistema de notificaciones de Android se diseñó para minimizar el impacto de las notificaciones en la atención del usuario, es importante tener en cuenta que las notificaciones interrumpen el flujo de tareas del usuario. Cuando planifique sus notificaciones, pregúntese si son lo suficiente importantes como para realizar una interrupción. Si no está seguro, permítale al usuario que elija las notificaciones mediante la configuración de notificaciones de su aplicación o que ajuste la marca de prioridad de las notificaciones en LOW o MIN para evitar distraer al usuario cuando realiza alguna otra tarea.

Ejemplos de notificaciones sujetas a limitación temporal

Aunque las aplicaciones más eficientes para el usuario solo proporcionan una respuesta cuando se la solicita, en algunos casos, vale la pena que una aplicación interrumpa al usuario con una notificación no solicitada.

Utilice las notificaciones principalmente para eventos sujetos a limitaciones temporales, en especial si estos eventos sincrónicos involucran a otras personas. Por ejemplo, un chat entrante es una forma de comunicación sincrónica y en tiempo real: otro usuario está esperando de forma activa su respuesta. Los eventos del calendario son otros buenos ejemplos de cuándo se debe utilizar una notificación y llamar la atención del usuario, ya que los eventos son inminentes y, generalmente, involucran a otras personas.

Cuándo no se debe mostrar una notificación

En muchos otros casos, no es apropiado enviar notificaciones:

Interacción con las notificaciones

Las notificaciones se indican mediante iconos en la barra de estado, y se puede acceder a ellas al abrir el panel lateral de notificaciones.

Al tocar una notificación, se abre la aplicación asociada con el contenido detallado que coincide con el de la notificación. Si dicha notificación se desplaza hacia la izquierda o la derecha, esta se eliminará del panel lateral.

Notificaciones constantes

Notificaciones constantes relacionadas con la reproducción de música

Mediante las notificaciones constantes, se mantiene a los usuarios informados sobre un proceso en curso en segundo plano. Por ejemplo, los reproductores de música anuncian la pista que se está reproduciendo actualmente en el sistema de notificaciones y siguen haciéndolo hasta que el usuario detiene la reproducción. Mediante las notificaciones constantes también se le pueden mostrar al usuario comentarios sobre tareas más extensas, como descargar un archivo o codificar un video. Los usuarios no podrán eliminar las notificaciones constantes del panel lateral de notificaciones.

Reproducción de medios

En Android 5.0, la pantalla de bloqueo no muestra los controles de transporte para la clase {@link android.media.RemoteControlClient} obsoleta. Sin embargo, muestra las notificaciones, de modo que las notificaciones de reproducción de cada aplicación ahora son la forma principal en la que los usuarios controlan la reproducción desde el estado bloqueado. A través de este comportamiento, se le otorga más control a la aplicación sobre los botones que se deben mostrar, y la forma en que debe mostrarlos, al mismo tiempo que se proporciona al usuario una experiencia coherente, independientemente de si la pantalla está bloqueada o no.

Diálogos y avisos

Su aplicación no debe crear un diálogo o un aviso si actualmente no se muestra en la pantalla. Los diálogos o los avisos se deben mostrar únicamente como una respuesta inmediata a una acción que realiza el usuario dentro de su aplicación. Para obtener más información sobre cómo utilizar los diálogos y los avisos, consulte Confirmación y reconocimiento.

Orden y clasificación

Las notificaciones son noticias que, como tales, se muestran, básicamente, en orden cronológico inverso, prestando especial atención a la prioridad de la notificación especificada en la aplicación.

Las notificaciones son una parte clave de la pantalla de bloqueo y se muestran de forma prominente cada vez que se enciende la pantalla del dispositivo. El espacio en la pantalla de bloqueo es reducido, por lo que es sumamente importante que se identifiquen las notificaciones más urgentes o relevantes. Por este motivo, Android cuenta con un algoritmo de clasificación más sofisticado para las notificaciones, que tiene en cuenta lo siguiente:

Para aprovechar aún más esta función de clasificación, enfóquese en la experiencia del usuario que desea crear, en lugar de centrarse en algún punto importante de la lista.

Las notificaciones de Gmail poseen una prioridad predeterminada, por lo que normalmente clasifican los mensajes de una aplicación de mensajería instantánea como Hangouts, pero realizan un cambio de prioridad temporal cuando ingresan nuevos mensajes.

En la pantalla de bloqueo

Como las notificaciones son visibles en la pantalla de bloqueo, la privacidad del usuario es un aspecto especialmente importante. Por lo general, las notificaciones contienen información confidencial y no necesariamente deben ser visibles para cualquier persona que agarre el dispositivo y encienda la pantalla.

Control del usuario sobre la información que se muestra en la pantalla de bloqueo segura

Notificaciones en la pantalla de bloqueo, en la que el contenido se revela luego de que el usuario desbloquea el dispositivo

Cuando se configura una pantalla de bloqueo segura, el usuario puede decidir ocultar los detalles confidenciales de dicha pantalla. En este caso, la IU del sistema analiza el nivel de visibilidad de la notificación para decidir qué información se puede mostrar de forma segura.

Para controlar el nivel de visibilidad, realice una llamada a Notification.Builder.setVisibility() y especifique uno de los siguientes valores:

Notificaciones en Android Wear

Las notificaciones y sus acciones se conectan de forma predeterminada con los dispositivos con Wear. Los desarrolladores pueden controlar qué notificaciones se conectan desde el teléfono hacia el reloj y viceversa. Los desarrolladores también pueden controlar qué acciones se conectan. Si en su aplicación se incluyen acciones que no se pueden realizar con una sola pulsación, oculte dichas acciones en su notificación para Wear o considere anclarlas a una aplicación de Wear. De este modo, el usuario podrá finalizar con la acción desde el reloj.

Conexión entre notificaciones y acciones

Mediante un dispositivo conectado, como un teléfono, es posible conectar las notificaciones con un dispositivo con Wear, para que las notificaciones se muestren allí. De modo similar, también es posible conectar acciones para que el usuario pueda ejecutarlas directamente desde las notificaciones en los dispositivos con Wear.

Conexión

Sin conexión

Acciones únicas diseñadas para Wear

Existen algunas acciones que solo puede realizar en Wear. Entre estas, se incluyen las siguientes: