Shopware Marketing & Promotions

Shopware 6 PWA & Push Notifications Plugin — DfPwaPush: Self-Hosted VAPID Web Push, Manifest + Service Worker, Campaigns, Zero Dependency

Installable PWA plus self-hosted Web Push for Shopware 6.5–6.7: dynamic manifest and service worker, VAPID push campaigns, no Firebase, no Composer dependency.

DfPwaPush combines two re-engagement levers in a single Shopware plugin: it turns your storefront into an installable Progressive Web App (per-sales-channel manifest, service worker, offline page, Add to Home Screen banner) and lets you send fully self-hosted Web Push notifications from a campaign manager built into the administration. The complete Web Push stack — VAPID ES256 signing (RFC 8292) and aes128gcm encryption (RFC 8291) — is implemented natively with OpenSSL and cURL, with no Firebase, no OneSignal and no Composer dependency. The storefront JavaScript is injected via Twig and the administration module ships precompiled: no build is required, which makes the plugin immune to the webpack-to-Vite switch. A single codebase for Shopware 6.5, 6.6 and 6.7, unencrypted source code.

Shopware 6.5–6.7 Native VAPID Web Push RFC 8291 / 8292 No Composer dependency No build required Installable PWA Built-in campaigns FR/EN/ES/DE/IT
  • 30-day refund
  • 12 months updates
  • 24h support
www.datafirefly.com/en/
Plugin PWA & Notifications Push Shopware 6 — DfPwaPush : Web Push VAPID Auto-Hébergé, Manifest + Service Worker, Campagnes, Sans Dépendance
v1.0.2 · updated 2026-06-10
What it does

The short version.

01

Installable PWA served dynamically, no storefront build

Manifest and service worker generated on the fly per sales channel: name, colors, display mode, 192 and 512 icons. Cached offline page, Apple meta, Add to Home Screen banner with dismissal memory. All JavaScript is injected via Twig, so nothing to compile and no sensitivity to the webpack-to-Vite switch in 6.7.

02

100 percent self-hosted Web Push, no third-party service

No Firebase, no OneSignal: notifications go straight from your server to the browsers' push services. All subscription data stays with you, which radically simplifies GDPR compliance. Generate the VAPID keys with one command, or paste your existing keys.

03

Native cryptographic stack validated against the official RFC 8291 vector

VAPID ES256 signing (RFC 8292) and aes128gcm encryption (RFC 8291) implemented in pure PHP via OpenSSL: P-256 key generation, ephemeral ECDH, HKDF derivation, AES-128-GCM. The implementation is tested byte for byte against the official RFC 8291 test vector, ensuring interoperability with Chrome, Firefox, Edge and Safari.

04

Campaign manager built into the administration

Under Marketing then Push campaigns: create a notification (title, message, target URL, icon), restrict it to a sales channel, schedule it for a precise date or click Send now. Track the draft, scheduled, sending, sent or failed statuses, with sent and failed counters per campaign.

05

Background sending via ScheduledTask and CLI

A native ScheduledTask processes scheduled campaigns every 300 seconds and sends them in parallel batches via curl_multi. A CLI command lets you trigger sending manually. Dead subscriptions (404 or 410 codes) and those failing five times in a row are deactivated automatically to keep a clean base.

06

No dependency, installs on any hosting

No minishlink/web-push, no SDK, no Composer step: the ZIP installs everywhere, including shared hosting. The only required extensions are OpenSSL and cURL, already required by Shopware. The administration module is precompiled and uses stable components compatible with 6.5, 6.6 and 6.7.

The long version

Everything you'd want to know before you install.

A detailed look at how Shopware 6 PWA & Push Notifications Plugin — DfPwaPush: Self-Hosted VAPID Web Push, Manifest + Service Worker, Campaigns, Zero Dependency works, why we built it the way we did, and the thinking behind the features above.

§ 01

Two re-engagement levers, a single plugin

An installable PWA and Web Push notifications answer the same question: how to bring a visitor back without depending on email or social networks. DfPwaPush combines both. On one side, your shop becomes installable on the home screen with a real app experience: icon, splash screen, full-screen mode, offline page. On the other, you can notify your subscribers of a flash sale, a restock or a promotion directly on their device, even when the tab is closed. All without a subscription to a third-party service and without sending any customer data outside.

§ 02

Self-hosted Web Push: your subscribers belong to you

Most e-commerce push solutions go through Firebase Cloud Messaging or a SaaS service like OneSignal: your subscribers are stored with a third party, subject to its quotas, pricing and data policy. DfPwaPush takes the opposite path. The complete Web Push stack is implemented natively in the plugin: VAPID key generation, ES256 request signing, per-subscriber aes128gcm message encryption. The subscription endpoints, the subscriber base and the sending all live entirely on your server. You pay no subscription and no data leaves your infrastructure — a decisive GDPR argument.

§ 03

Serious cryptography, not an approximation

Web Push mandates two precise standards: VAPID signing (RFC 8292) that authenticates your server, and content encryption (RFC 8291) that protects each message end to end. DfPwaPush implements them with OpenSSL: P-256 key pairs, JWTs signed in ES256 with DER to R-concatenated-S conversion, per-subscriber ephemeral ECDH, HKDF derivation of the encryption keys and nonce, then AES-128-GCM. To guarantee this implementation is correct and interoperable, it is tested byte for byte against the official test vector published in RFC 8291. Concretely: what Chrome, Firefox, Edge and Safari expect, the plugin produces exactly.

§ 04

Zero dependency, zero build: designed to install anywhere

Many Web Push plugins rely on the minishlink/web-push library, which forces a Composer step at install time — often blocked on shared hosting and disabled in production. DfPwaPush has no dependency: the only required extensions, OpenSSL and cURL, are already required by Shopware itself. Likewise, the administration module ships precompiled and the storefront JavaScript is injected via Twig, so there is neither a build-administration nor a storefront build to run. The ZIP installs and activates directly, on shared hosting as well as on a VPS, and stays immune to the 6.7 bundler change.

§ 05

Campaigns, not just an API

Sending a notification should not require writing code. DfPwaPush adds a real campaign manager in the administration, under Marketing. You compose your message — title, body, destination URL, icon — you choose to target all your subscribers or a single sales channel, then you schedule the send to the minute or send it immediately. Each campaign shows its status and its sent and failed counters, to measure the real reach of your notifications. The sending itself is delegated to a ScheduledTask that processes due campaigns in the background, without blocking the administration.

§ 06

Broad compatibility and honest behavior on iOS

A single codebase covers Shopware 6.5, 6.6 and 6.7. On the browser side, push works on Chrome, Firefox and Edge on desktop as well as on Android. On iOS, Apple imposes two conditions: version 16.4 minimum and prior installation of the PWA on the home screen — Safari does not deliver push to a plain tab. DfPwaPush handles this case properly: the opt-in banner only appears when the Push API is actually available, so your iOS visitors never see a promise the system could not keep. When in doubt, DfPwaPush-prefixed diagnostic messages in the browser console explain precisely why a banner appears or not.