Wszystko, co warto wiedzieć, zanim zainstalujesz.
Szczegółowe spojrzenie na to, jak działa Wtyczka PWA i Powiadomienia Push Shopware 6, DfPwaPush: Web Push VAPID Hostowany u Ciebie, Manifest i Service Worker, Kampanie, Bez Zależności, dlaczego zbudowaliśmy go w ten sposób i jaka myśl stoi za powyższymi funkcjami.
Dwie dźwignie zaangażowania, jedna wtyczka
Instalowalna PWA i powiadomienia Web Push odpowiadają na to samo pytanie: jak sprowadzić odwiedzającego z powrotem bez polegania na e-mailach i mediach społecznościowych. DfPwaPush łączy oba te narzędzia. Z jednej strony Twój sklep staje się instalowalny na ekranie głównym, z prawdziwym doświadczeniem aplikacji: ikona, ekran startowy, tryb pełnoekranowy, strona offline. Z drugiej możesz powiadomić subskrybentów o wyprzedaży błyskawicznej, uzupełnieniu stanu magazynowego albo promocji wprost na ich urządzeniu, nawet gdy karta jest zamknięta. Wszystko bez abonamentu u dostawcy zewnętrznego i bez wysyłania jakichkolwiek danych klientów na zewnątrz.
Web Push hostowany u Ciebie: subskrybenci należą do Ciebie
Większość rozwiązań push dla e-commerce przechodzi przez Firebase Cloud Messaging albo usługę SaaS w rodzaju OneSignal: Twoi subskrybenci są przechowywani u firmy trzeciej i podlegają jej limitom, cennikowi i polityce danych. DfPwaPush idzie w przeciwną stronę. Cały stos Web Push jest zaimplementowany natywnie we wtyczce: generowanie kluczy VAPID, podpisywanie żądań w ES256, szyfrowanie każdej wiadomości dla każdego subskrybenta w aes128gcm. Endpointy subskrypcji, baza subskrybentów i wysyłka żyją w całości na Twoim serwerze. Nie płacisz żadnego abonamentu i żadne dane nie opuszczają Twojej infrastruktury, co jest rozstrzygającym argumentem przy RODO.
Poważna kryptografia, a nie przybliżenie
Web Push narzuca dwa precyzyjne standardy: podpis VAPID (RFC 8292), który uwierzytelnia Twój serwer, oraz szyfrowanie treści (RFC 8291), które chroni każdą wiadomość od końca do końca. DfPwaPush realizuje je przez OpenSSL: pary kluczy P-256, tokeny JWT podpisane w ES256 z konwersją DER na połączone R i S, efemeryczne ECDH dla każdego subskrybenta, wyprowadzanie HKDF kluczy szyfrujących i wektora nonce, a następnie AES-128-GCM. Żeby zagwarantować, że ta implementacja jest poprawna i interoperacyjna, jest ona testowana bajt po bajcie względem oficjalnego wektora testowego opublikowanego w RFC 8291. W praktyce: to, czego oczekują Chrome, Firefox, Edge i Safari, wtyczka produkuje dokładnie.
Zero zależności, zero builda: pomyślane, by instalować się wszędzie
Wiele wtyczek Web Push opiera się na bibliotece minishlink/web-push, co wymusza krok z Composerem przy instalacji, często zablokowany na hostingach współdzielonych i wyłączony na produkcji. DfPwaPush nie ma żadnej zależności: jedyne potrzebne rozszerzenia, OpenSSL i cURL, są już wymagane przez samo Shopware. Podobnie moduł administracyjny jest dostarczany w postaci prekompilowanej, a JavaScript storefrontu wstrzykiwany przez Twig, więc nie trzeba uruchamiać ani build-administration, ani builda storefrontu. ZIP instaluje się i aktywuje bezpośrednio, zarówno na hostingu współdzielonym, jak i na VPS, i pozostaje odporny na zmianę bundlera w 6.7.
Kampanie, a nie tylko API
Wysłanie powiadomienia nie powinno wymagać pisania kodu. DfPwaPush dodaje do administracji prawdziwego menedżera kampanii, w sekcji Marketing. Składasz swoją wiadomość (tytuł, treść, adres docelowy, ikona), wybierasz, czy kierujesz ją do wszystkich subskrybentów, czy do jednego kanału sprzedaży, a potem planujesz wysyłkę co do minuty albo wysyłasz natychmiast. Każda kampania pokazuje swój status oraz liczniki udanych wysyłek i błędów, dzięki czemu mierzysz rzeczywisty zasięg swoich powiadomień. Sama wysyłka jest oddelegowana do ScheduledTask, który przetwarza należne kampanie w tle, nie blokując administracji.
Szeroka zgodność i uczciwe zachowanie na iOS
Jedna baza kodu obejmuje Shopware 6.5, 6.6 i 6.7. Po stronie przeglądarek push działa w Chrome, Firefox i Edge, zarówno na desktopie, jak i na Androidzie. Na iOS Apple stawia dwa warunki: wersję co najmniej 16.4 oraz wcześniejszą instalację PWA na ekranie głównym, ponieważ Safari nie dostarcza powiadomień do zwykłej karty. DfPwaPush obsługuje ten przypadek czysto: baner zgody pojawia się wyłącznie wtedy, gdy API Push jest rzeczywiście dostępne, więc odwiedzający z iOS nigdy nie widzą obietnicy, której system nie mógłby dotrzymać. W razie wątpliwości komunikaty diagnostyczne z prefiksem DfPwaPush w konsoli przeglądarki dokładnie wyjaśniają, dlaczego baner się pojawia albo nie.
Na razie nie ma opinii o produkcie.