Las notificaciones push PWA (Progresive Web App) en Oracle APEX son mensajes instantáneos que pueden ser enviados a los usuarios de una aplicación web progresiva sin que estos tengan que estar activamente utilizando la aplicación en ese momento.
Estas notificaciones se envían directamente a los dispositivos móviles o computadoras de los usuarios, permitiendo que estos se mantengan informados sobre actualizaciones relevantes, novedades o cualquier otra información importante relacionada con la aplicación que deseemos enviarles.
Las notificaciones push PWA en Oracle APEX son una herramienta poderosa para aumentar la interacción de los usuarios con la aplicación y mejorar la experiencia del usuario en general.
Algunos usos que se le dan son: enviar recordatorios, alertas, actualizaciones de contenido, promociones, estos entre otros mensajes que ayudan a mantener a los usuarios comprometidos y conectados con la aplicación.
Mediante la configuración adecuada en Oracle APEX, los desarrolladores pueden programar y enviar notificaciones push de manera automatizada, segmentada y personalizada, lo que permite llegar a los usuarios de manera efectiva y oportuna. Estas notificaciones pueden incluir texto, imágenes, enlaces y otros elementos interactivos que permiten una comunicación más dinámica y atractiva.
En resumen, las notificaciones push PWA en Oracle APEX son una característica clave para mejorar la comunicación con los usuarios, aumentar la retención de usuarios, impulsar la participación y ofrecer una experiencia de usuario más enriquecedora en las aplicaciones web progresivas desarrolladas en esta plataforma.
Lo podemos hacer cuando creamos una nueva aplicación o habilitando la funcionalidad en una aplicación ya existente.
Cuando se trata de nuevas aplicaciones, simplemente vamos al proceso de creación de aplicaciones estándar y nos aseguramos de seleccionar las opciones Install Progressive Web App y Push Notifications que se encuentran en la sección Funcionalidades al crear nuestra aplicación
Por otra parte, cuando la aplicación ya existe y no hemos habilitado estas opciones desde el inicio, debemos hacer habilitar estas funcionalidades.
Para ello, vamos a los componentes compartidos de la aplicación
Seleccionamos la opción Progressive Web App de la sección User Interface y nos aseguraremos de habilitar el switch para habilitar las opciones: Progressive Web App, Instalable y Push Notifications.
A continuación, seguimos los seteos intuitivos en la nueva sección Push Notification que e activa, generando las credenciales de seguridad para la aplicación y agregando la página de configuración para usuarios.
Oracle APEX prioriza la seguridad y la experiencia de usuario en este tema de las Notificaciones.
Recuerden, este puede volverse un servicio bastante invasivo por lo que es importante garantizar a los usuarios que ellos
puedan recibir solo las notificaciones tipo push que han consentido recibir.
Esto permite evitar patrones de spam y mantener el medio ambiente de nuestras aplicaciones amigables al usuario.
De forma a cumplir con ello, Oracle APEX presenta un proceso de suscripción y des-suscripción directa al servicio de Notificaciones Push.
Cuando los usuarios ejecutan la aplicación, pueden acceder a la opción de notificaciones push en el menú de seteos bajo su nombre de usuario.
Al habilitar las notificaciones push en sus dispositivos y autorizando a la aplicación APEX, sus preferencias de suscripción son guardadas de forma segura en la metadata repository de APEX.
Una vez que el seteo de nuestra aplicación se ha completado y los usuarios han comenzado a suscribirse, podemos proceder a enviarles su primera notificación.
El envío de notificaciones push desde una aplicación ápex puede ser realizada con dos diferentes métodos, ambos ofreciendo sus propios beneficios y niveles de control.
Comprender estos métodos puede ayudar a elegir la mejor opción para las necesidades específicas que se tengan, sin embargo, independientemente al método que elijan para enviar notificaciones
Es importante identificar a los usuarios que se han suscripto a la funcionalidad con el objetivo de decidir si utilizamos el método de un proceso de página declarativo, o la de una API de manera significativa.
Oracle APEX ofrece dos vistas sobre las notificaciones push que nos ayudan a analizar los datos
La primera es la APEX_APPL_PUSH_SUBSCRIPTIONS
Esta es una vista que contiene la lista de usuarios que se han suscripto a la aplicación e incluye el nombre del usuario suscripto y el endpoint suscripto, el cual es el identificador único para cada dispositivo del usuario desde el cual se ha realizado la suscripción
Esta vista contiene las notificaciones pendientes, incluye el contenido de la notificación en si misma como también el mensaje de error si en algún momento el proceso de envío ha fallado de alguna forma al enviar una notificación push.
En APEX, el envío de mensajes push se realiza típicamente a través del uso de un proceso de página Nativo llamado Send Push Notification
Esta opción es ideal para los usuarios que prefieren un proceso directo que no requieran de gran personalización.
Para los desarrolladores que buscan mas control sobre la apariencia y el contenido de las notificaciones push, la API: APEX_PWA ofrece más flexibilidad.
Como vemos aquí en pantalla, utilizamos el proceso SEND_PUSH_NOTIFICATION para ello
Finalmente, es importante comprender que, cuando enviamos una notificación, esta de hecho es agregada a una cola de notificaciones y el motor de APEX es el responsable de despachar la cola cada cierta cantidad de tiempo: por default cada dos minutos.
La API APEX_PWA contiene un procedimiento para forzar el envío expeditivo de las notificaciones. Esto se realiza mediante el proceso PUSH_QUEUE, de esta forma todas las notificaciones que se encuentren en cola son despachadas de forma inmediata.
Para que la aplicación pueda ser instalada debe cumplirse con la siguiente tabla de compatibilidades, allí pueden notar que para IOS en particular solo pueden realizar la instalación mediante Safari.
Mensaje: “Not Supported” en iOS cuando se muestra la página de configuración al usuario
En primer lugar, el dispositivo debe tener instalado iOS 16.4 o una versión posterior, ahora, si el dispositivo ya lo tiene instalado, debes tener en cuenta que las notificaciones push solo están disponibles en los navegadores Safari para las PWA instaladas. Intenta instalar la PWA accediendo desde Safari y vuelve a consultar la página de configuración del usuario.
Las notificaciones no se entregan a mi dispositivo
Verifica que el nombre de usuario se ha introducido correctamente en el proceso de envio, el nombre de usuario distingue entre mayúsculas y minúsculas.
Comprueba si las notificaciones están habilitadas en la configuración de tu navegador.
Esto se hace haciendo clic en el menú de tres puntos en la esquina superior derecha de la ventana del navegador y seleccionando "Configuración" o "Preferencias".
Desde allí, buscamos una sección llamada “Privacidad y seguridad”, Alli vemos en "Notificaciones" o "Configuración del sitio" y asegúrate de que las notificaciones estén activadas para el sitio web correspondiente.
Si las notificaciones están habilitadas pero sigues sin recibirlas, prueba a borrar la memoria caché y las cookies de tu navegador.
Verifica si el motor de tu navegador, el navegador a través del cual está instalada la PWA, permite enviar notificaciones en la configuración de tu sistema operativo según la tabla de compatibilidades
Por último, asegúrate de estar conectado a Internet y de que tu dispositivo no esté en modo "No molestar". Estas configuraciones a veces pueden impedir que lleguen las notificaciones.
Este dispositivo falló en habilitar las push notifications
En este caso debemos comenzar verificando las credenciales en la configuración de la aplicación web progresiva.
Después de instalar o importar una aplicación en el espacio de trabajo, se deben generar las credenciales para esta aplicación.
Si no realizó este paso, debemos hacr clic en el botón (Regenerar credenciales) en la pestaña Notificaciones push.
Sin embargo, cuidado, porque al regenerar credenciales ya válidas, se invalidan todas las suscripciones existentes que usaron las credenciales del par de claves anterior que estaban vigentes.
Cambiar el alias de la aplicación bloquea los envios de notificaciones push
Actualizar un alias de aplicación cambia la estructura de la URL y hace que el service worker se invalide.
Se recomienda no actualizar un alias de aplicación para sistemas de producción, o los usuarios tendrán que suscribirse nuevamente a las notificaciones push.
ORA-24247: network Access denied by Access control list (ACL)
Este error no debería ocurrir al utilizar APEX Service o APEX en Autonomous Database.
Sin embargo, en otros entornos donde es necesario configurar manualmente qué solicitudes de red salientes están permitidas habilitando las ACL. Ver con el DBA
ORA-29024: Error en la Validación del Certificado
APEX envía las notificaciones push mediante el protocolo seguro HTTPS, esto requiere que la instancia de APEX tenga certificados de confianza de los sitios de Apple, Microsoft, Mozilla y Google que alojan sus respectivas API REST de entrega de notificaciones push.
Si no tienes una wallet configurada, muchos usuarios de la comunidad APEX han utilizado un script generador de wallets de confianza con certificación de código abierto, cuyo archivo README explica cómo usarlo y actualizar APEX para que apunte a la nueva wallet generada. Aquí abajo les dejo el link de este generador.
Y bueno, existen un par de problemas más reportados que tienen solución, mas que nada relacionados a instalaciones on-premise (o sea, locales), pero son mas puntuales por lo que con estos que les acabo de mostrar prácticamente hablamos del 90% de los casos y si necesitan mas asistencia, ya saben donde encontrarme. :)
Comentarios
Publicar un comentario