PS PrestaShop Średnio zaawansowany

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.

Zaktualizowano Wersja modułu 1.3.1

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

  1. Panel administracyjny: Moduły > Menedżer modułów.
  2. Wgraj moduł i wybierz plik dfpwa.zip.
  3. Kliknij Konfiguruj.
  4. 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: lub https://.
  • 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

  1. Otwórz PWA Push w menu administracyjnym.
  2. Wpisz tytuł (około 50 znaków) i wiadomość (około 120 znaków).
  3. 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.
  4. Dodaj maksymalnie dwa przyciski akcji, każdy z własną etykietą i adresem URL.
  5. Kieruj według języka, grupy klientów, urządzenia (iOS, Android, komputer) i odbiorców (wszyscy, zarejestrowani klienci, goście).
  6. Pozostaw Zaplanuj na puste, aby wysłać od razu, albo podaj datę w formacie RRRR-MM-DD GG:MM.
  7. 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-bell na dowolnym elemencie zamienia go w przycisk subskrypcji i zastępuje pływający dzwonek.
  • data-dfpwa-share na dowolnym elemencie zamienia go w natywny przycisk udostępniania.
  • Klasa dfpwa-prefs-form celowo 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.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia