DataFirefly PWA — Guía completa
Instalar, configurar y explotar la PWA: tienda instalable, campañas push enriquecidas y programadas, alertas de producto, preferencias del cliente y modo sin conexión para PrestaShop 8 y 9.
Presentación
El módulo DataFirefly PWA (dfpwa) convierte tu tienda PrestaShop en una Progressive Web App: tus clientes la instalan en su pantalla de inicio, reciben notificaciones push web y siguen navegando sin conexión. El módulo es totalmente autónomo: el cifrado de las notificaciones se ejecuta en PHP nativo, sin Composer, sin servicios externos y sin suscripción.
Cuatro pilares: una tienda instalable, un motor de push profesional (campañas enriquecidas, programadas y segmentadas), automatizaciones (pedidos, carritos, stock, precios) y un modo sin conexión.
Compatibilidad y requisitos
- PrestaShop 8.0 a 9.x, monotienda y multitienda
- Módulo traducido a 7 idiomas: FR, EN, ES, DE, IT, NL, PL
- Sin dependencias: ni Composer, ni framework, ni servicios externos
- HTTPS obligatorio: las PWA y el push web no existen en HTTP
- Extensión PHP openssl con la curva
prime256v1, para el cifrado VAPID - Tarea cron para las campañas programadas, las alertas de producto y la recuperación de carritos
Si openssl o prime256v1 no están disponibles, la instalación se bloquea con un mensaje explícito. Pide a tu alojamiento que active la extensión.
Instalación
- Back office: Módulos > Gestor de módulos.
- Subir un módulo y selecciona
dfpwa.zip. - Haz clic en Configurar.
- Copia la URL de cron que aparece en el cuadro de mando y añádela a tu programador, cada 5 a 15 minutos.
Durante la instalación, el módulo genera tus claves VAPID y un token de cron, crea sus tablas, instala la página de campañas y añade el enlace «Preferencias de notificación» a la cuenta del cliente. Se incluyen iconos PWA válidos, así que la tienda es instalable de inmediato, antes incluso de que subas los tuyos.
Configuración
Aplicación e instalación
- Nombre y nombre corto: se muestran bajo el icono una vez instalada.
- Color del tema y color de fondo: barra del sistema y pantalla de inicio.
- Modo de visualización: standalone recomendado. El modo browser impide cualquier instalación.
- URL de inicio: página que se abre al lanzar la aplicación.
- Iconos de 192 y 512 px: PNG o WebP cuadrados. Un icono demasiado pequeño o no cuadrado se rechaza y se conserva el predeterminado del módulo, para no romper la instalabilidad.
- Banner de instalación, retardo de aparición y ayuda iOS.
Diagnóstico de instalabilidad
El cuadro de mando comprueba punto por punto lo que exige Chrome antes de ofrecer la instalación: HTTPS, modo de visualización compatible, iconos de 192 y 512 px válidos, página de respaldo sin conexión disponible y módulo activado. Un enlace abre el manifest generado.
En iPhone y iPad no existe ningún aviso automático: Safari impone el paso manual «Añadir a pantalla de inicio». Es normal, y el módulo se lo explica al visitante. El diagnóstico afecta, por tanto, a Android y a los navegadores de escritorio. En la tienda, el comando dfpwaDiagnose() en la consola del navegador indica exactamente qué bloquea.
Push web
- Asunto VAPID: dirección de contacto enviada a los servicios de push, en
mailto:ohttps://. - Preguntar automáticamente y mensaje de consentimiento: aviso previo al diálogo nativo del navegador, conforme al RGPD.
- Campana de suscripción: seis posiciones, ocultable en el carrito y el pago. Una vez suscrito el visitante, la campana se convierte en un acceso directo a sus preferencias.
- Vida útil del mensaje: tiempo que un servicio de push conserva una notificación no entregada.
- Máximo de notificaciones por dispositivo y día: 0 desactiva el límite. Los mensajes transaccionales nunca lo consumen.
- Horas de silencio: las campañas en cola durante esa franja las envía después el cron. Dos valores iguales desactivan la función.
- Mensajes por ejecución del cron: redúcelo si tu alojamiento impone un tiempo de espera PHP corto.
Modo sin conexión
- Estrategia de caché: stale-while-revalidate (recomendada), red primero o caché primero.
- Título y mensaje de la página de respaldo, y lista de URL precacheadas.
El carrito, el proceso de pago y la cuenta de cliente quedan siempre excluidos de la caché. Desactivar el modo sin conexión no impide la instalación: la página de respaldo se sigue sirviendo, porque un navegador solo instala una aplicación capaz de responder sin conexión.
Enviar una campaña
- Abre PWA Push en el menú de administración.
- Escribe un título (unos 50 caracteres) y un mensaje (unos 120 caracteres).
- Añade una imagen de banner subiéndola (JPG, PNG o WebP, 2 MB máximo, proporción ideal 2:1) o indicando una URL. El archivo subido tiene prioridad.
- Añade hasta dos botones de acción, cada uno con su etiqueta y su propia URL.
- Segmenta por idioma, grupo de clientes, dispositivo (iOS, Android, escritorio) y audiencia (todos, clientes registrados, invitados).
- Deja Programar para vacío para enviar ahora, o indica una fecha con el formato
AAAA-MM-DD HH:MM. - Usa el modo de prueba para enviarte la notificación antes de un envío masivo.
El modo de prueba solo apunta a los dispositivos vinculados a una cuenta de cliente que use tu correo de empleado. Si no coincide ninguna cuenta, el envío se rechaza en lugar de distribuirse a todo el segmento.
Cola de envío
Cada envío se pone en cola y se procesa por lotes. Una parte sale de inmediato y el resto lo distribuye el cron. Una base de decenas de miles de suscriptores no provoca, por tanto, ningún tiempo de espera agotado ni estadísticas truncadas. El cuadro de mando muestra cuántas notificaciones esperan y permite forzar un procesamiento.
Historial y estadísticas
El historial lista las treinta últimas campañas con su estado, destinatarios, entregas, fallos, clics y tasa de clics. El clic se atribuye a la campaña que generó la notificación, y el contador nunca puede superar el número de mensajes realmente entregados. Los suscriptores se exportan en CSV.
Automatizaciones
Seguimiento del pedido
Marca los estados que disparan una notificación. Por defecto: pago aceptado, enviado, entregado. Si no marcas ninguno, se notifica en cada cambio de estado.
Recuperación de carritos abandonados
El cron detecta los carritos con artículos, vinculados a un cliente suscrito y sin pedido, dentro de la ventana configurada (de 1 a 168 horas).
Alertas de vuelta a stock y de bajada de precio
Aparece un botón en la ficha de producto. El de vuelta a stock solo se muestra si el producto no está disponible; el de bajada de precio se ofrece siempre. El visitante no necesita cuenta: la alerta se vincula a la suscripción de su dispositivo. Se memoriza el precio en el momento de la solicitud y tú fijas el porcentaje mínimo de bajada que dispara la alerta.
Notificación de bienvenida
Se envía una sola vez, en la primera suscripción de un dispositivo. Confirma el alta y las preferencias del cliente nunca la bloquean.
Preferencias del cliente
Desde su cuenta, el cliente abre Preferencias de notificación y activa o desactiva cuatro categorías:
- Actualizaciones de pedidos: envío y cambios de estado
- Alertas de producto: vuelta a stock y bajadas de precio
- Recordatorios de carrito: recuperación del carrito abandonado
- Ofertas y novedades: campañas de marketing
Todo está activado por defecto, también para los suscriptores existentes tras una actualización. La elección se aplica a todos los dispositivos del cliente, y un dispositivo nuevo hereda sus preferencias. Una categoría desactivada nunca se envía, ni siquiera en los mensajes transaccionales que ignoran el límite diario y las horas de silencio.
RGPD
- Consentimiento solicitado con un mensaje explícito antes de cualquier suscripción
- El cliente gestiona sus categorías desde su cuenta y puede desactivarlo todo
- Al eliminar una cuenta de cliente se borran suscripciones, alertas de producto y mensajes en cola, mediante el hook RGPD de PrestaShop
- Ningún dato se transmite a un servicio externo: el cifrado se realiza en tu servidor
Personalización desde el tema
data-dfpwa-bellen cualquier elemento lo convierte en botón de suscripción y sustituye a la campana flotante.data-dfpwa-shareen cualquier elemento lo convierte en botón de compartir nativo.- La clase
dfpwa-prefs-formse deja sin estilos para tus propias reglas CSS.
FAQ y resolución de problemas
El banner de instalación no aparece en Android
Chrome no muestra nada mientras la tienda no cumpla sus criterios. Consulta el diagnóstico del cuadro de mando y después ejecuta dfpwaDiagnose() en la consola del navegador en la tienda: el veredicto indica qué falta. Si ya instalaste la PWA en el dispositivo, desinstálala y borra los datos del sitio antes de volver a probar. Un rechazo memorizado por el visitante caduca a los 30 días, o de inmediato con dfpwaResetPrompts().
No se instala nada en iPhone
Es el comportamiento normal de Safari, que no tiene aviso automático. La guía «Añadir a pantalla de inicio» del módulo explica los pasos. El push web solo funciona allí a partir de iOS 16.4, y únicamente con la tienda ya instalada.
Las notificaciones no salen
Comprueba que el push está activado, que existen las claves VAPID y que hay clientes suscritos. El modo de prueba valida toda la cadena. Si los mensajes se quedan en cola, verifica que el cron se llama realmente.
Una campaña sigue pendiente
Está programada para una fecha futura, en cola durante las horas de silencio, o distribuyéndose por lotes. El cuadro de mando permite forzar el procesamiento.
Un cliente dice que no recibe nada
Revisa sus preferencias de notificación: puede haber desactivado una categoría. Comprueba también el límite diario por dispositivo y las horas de silencio.
Las alertas de producto no se disparan
Dependen del cron. Verifica que se ejecuta, que el tipo de alerta está activado y, para las bajadas de precio, que el descuento alcanza el porcentaje mínimo configurado.