page.title=Notificaciones
page.tags="notifications","design","L"
@jd:body
Cómo notificar al usuario DevBytes: Notificaciones en la vista previa para desarrolladores de Android LDocumentos para desarrolladores
Notificaciones en Android 4.4 y versiones anteriores
Video
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.
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.
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.
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.
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).
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.
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
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.
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.
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 |
|
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. |
|
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. |
|
Utilícelo para todas las notificaciones que no pertenecen a ninguno de los otros tipos de prioridades que se describen aquí. |
|
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. |
|
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. |
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:
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.
Llamada entrante (voz o video) o una solicitud de comunicación sincrónica similar |
|
Mensaje entrante directo (SMS, mensaje instantáneo, etc.) |
|
Mensaje en bloque asíncrono (correo electrónico) |
|
Evento del calendario |
|
Promoción o anuncio |
|
Alarma o temporizador |
|
Progreso de una operación en segundo plano de larga ejecución |
|
Actualización de red social o uso compartido de datos |
|
Error en una operación en segundo plano o un estado de autenticación |
|
Control de transporte de medios para la reproducción |
|
Actualización del estado del dispositivo o el sistema. Reservado para ser utilizado por el sistema |
|
Indicación de ejecución de servicio en segundo plano |
|
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 |
|
Información constante sobre el estado contextual o del dispositivo |
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.
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.
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.
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.
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.
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.
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.
En muchos otros casos, no es apropiado enviar 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.
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.
En Android 5.0, la pantalla de bloqueo no muestra los controles de transporte para la clase {@link android.media.RemoteControlClient} obsoleta. Sin embargo, sí 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.
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.
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.
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.
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:
VISIBILITY_PUBLIC
.
Se muestra todo el contenido de la notificación.
Esta es la opción predeterminada del sistema si no se especificó el grado de visibilidad.VISIBILITY_PRIVATE
.
En la pantalla de bloqueo se muestra la información básica sobre la existencia de esta notificación, incluido
el icono y el nombre de la aplicación a través de la cual se publicó. No se muestra el resto de los detalles de la notificación.
A continuación, especificamos algunos puntos que se deben tener en cuenta:
Notification.publicVersion
.
VISIBILITY_PRIVATE
, pero publicVersion
podría
seguir conteniendo información útil como "3 mensajes nuevos", sin que se muestren otros detalles
de identificación.
Notification.VISIBILITY_SECRET
. Se muestra solo la menor cantidad de información posible; se excluye incluso
el icono de la notificación.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.
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
Existen algunas acciones que solo puede realizar en Wear. Entre estas, se incluyen las siguientes: