DataFirefly PWA — Guida completa
Installare, configurare e gestire la PWA: negozio installabile, notifiche push web, recupero carrelli tramite cron e modalità offline per PrestaShop 8 e 9.
Panoramica
Il modulo DataFirefly PWA (dfpwa) trasforma il tuo negozio PrestaShop in una Progressive Web App: i tuoi clienti possono installarlo sulla schermata Home, ricevere notifiche push web e continuare a navigare anche offline. Il modulo è completamente autonomo: la cifratura delle notifiche è gestita in PHP nativo, senza Composer, senza servizi esterni e senza abbonamento.
Tre pilastri: un negozio installabile (icona sulla schermata Home), notifiche push (campagne, tracciamento ordini, recupero carrelli) e una modalità offline (service worker + pagina di fallback).
Compatibilità
- PrestaShop da 8.0 a 9.x
- Mono-negozio e multinegozio
- 5 lingue: FR, EN, ES, DE, IT
- Nessuna dipendenza (né Composer né framework)
Requisiti
- HTTPS obbligatorio: le PWA e il push web funzionano solo su un negozio servito tramite HTTPS. Quasi tutti i negozi in produzione ne dispongono già.
- Estensione PHP openssl: utilizzata per la cifratura VAPID delle notifiche. Il modulo ne verifica la presenza durante l’installazione.
Se openssl o la curva prime256v1 non sono disponibili sul tuo server, l’installazione viene bloccata con un messaggio esplicito. Contatta il tuo provider di hosting per attivare l’estensione.
Installazione
- Nel back office, apri Moduli > Gestore dei moduli.
- Fai clic su Carica un modulo e seleziona il file
dfpwa.zip. - Una volta installato, fai clic su Configura.
Durante l’installazione, il modulo genera automaticamente le tue chiavi VAPID (pubblica e privata) e un token cron, crea le tabelle delle iscrizioni e del registro degli invii e registra la pagina di configurazione delle campagne nel menu di amministrazione.
Configurazione
Applicazione (PWA)
- Nome dell’applicazione e nome breve: mostrati sotto l’icona una volta installato il negozio.
- Colore del tema e colore di sfondo: utilizzati per la barra di sistema e la schermata di avvio.
- Modalità di visualizzazione: standalone (schermo intero, consigliata), fullscreen o minimal-ui.
- URL di avvio: pagina aperta all’avvio dell’applicazione installata.
- Icone 192 e 512 px: carica le tue icone (PNG o WebP). In mancanza, viene usato automaticamente il logo del negozio.
Banner di installazione
- Mostra il banner: propone l’installazione ai visitatori idonei.
- Ritardo di comparsa: numero di secondi prima che il banner appaia, per non disturbare l’arrivo sul sito.
- Aiuto iOS: mostra una guida passo passo «Aggiungi alla schermata Home» per gli utenti di Safari su iPhone e iPad.
Su iOS, l’installazione non può essere attivata automaticamente dal sito: avviene obbligatoriamente tramite il menu di condivisione di Safari. La guida integrata spiega ogni passaggio al visitatore.
Notifiche push
- Attiva il push: consente l’iscrizione e l’invio delle notifiche.
- Consenso preliminare: mostra un messaggio esplicito prima della richiesta nativa del browser, conforme al GDPR.
- Ritardo prima della richiesta: tempo di attesa prima di proporre l’iscrizione al push.
- Oggetto VAPID: indirizzo di contatto (mailto o URL) inviato ai server di push, come previsto dalla specifica.
- Notifica al cambio di stato dell’ordine: avvisa automaticamente il cliente (ordine spedito, per esempio).
- Recupero dei carrelli abbandonati e ritardo di recupero: attivano una notifica dopo un carrello lasciato senza ordine.
Modalità offline
- Attiva la modalità offline: registra il service worker e la pagina di fallback.
- Strategia di cache: stale-while-revalidate (visualizzazione immediata e aggiornamento in background, consigliata), rete prima o cache prima.
- Titolo e messaggio offline: testi mostrati sulla pagina di fallback.
- Pre-cache: elenco di URL da memorizzare nella cache non appena il service worker viene installato.
Le pagine sensibili (carrello, checkout, account cliente) sono sempre escluse dalla cache, per non servire mai contenuti obsoleti su dati personali o transazionali.
Condivisione
Attiva il pulsante di condivisione nativo per consentire ai tuoi clienti di condividere una scheda prodotto tramite la finestra di condivisione del proprio dispositivo (Web Share API). Aggiungi l’attributo data-dfpwa-share a qualsiasi elemento del tuo tema per trasformarlo in un attivatore di condivisione.
Notifiche push: funzionamento
Il modulo implementa il push web standard (VAPID + cifratura conforme alle RFC 8291 e 8188), interamente in PHP tramite openssl. Nessun dato di iscrizione lascia il tuo server.
Inviare una campagna
- Apri la pagina Campagne push nel menu di amministrazione.
- Inserisci un titolo, un messaggio e un URL di destinazione.
- Segmenta per lingua e gruppo di clienti se necessario.
- Usa la modalità di test per inviarti la notifica prima di un invio di massa, poi conferma.
Le notifiche vengono inviate in parallelo a lotti e le iscrizioni scadute (codici 404 / 410) vengono eliminate automaticamente. Ogni invio viene registrato nel registro con il numero di destinatari, consegne e clic.
Attivatori automatici
- Tracciamento dell’ordine: a ogni cambio di stato, il cliente iscritto riceve una notifica (se ha accettato il push).
- Carrello abbandonato: un’attività cron individua i carrelli con articoli, collegati a un cliente iscritto e senza ordine, entro la finestra di recupero configurata.
Il recupero dei carrelli viene eseguito tramite un’attività cron protetta da token. Recupera l’URL cron completo dalla pagina di configurazione e aggiungilo al tuo scheduler (per esempio, ogni ora). Il token impedisce qualsiasi esecuzione non autorizzata.
Modalità offline: funzionamento
Il service worker viene registrato nell’ambito radice del negozio grazie all’intestazione Service-Worker-Allowed, il che gli consente di controllare tutte le pagine. A seconda della strategia scelta, serve le pagine dalla cache, dalla rete o da entrambe. Quando la connessione viene persa del tutto e non è disponibile alcuna versione in cache, viene mostrata una pagina di fallback autonoma con i colori del tuo negozio, con un pulsante «Riprova» e un collegamento di ritorno alla home.
Cruscotto
La pagina di configurazione mostra a colpo d’occhio il numero di iscritti al push, il numero di notifiche inviate e il tasso di clic delle tue campagne. Poiché le iscrizioni scadute vengono eliminate automaticamente, queste statistiche restano affidabili.
FAQ e risoluzione dei problemi
Il banner di installazione non appare
Verifica che il negozio sia servito tramite HTTPS, che il modulo sia attivato e che la PWA non sia già installata. Sui browser desktop, l’installazione avviene spesso tramite l’icona dedicata nella barra degli indirizzi. Su iOS, usa la guida «Aggiungi alla schermata Home».
Le notifiche non vengono inviate
Assicurati che il push sia attivato, che le chiavi VAPID siano presenti (in caso contrario viene mostrato un avviso sul cruscotto) e che ci siano clienti iscritti. La modalità di test consente di convalidare l’intera catena di invio dall’inizio alla fine.
Il recupero dei carrelli non si attiva
Controlla che l’URL cron sia effettivamente richiamato dal tuo scheduler e che contenga il token corretto. Verifica inoltre il ritardo di recupero configurato e la presenza di clienti iscritti con un carrello idoneo.
Il push funziona su iPhone?
Sì, a partire da iOS 16.4, ma solo dopo aver installato il negozio sulla schermata Home. La guida all’installazione iOS è quindi essenziale per attivare il push su questi dispositivi.