Saltar al contenido principal

DesktopNotification

Abrir en ChatGPT
25.00 Experimental
Java API

En webforj 25.00 y versiones superiores, el componente DesktopNotification proporciona una interfaz simple para crear, mostrar y gestionar notificaciones de escritorio. Con un enfoque en una configuración mínima y manejo de eventos integrado, el componente se puede utilizar para notificar a los usuarios sobre eventos en tiempo real (como nuevos mensajes, alertas o eventos del sistema) mientras navegan por tu aplicación.

característica experimental

El componente DesktopNotification todavía está en evolución, y su API puede experimentar cambios a medida que madura. Para comenzar a usar esta función, asegúrate de incluir la siguiente dependencia en tu pom.xml.

<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-desktop-notification</artifactId>
</dependency>
Requisitos previos

Antes de integrar el componente DesktopNotification, asegúrate de que:

  • Tu aplicación se ejecute en un contexto seguro (HTTPS).
  • El navegador no esté en modo incógnito o de navegación privada.
  • El usuario haya interactuado con la aplicación (por ejemplo, haciendo clic en un botón o presionando una tecla), ya que las notificaciones requieren un gesto del usuario para mostrarse.
  • El usuario haya otorgado permisos para las notificaciones (esto se solicitará automáticamente si es necesario).

Uso básico

Hay múltiples formas de crear y mostrar una notificación. En la mayoría de los escenarios, el enfoque más simple es llamar a uno de los métodos estáticos show que encapsulan todo el ciclo de vida de la notificación.

Ejemplo: Mostrando una notificación básica

// Notificación básica con título y mensaje
DesktopNotification.show("Actualización disponible", "¡Tu descarga está completa!");

Esta línea crea una notificación con un título y cuerpo, y luego intenta mostrarla.

Personalizando la notificación

Hay varias opciones para personalizar la apariencia de la notificación mostrada, dependiendo de las necesidades de la aplicación y del propósito de la notificación.

Estableciendo un Icono personalizado

Por defecto, la notificación utiliza el icono de la aplicación definido a través del protocolo de iconos. Puedes establecer un icono personalizado utilizando el método setIcon. El componente admite diferentes esquemas de URL:

  • context://: Resuelto como una URL de contexto que apunta a la carpeta de recursos de la aplicación; imagen codificada en base64.
  • ws://: Resuelto como una URL de servidor web, proporcionando una URL completamente calificada.
  • icons://: Resuelto como una URL de iconos.

Ejemplo:

// Creando una notificación con una URL de icono personalizado
DesktopNotification notification = new DesktopNotification(
"Recordatorio", "La reunión comienza en 10 minutos."
);
notification.setIcon("context://images/custom-icon.png");
notification.open();

Eventos de notificación

El DesktopNotification admite varios eventos del ciclo de vida, y se pueden adjuntar oyentes para manejar eventos, como cuando se muestra, cierra, hace clic en la notificación o encuentra un error.

EventoDescripciónCuándo usar
AbrirSe activa cuando se muestra la notificación.Registrar la visualización de la notificación, actualizar la interfaz, rastrear el compromiso.
CerrarSe activa cuando se cierra la notificación.Limpiar recursos, registrar eliminaciones, ejecutar acciones de seguimiento.
ErrorSe activa cuando ocurre un error con la notificación o el usuario no otorgó permiso.Manejar errores de manera adecuada, notificar al usuario, aplicar alternativas.
ClicSe activa cuando el usuario hace clic en la notificación.Navegar a una sección específica, registrar interacciones, reenfocar la aplicación.
DesktopNotification notification = new DesktopNotification("Alerta", "¡Tienes un nuevo mensaje!")

// Adjuntar un oyente de eventos para el evento abrir
notification.onOpen(event -> {
System.out.println("La notificación fue abierta por el usuario.");
});

// De manera similar, escuchar el evento clic
notification.onClick(event -> {
System.out.println("Notificación clicada.");
});
Comportamiento del clic

Las políticas de seguridad del navegador impiden que el evento de clic de la notificación traiga automáticamente la ventana o la pestaña de tu aplicación al foco. Este comportamiento es impuesto por el navegador y no puede ser anulado programáticamente. Si tu aplicación requiere que la ventana esté enfocada, deberás instruir a los usuarios que hagan clic dentro de la aplicación después de interactuar con la notificación.

Consideraciones de seguridad y compatibilidad

Al usar el componente DesktopNotification, ten en cuenta los siguientes puntos:

  • Contexto de seguridad: Tu aplicación debe ser servida a través de HTTPS para garantizar que las notificaciones sean permitidas por la mayoría de los navegadores modernos.
  • Requisito de gesto del usuario: Las notificaciones solo se muestran después de una acción desencadenada por el usuario. Simplemente cargar una página no activará una notificación.
  • Limitaciones del navegador: No todos los navegadores manejan íconos personalizados o el comportamiento de enfoque de la misma manera. Por ejemplo, los íconos personalizados pueden no funcionar en Safari, mientras que el comportamiento de los eventos puede variar en otros navegadores.
  • Permisos: Siempre verifica que tu aplicación compruebe y solicite permisos de notificación al usuario de manera adecuada.

Mejores prácticas de uso

Ten en cuenta las siguientes mejores prácticas al usar el componente DesktopNotification en tu aplicación:

  • Informa a tus usuarios: Haz saber a los usuarios por qué se necesitan las notificaciones y cómo pueden beneficiarse de ellas.
  • Proporciona alternativas: Dado que algunos navegadores pueden restringir las notificaciones, considera formas alternativas de alertar a los usuarios (por ejemplo, mensajes dentro de la aplicación).
  • Manejo de errores: Siempre registra un oyente de errores para gestionar de manera adecuada los escenarios en los que las notificaciones no se puedan mostrar.