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.4.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ń.
  • Przesunięcia dzwonka: cztery wartości w pikselach, pozioma i pionowa, ustawiane osobno dla komputera i telefonu (poniżej 768 px szerokości). Pozwalają ominąć dymek czatu, widget dostępności albo przyklejony pasek dodawania do koszyka obecny w motywie. W pozycjach środkowych wartość pionowa przesuwa dzwonek jedynie względem środka. Dopuszczalny zakres: od 0 do 2000.
  • 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.

Linki instalacji, bez wyskakujących okien

Jeśli nie chcesz żadnego wyskakującego okna w sklepie, wyłącz baner instalacji, automatyczne pytanie o powiadomienia oraz pływający dzwonek, a następnie po prostu umieść linki „Kliknij tutaj, aby zainstalować naszą aplikację”. Odwiedzający kliknie wtedy, kiedy sam zechce.

Dostępne miejsca

  • Stopka (domyślnie włączona)
  • Górna nawigacja
  • Konto klienta (domyślnie włączone)
  • Strona potwierdzenia zamówienia (domyślnie włączona), zaraz po zakupie
  • Karta produktu
  • Wiadomości transakcyjne (domyślnie włączone)

Każde miejsce ma własny przełącznik. Do wyboru są trzy warianty wyglądu: przycisk, link tekstowy lub szeroki baner, a tekst można edytować dla każdego języka.

Wszędzie indziej: widget

W miejscu, którego moduł nie obsługuje, na przykład w podziękowaniu po dodaniu opinii albo w bloku Twojego motywu, dodaj do odpowiedniego szablonu ten wiersz:

{widget name='dfpwa'}

W wiadomościach e-mail

Wiadomość e-mail nie może uruchomić instalacji, dlatego link otwiera sklep z parametrem ?dfpwa_install=1, który rozpoczyna proces zaraz po wejściu klienta, bez zwykłego opóźnienia. Podaj nazwy szablonów oddzielone przecinkami (na przykład order_conf,shipped) albo pozostaw pole puste, aby dodać link do wszystkich wiadomości. Dla programów pocztowych bez HTML dodawana jest wersja tekstowa.

Link pojawia się tylko wtedy, gdy instalacja jest rzeczywiście możliwa. Pozostaje ukryty, gdy aplikacja jest już zainstalowana, gdy przeglądarka nie potrafi jej zainstalować albo dopóki Chrome nie potwierdzi kryteriów. Na iPhone kliknięcie otwiera od razu instrukcję „Do ekranu początkowego”, ponieważ Safari nie ma natywnego monitu.

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