DataFirefly PWA: volledige gids
De PWA installeren, configureren en benutten: installeerbare winkel, webpushmeldingen, winkelwagenherinnering via cron en offlinemodus voor PrestaShop 8 en 9.
Overzicht
De module DataFirefly PWA (dfpwa) verandert uw PrestaShop-winkel in een Progressive Web App: uw klanten kunnen haar op hun startscherm installeren, webpushmeldingen ontvangen en blijven browsen, zelfs zonder verbinding. De module is volledig autonoom: de versleuteling van de meldingen wordt in native PHP afgehandeld, zonder Composer, zonder dienst van derden en zonder abonnement.
Drie pijlers: een installeerbare winkel (icoon op het startscherm), pushmeldingen (campagnes, orderopvolging, winkelwagenherinnering) en een offlinemodus (service worker + terugvalpagina).
Compatibiliteit
- PrestaShop 8.0 tot 9.x
- Single- en multistore
- 5 talen: FR, EN, ES, DE, IT
- Geen afhankelijkheden (geen Composer, geen framework)
Vereisten
- HTTPS verplicht: PWA’s en webpush werken alleen op een winkel die via HTTPS wordt geserveerd. Vrijwel alle productiewinkels beschikken daar al over.
- PHP-extensie openssl: gebruikt voor de VAPID-versleuteling van de meldingen. De module controleert de aanwezigheid ervan bij de installatie.
Zijn openssl of de curve prime256v1 niet beschikbaar op uw server, dan wordt de installatie geblokkeerd met een expliciete melding. Neem contact op met uw host om de extensie te activeren.
Installatie
- Open in de backoffice Modules > Modulebeheer.
- Klik op Een module installeren en selecteer het bestand
dfpwa.zip. - Klik na de installatie op Configureren.
Bij de installatie genereert de module automatisch uw VAPID-sleutels (publiek en privé) en een cron-token, maakt hij de tabellen voor de abonnementen en het verzendlogboek aan, en registreert hij de campagneconfiguratiepagina in het beheermenu.
Configuratie
Applicatie (PWA)
- Naam van de applicatie en korte naam: getoond onder het icoon zodra de winkel is geïnstalleerd.
- Themakleur en achtergrondkleur: gebruikt voor de systeembalk en het startscherm.
- Weergavemodus: standalone (volledig scherm, aanbevolen), fullscreen of minimal-ui.
- Start-URL: pagina die bij het openen van de geïnstalleerde applicatie wordt getoond.
- Iconen 192 en 512 px: upload uw eigen iconen (PNG of WebP). Anders wordt automatisch het winkellogo gebruikt.
Installatiebanner
- De banner tonen: biedt de installatie aan bij bezoekers die ervoor in aanmerking komen.
- Weergavevertraging: aantal seconden voordat de banner verschijnt, om de aankomst op de site niet te storen.
- iOS-hulp: toont een stapsgewijze gids “Zet op beginscherm” voor Safari-gebruikers op iPhone en iPad.
Op iOS kan de installatie niet automatisch door de site worden gestart: ze verloopt verplicht via het deelmenu van Safari. De ingebouwde gids legt de bezoeker elke stap uit.
Pushmeldingen
- Push inschakelen: staat de inschrijving en het versturen van meldingen toe.
- Voorafgaande toestemming: toont een expliciet bericht vóór de native browservraag, conform de AVG.
- Vertraging vóór de vraag: wachttijd voordat de push-inschrijving wordt aangeboden.
- VAPID-subject: contactadres (mailto of URL) dat aan de pushservers wordt doorgegeven, conform de specificatie.
- Melding bij statuswijziging van een bestelling: verwittigt de klant automatisch (bestelling verzonden, bijvoorbeeld).
- Herinnering voor verlaten winkelwagens en herinneringstermijn: activeert een melding na een winkelwagen die zonder bestelling is achtergelaten.
Offlinemodus
- Offlinemodus inschakelen: registreert de service worker en de terugvalpagina.
- Cachestrategie: stale-while-revalidate (onmiddellijke weergave en daarna update op de achtergrond, aanbevolen), netwerk-eerst of cache-eerst.
- Titel en offlinebericht: teksten die op de terugvalpagina worden getoond.
- Pre-cache: lijst met URL’s die bij de installatie van de service worker in de cache worden gezet.
Gevoelige pagina’s (winkelwagen, bestelproces, klantaccount) zijn altijd uitgesloten van de cache, zodat er nooit verouderde inhoud wordt geserveerd op persoonlijke of transactionele gegevens.
Delen
Activeer de native deelknop zodat uw klanten een productpagina kunnen delen via het deelvenster van hun apparaat (Web Share API). Voeg het attribuut data-dfpwa-share toe aan elk element van uw thema om er een deeltrigger van te maken.
Pushmeldingen: werking
De module implementeert de standaard webpush (VAPID + versleuteling conform RFC 8291 en 8188), volledig in PHP via openssl. Geen enkel abonnementsgegeven verlaat uw server.
Een campagne versturen
- Open de pagina Pushcampagnes in het beheermenu.
- Voer een titel, een bericht en een bestemmings-URL in.
- Target indien nodig op taal en op klantengroep.
- Gebruik de testmodus om de melding eerst naar uzelf te sturen vóór een massaverzending, en bevestig daarna.
De meldingen worden parallel in batches verzonden, en verlopen abonnementen (codes 404 / 410) worden automatisch opgeschoond. Elke verzending wordt in het logboek geregistreerd met het aantal ontvangers, bezorgingen en klikken.
Automatische triggers
- Orderopvolging: bij elke statuswijziging ontvangt de geabonneerde klant een melding (als hij de push heeft geaccepteerd).
- Verlaten winkelwagen: een cron-taak spoort winkelwagens op die artikelen bevatten, aan een geabonneerde klant zijn gekoppeld en zonder bestelling zijn gebleven, binnen het geconfigureerde herinneringsvenster.
De winkelwagenherinnering draait via een door een token beschermde cron-taak. Haal de volledige cron-URL op vanaf de configuratiepagina en voeg ze toe aan uw taakplanner (bijvoorbeeld elk uur). Het token voorkomt elke onbevoegde activering.
Offlinemodus: werking
De service worker wordt geregistreerd op het rootbereik van de winkel dankzij de header Service-Worker-Allowed, waardoor hij alle pagina’s kan aansturen. Afhankelijk van de gekozen strategie serveert hij de pagina’s uit de cache, het netwerk, of beide. Wanneer de verbinding volledig wegvalt en er geen cacheversie beschikbaar is, verschijnt een autonome terugvalpagina in de kleuren van uw winkel, met een knop “Opnieuw proberen” en een terugkeer naar de homepage.
Dashboard
De configuratiepagina toont in één oogopslag het aantal push-abonnees, het aantal verzonden meldingen en het klikpercentage van uw campagnes. Doordat verlopen abonnementen automatisch worden opgeschoond, blijven deze statistieken betrouwbaar.
FAQ en probleemoplossing
De installatiebanner verschijnt niet
Controleer of de winkel via HTTPS wordt geserveerd, of de module actief is en of de PWA niet al is geïnstalleerd. Op een desktopbrowser verloopt de installatie vaak via het speciale icoon in de adresbalk. Gebruik op iOS de gids “Zet op beginscherm”.
De meldingen vertrekken niet
Controleer of de push is ingeschakeld, of de VAPID-sleutels aanwezig zijn (anders verschijnt een waarschuwing op het dashboard) en of er daadwerkelijk klanten zijn geabonneerd. Met de testmodus valideert u de verzendketen van begin tot eind.
De winkelwagenherinnering wordt niet geactiveerd
Controleer of de cron-URL daadwerkelijk door uw planner wordt aangeroepen en het juiste token bevat. Controleer ook de geconfigureerde herinneringstermijn en de aanwezigheid van geabonneerde klanten met een in aanmerking komende winkelwagen.
Werkt de push op iPhone?
Ja, vanaf iOS 16.4, maar alleen zodra de winkel op het startscherm is geïnstalleerd. De iOS-installatiegids is dus essentieel om de push op deze apparaten te activeren.