DataFirefly PWA: kompletny przewodnik
Instalacja, konfiguracja i obsługa PWA: instalowalny sklep, rozbudowane i zaplanowane kampanie push, alerty produktowe, ustawienia klienta i tryb offline dla PrestaShop 8 i 9.
Przegląd
Moduł DataFirefly PWA (dfpwa) zamienia Twój sklep PrestaShop w Progressive Web App: klienci instalują go na ekranie głównym, otrzymują powiadomienia web push i przeglądają sklep również offline. Moduł jest w pełni samodzielny: szyfrowanie działa w natywnym PHP, bez Composera, bez usług zewnętrznych i bez abonamentu.
Cztery filary: instalowalny sklep, profesjonalny silnik push (kampanie rozbudowane, zaplanowane, segmentowane), automatyzacje (zamówienia, koszyki, stany, ceny) oraz tryb offline.
Zgodność i wymagania
- PrestaShop od 8.0 do 9.x, jeden sklep i wiele sklepów
- Moduł przetłumaczony na 7 języków: FR, EN, ES, DE, IT, NL, PL
- Brak zależności: ani Composera, ani frameworka, ani usług zewnętrznych
- HTTPS wymagane: PWA i web push nie działają po HTTP
- Rozszerzenie PHP openssl z krzywą
prime256v1, do szyfrowania VAPID - Zadanie cron dla kampanii zaplanowanych, alertów produktowych i odzyskiwania koszyków
Jeśli openssl lub prime256v1 są niedostępne, instalacja zostaje zablokowana z wyraźnym komunikatem. Poproś hostingodawcę o włączenie rozszerzenia.
Instalacja
- Panel administracyjny: Moduły > Menedżer modułów.
- Wgraj moduł i wybierz plik
dfpwa.zip. - Kliknij Konfiguruj.
- Skopiuj adres URL cron widoczny w panelu i dodaj go do harmonogramu, co 5 do 15 minut.
Podczas instalacji moduł generuje klucze VAPID oraz token cron, tworzy swoje tabele, instaluje stronę kampanii i dodaje link „Ustawienia powiadomień” na koncie klienta. Dołączone są prawidłowe ikony PWA, więc sklep jest instalowalny od razu, zanim jeszcze prześlesz własne.
Konfiguracja
Aplikacja i instalacja
- Nazwa i krótka nazwa: wyświetlane pod ikoną po instalacji.
- Kolor motywu i kolor tła: pasek systemowy i ekran powitalny.
- Tryb wyświetlania: zalecany standalone. Tryb browser uniemożliwia instalację.
- Adres URL startowy: strona otwierana po uruchomieniu aplikacji.
- Ikony 192 i 512 px: kwadratowe PNG lub WebP. Ikona zbyt mała lub niekwadratowa zostaje odrzucona, a moduł zachowuje domyślną, aby nie zepsuć możliwości instalacji.
- Baner instalacji, opóźnienie wyświetlenia i pomoc dla iOS.
Diagnostyka możliwości instalacji
Panel sprawdza punkt po punkcie to, czego wymaga Chrome przed zaproponowaniem instalacji: HTTPS, zgodny tryb wyświetlania, prawidłowe ikony 192 i 512 px, dostępną stronę zapasową offline oraz włączony moduł. Link otwiera wygenerowany manifest.
Na iPhone i iPad nie istnieje automatyczny monit: Safari wymaga ręcznego kroku „Do ekranu początkowego”. To normalne, a moduł wyjaśnia to odwiedzającemu. Diagnostyka dotyczy więc Androida i przeglądarek na komputerach. W sklepie polecenie dfpwaDiagnose() w konsoli przeglądarki wskazuje dokładnie, co blokuje.
Web push
- Podmiot VAPID: adres kontaktowy wysyłany do usług push, w formacie
mailto:lubhttps://. - Pytaj odwiedzających automatycznie i komunikat zgody: łagodny monit przed natywnym oknem przeglądarki, zgodny z RODO.
- Dzwonek subskrypcji: sześć pozycji, możliwy do ukrycia w koszyku i przy zamówieniu. Gdy odwiedzający jest już zapisany, dzwonek staje się skrótem do jego ustawień.
- Czas życia wiadomości: jak długo usługa push przechowuje niedostarczone powiadomienie.
- Maksymalna liczba powiadomień na urządzenie dziennie: 0 wyłącza limit. Wiadomości transakcyjne nigdy go nie zużywają.
- Godziny ciszy: kampanie w kolejce w tym oknie wysyła później cron. Dwie takie same wartości wyłączają funkcję.
- Wiadomości na jedno uruchomienie cron: zmniejsz, jeśli hosting wymusza krótki limit czasu PHP.
Tryb offline
- Strategia pamięci podręcznej: stale-while-revalidate (zalecana), najpierw sieć lub najpierw cache.
- Tytuł i treść strony zapasowej oraz lista adresów URL w pamięci podręcznej.
Koszyk, proces zamówienia i konto klienta są zawsze wyłączone z pamięci podręcznej. Wyłączenie trybu offline nie odbiera sklepowi możliwości instalacji: strona zapasowa nadal jest serwowana, ponieważ przeglądarka instaluje tylko aplikację zdolną odpowiadać bez połączenia.
Wysyłanie kampanii
- Otwórz PWA Push w menu administracyjnym.
- Wpisz tytuł (około 50 znaków) i wiadomość (około 120 znaków).
- Dodaj baner, przesyłając plik (JPG, PNG lub WebP, maks. 2 MB, idealne proporcje 2:1) albo podając adres URL. Przesłany plik ma pierwszeństwo.
- Dodaj maksymalnie dwa przyciski akcji, każdy z własną etykietą i adresem URL.
- Kieruj według języka, grupy klientów, urządzenia (iOS, Android, komputer) i odbiorców (wszyscy, zarejestrowani klienci, goście).
- Pozostaw Zaplanuj na puste, aby wysłać od razu, albo podaj datę w formacie
RRRR-MM-DD GG:MM. - Użyj trybu testowego, aby wysłać powiadomienie najpierw do siebie.
Tryb testowy obejmuje wyłącznie urządzenia powiązane z kontem klienta używającym Twojego adresu e-mail pracownika. Jeśli żadne konto nie pasuje, wysyłka zostaje odrzucona zamiast trafić do całego segmentu.
Kolejka wysyłki
Każda wysyłka trafia do kolejki i jest przetwarzana partiami. Część wychodzi od razu, resztę dostarcza cron. Baza dziesiątek tysięcy subskrybentów nie powoduje więc przekroczenia limitu czasu ani obciętych statystyk. Panel pokazuje, ile powiadomień czeka, i pozwala wymusić przetwarzanie.
Historia i statystyki
Historia wymienia trzydzieści ostatnich kampanii ze statusem, liczbą odbiorców, dostarczeń, błędów, kliknięć oraz współczynnikiem klikalności. Kliknięcie przypisywane jest do kampanii, która wygenerowała powiadomienie, a licznik nigdy nie przekroczy liczby faktycznie dostarczonych wiadomości. Subskrybentów eksportujesz do CSV.
Automatyzacje
Śledzenie zamówienia
Zaznacz statusy, które uruchamiają powiadomienie. Domyślnie: płatność zaakceptowana, wysłane, dostarczone. Brak zaznaczeń oznacza powiadamianie przy każdej zmianie statusu.
Odzyskiwanie porzuconych koszyków
Cron wyszukuje koszyki z produktami, powiązane z zapisanym klientem i bez zamówienia, w skonfigurowanym oknie (od 1 do 168 godzin).
Alerty o dostępności i obniżce ceny
Na karcie produktu pojawia się przycisk. Przycisk dostępności wyświetla się tylko wtedy, gdy produktu brakuje; przycisk obniżki ceny jest proponowany zawsze. Odwiedzający nie potrzebuje konta: alert jest powiązany z subskrypcją jego urządzenia. Cena z chwili zgłoszenia zostaje zapamiętana, a Ty ustalasz minimalny procent obniżki, który uruchamia alert.
Powiadomienie powitalne
Wysyłane jednorazowo, przy pierwszym zapisie urządzenia. Potwierdza subskrypcję i nigdy nie jest blokowane przez ustawienia klienta.
Ustawienia klienta
Na swoim koncie klient otwiera Ustawienia powiadomień i włącza lub wyłącza cztery kategorie:
- Aktualizacje zamówień: wysyłka i zmiany statusu
- Alerty produktowe: powrót do sprzedaży i obniżki cen
- Przypomnienia o koszyku: odzyskiwanie porzuconego koszyka
- Oferty i nowości: kampanie marketingowe
Domyślnie wszystko jest włączone, również dla istniejących subskrybentów po aktualizacji. Wybór obowiązuje na wszystkich urządzeniach klienta, a nowe urządzenie dziedziczy jego ustawienia. Wyłączona kategoria nigdy nie jest wysyłana, nawet w przypadku wiadomości transakcyjnych, które ignorują dzienny limit i godziny ciszy.
RODO
- Zgoda pobierana wyraźnym komunikatem przed każdym zapisem
- Klient zarządza kategoriami na swoim koncie i może wyłączyć wszystko
- Usunięcie konta klienta kasuje subskrypcje, alerty produktowe i wiadomości w kolejce, przez hook RODO w PrestaShop
- Żadne dane nie trafiają do usług zewnętrznych: szyfrowanie odbywa się na Twoim serwerze
Dostosowanie w motywie
data-dfpwa-bellna dowolnym elemencie zamienia go w przycisk subskrypcji i zastępuje pływający dzwonek.data-dfpwa-sharena dowolnym elemencie zamienia go w natywny przycisk udostępniania.- Klasa
dfpwa-prefs-formcelowo nie ma stylów, do Twoich własnych reguł CSS.
FAQ i rozwiązywanie problemów
Baner instalacji nie pojawia się na Androidzie
Chrome nic nie pokazuje, dopóki sklep nie spełni jego kryteriów. Sprawdź diagnostykę w panelu, a następnie uruchom dfpwaDiagnose() w konsoli przeglądarki na stronie sklepu: werdykt wskaże, czego brakuje. Jeśli PWA było już zainstalowane na urządzeniu, odinstaluj je i wyczyść dane witryny przed kolejnym testem. Zapamiętana odmowa odwiedzającego wygasa po 30 dniach albo od razu po użyciu dfpwaResetPrompts().
Na iPhone nic się nie instaluje
To normalne zachowanie Safari, które nie ma automatycznego monitu. Instrukcja „Do ekranu początkowego” w module objaśnia kroki. Web push działa tam dopiero od iOS 16.4 i tylko przy zainstalowanym sklepie.
Powiadomienia nie wychodzą
Sprawdź, czy push jest włączony, czy klucze VAPID istnieją i czy są zapisani klienci. Tryb testowy weryfikuje cały łańcuch. Jeśli wiadomości zostają w kolejce, upewnij się, że cron jest faktycznie wywoływany.
Kampania pozostaje w oczekiwaniu
Jest zaplanowana na przyszłą datę, trafiła do kolejki w godzinach ciszy albo trwa jej dystrybucja partiami. Panel pozwala wymusić przetwarzanie.
Klient twierdzi, że nic nie otrzymuje
Sprawdź jego ustawienia powiadomień: mógł wyłączyć którąś kategorię. Zweryfikuj też dzienny limit na urządzenie i godziny ciszy.
Alerty produktowe się nie uruchamiają
Zależą od crona. Sprawdź, czy jest wywoływany, czy dany typ alertu jest włączony, a przy obniżkach czy rabat osiąga skonfigurowany minimalny procent.