Evaluando propuestas

Web Push Notifications

Publicado el 22 Junio, 2021 en Programación y Tecnología

Sobre este proyecto

Abierto

Web Push Notification es una tecnología que ofrecen los navegadores modernos, que permite enviar mensajes a los usuarios que visitaron en algún momento un página web, aún si al momento del envío el usuario no está con la página abierta.

https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web
https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API

La idea general del proyecto es poder brindar a nuestros clientes la posibilidad de utilizar web push notificaciones en sus sitios web, esta herramienta no es para uso interno, sino para brindar como servicio a nuestros clientes. Esto significa que debe poder personalizarse todos los archivos de inclusión para que funcionen para diferentes clientes en diferentes sitios web

Crear una herramienta que permita que nuestros clientes implementen en sus sitios web push notifications y de esta forma los usuarios suscritos puedan recibir notificaciones de forma periódica.

Nuestros clientes deberán poder implementarlo de manera sencilla, colocando simplemente un archivo javascript en su sitio web, que tendrá toda la información y programación necesaria para poder activar las notificaciones.

La solicitud inicial de suscripción que visualizará el usuario deberá mostrar un div en donde se mostrará un mensaje y dos botones de suscribirse o cancelar. No se utilizará por defecto la solicitud que los navegadores ya muestran, sino que previamente se mostrará un mensaje con diseño y personalizado. Estos mensajes deberán poder ser personalizados por cliente.


Cada vez que un usuario se suscriba o desuscriba al servicio, deberá realizar un post a nuestro servidor para poder guardar el key de notificación y cualquier otro dato que sea necesario, para luego poder utilizarlo para realizar campañas de envíos de notificaciones. También se deberá informar los eventos de visualización (cada vez que la notificación se visualice en el navegador) y cada vez que el usuario haga click en algún enlace de la notificación. Esto permitirá tener variables estadísticas de visualización y clicks.


Deberá también desarrollarse un proceso o servicio en Python (somo sugerencia, puede ser otro) que permita realizar envíos masivos de notificaciones personalizadas a cada uno de los usuarios que se suscribieron. Cada cliente podrá configurar una notificación, con los textos, logos y links correspondientes para que sean enviados a cada uno de los usuarios que se suscribieron previamente.

Ejemplo de uso
Creación inicial de notificaciones.
- Un cliente solicita utilizar la herramienta de push notificación.
- El cliente persinaliza su configuración.

- Obtiene el código de javascript que debe colocar en su sitio web.
- El cliente coloca el código javascript en su sitio web y queda de esta forma habilitado el servicio.
- Un usuario visita el sitio web del cliente, visualiza la opción de suscribirse y acepta.

- Debe ser enviado a nuestra plataforma el id del sitio web y el key único del usuario que se obtuvo al suscribirse. Al igual que si el usuario en algún momento se desuscribe.
- Los keys se guardan en nuestra plataforma.


Envío de notificaciones
- El cliente solicita realizar un envío masivo de notificaciones
- Ingresa ciertos parámetros de la notificación, como por ejemplo: título, descripción, imagen, links, etc.
- El cliente realiza el envío en un cierto día y horario.
- El proceso debe enviar las notificaciones a cada key de notificaciones previamente guardado.

- Un usuario recibe la notificación. Debe informar a nuestra plataforma que la notificación fue visualizada.
- El usuario hace click en el link de la notificación.
Debe informar a nuestra plataforma que se hizo click en la notificación.


Alcance:
Se debe desarrollar toda la programación de los scripts de push notification que se incorporarán en los sitios web de nuestros clientes. Las notificaciones deben poder visualizarse en todos los navegadores: Chrome, Firefox, Internet Explorer y Safari. Las notificaciones deben poder ser recibidas tanto en versiones de navegadores Web y Mobile.


Se debe desarrollar un proceso o servicio que realice los envíos de las notificaciones, previamente configuradas. Este proceso debe recibir ciertos parámetros y realizar los envíos, deberá poder procesar grandes volúmenes de envíos simultáneos.

No incluye en los desarrollos las modificaciones que deban realizarse en nuestra plataforma, nosotros pondremos a disposición webhooks en donde se deben informar los eventos de las suscripciones, desuscripciones, visualizaciones y click, de notificaciones.

Se podrá evaluar la posibilidad de utilizar Firebase para los envíos a Chrome, como opciones específicas de Apple para los envíos a Safari.

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Cambio mediano
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)
Roles necesarios Programador

Plazo de Entrega: No definido

Habilidades necesarias