PHPackages                             frostiede/webpush-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. frostiede/webpush-bundle

ActiveSymfony-bundle[Mail &amp; Notifications](/categories/mail)

frostiede/webpush-bundle
========================

Send push notifications through Web Push Protocol to your Symfony users.

0.7(5y ago)038MITPHPPHP &gt;=7.2

Since Nov 22Pushed 5y agoCompare

[ Source](https://github.com/frostieDE/webpush-bundle)[ Packagist](https://packagist.org/packages/frostiede/webpush-bundle)[ RSS](/packages/frostiede-webpush-bundle/feed)WikiDiscussions master Synced 5d ago

READMEChangelogDependencies (17)Versions (16)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/c976b819010f4e1341678003a432292cdc7454dc744c2459142d26e190c5275c/68747470733a2f2f706f7365722e707567782e6f72672f62656e746f6f6c732f776562707573682d62756e646c652f762f737461626c65)](https://packagist.org/packages/frostiede/webpush-bundle)[![License](https://camo.githubusercontent.com/e455c196877249a3bca0fbbc289bbe55844347f9b3fdd594184e370501e641c0/68747470733a2f2f706f7365722e707567782e6f72672f66726f7374696564652f776562707573682d62756e646c652f6c6963656e7365)](https://packagist.org/packages/frostiede/webpush-bundle)[![Build Status](https://camo.githubusercontent.com/3904892c8324e6c2ef8f2c2b3cf943b92a3a7758b8cc95406f9bba69977ab815/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f66726f7374696564652f776562707573682d62756e646c652f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/frostiede/webpush-bundle)[![Quality Score](https://camo.githubusercontent.com/67a6e1272d7f42cb440ac67f803fb2fb0057e24d62ac4909fa7a4a8214d57749/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f66726f7374696564652f776562707573682d62756e646c652e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/frostiede/webpush-bundle)[![Total Downloads](https://camo.githubusercontent.com/854e649c86847e14ad5362d7bd584a1ea7270fc2e1294bae143dfe662a9a0550/68747470733a2f2f706f7365722e707567782e6f72672f66726f7374696564652f776562707573682d62756e646c652f646f776e6c6f616473)](https://packagist.org/packages/frostiede/webpush-bundle)

Webpush Bundle
==============

[](#webpush-bundle)

This bundle allows your app to leverage [the Web Push protocol](https://developers.google.com/web/fundamentals/push-notifications/web-push-protocol) to send notifications to your users' devices, whether they're online or not.

With a small amount of code, you'll be able to associate your [Symfony users](https://symfony.com/doc/current/security.html#a-create-your-user-class) to WebPush Subscriptions:

- A single user can subscribe from multiple browsers/devices
- Multiple users can subscribe from a single browser/device

This bundle uses your own persistence system (Doctrine or anything else) to manage these associations.

We assume you have a minimum knowledge of how Push Notifications work, otherwise we highly recommend you to read [Matt Gaunt's Web Push Book](https://web-push-book.gauntface.com/).

**Example Use cases**

- You have a todolist app - notify users they're assigned a task
- You have an eCommerce app:
    - Notify your customer their order has been shipped
    - Notify your category manager they sell a product

Summary
-------

[](#summary)

1. [Installation](#getting-started)
2. [The UserSubscription entity](doc/01%20-%20The%20UserSubscription%20Class.md)
3. [The UserSubscription manager](doc/02%20-%20The%20UserSubscription%20Manager.md)
4. [Configure the bundle](doc/03%20-%20Configuration.md)
5. [Enjoy!](doc/04%20-%20Usage.md)
6. [F.A.Q.](doc/05%20-%20FAQ.md)

Getting started
---------------

[](#getting-started)

This bundle is just the back-end part of the subscription process. For the front-end part, have a look at the [webpush-client](https://www.npmjs.com/package/webpush-client) package.

### Composer is your friend:

[](#composer-is-your-friend)

PHP7.1+ is required.

```
composer require bentools/webpush-bundle 0.6.*
```

If you're using Symfony 3, add the bundle to your kernel. With Symfony Flex, this should be done automatically.

⚠️ *We aren't on stable version yet - expect some changes.*

### Generate your VAPID keys:

[](#generate-your-vapid-keys)

```
php bin/console webpush:generate:keys
```

You'll have to update your config with the given keys. We encourage you to store them in environment variables or in `parameters.yml`.

Next: [Create your UserSubscription class](doc/01%20-%20The%20UserSubscription%20Class.md)

Tests
-----

[](#tests)

> ./vendor/bin/phpunit

License
-------

[](#license)

MIT

Credits
-------

[](#credits)

This bundle leverages the [minishlink/web-push](https://github.com/web-push-libs/web-push-php) library.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 78.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~97 days

Recently: every ~207 days

Total

14

Last Release

1827d ago

PHP version history (2 changes)0.1PHP &gt;=7.1

0.7PHP &gt;=7.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3764924?v=4)[Marcel Marnitz](/maintainers/frostieDE)[@frostieDE](https://github.com/frostieDE)

---

Top Contributors

[![bpolaszek](https://avatars.githubusercontent.com/u/5569077?v=4)](https://github.com/bpolaszek "bpolaszek (47 commits)")[![frostieDE](https://avatars.githubusercontent.com/u/3764924?v=4)](https://github.com/frostieDE "frostieDE (10 commits)")[![AdriwanKenoby](https://avatars.githubusercontent.com/u/10701624?v=4)](https://github.com/AdriwanKenoby "AdriwanKenoby (1 commits)")[![franbenz](https://avatars.githubusercontent.com/u/6500418?v=4)](https://github.com/franbenz "franbenz (1 commits)")[![wRLSS](https://avatars.githubusercontent.com/u/2380100?v=4)](https://github.com/wRLSS "wRLSS (1 commits)")

---

Tags

browserpushnotificationnotificationsFCMchromeWebPushflexsubscriptionspush notificationsubscriptionpush notificationsfirefoxweb push notificationsymfony-notificationnotification bundleWeb Pushvapidnotifications bundlesymfony notificationsweb push notificationspush subscriptionPushNotificationPushNotification bundlePushSubsciptionPushSubsciption bundlesubscription bundlesubscriptions bundlepush bundlepush notification bundlepush notifications bundlepush subscription bundlepush subscriptionspush subscriptions bundlewebpush protocolwebpush bundlewebpush notificationwebpush notification bundlewebpush notificationswebpush notifications bundlewebpush subscriptionwebpush subscription bundlewebpush subscriptionswebpush subscriptions bundleweb push protocolweb push bundleweb push notification bundleweb push notifications bundleweb push subscriptionweb push subscription bundleweb push subscriptionsweb push subscriptions bundlesymfony PushNotificationsymfony PushNotification bundlesymfony PushSubsciptionsymfony PushSubsciption bundlesymfony notification bundlesymfony notifications bundlesymfony subscriptionsymfony subscription bundlesymfony subscriptionssymfony subscriptions bundlesymfony pushsymfony push bundlesymfony push notificationsymfony push notification bundlesymfony push notificationssymfony push notifications bundlesymfony push subscriptionsymfony push subscription bundlesymfony push subscriptionssymfony push subscriptions bundlesymfony webpushsymfony webpush bundlesymfony webpush notificationsymfony webpush notification bundlesymfony webpush notificationssymfony webpush notifications bundlesymfony webpush subscriptionsymfony webpush subscription bundlesymfony webpush subscriptionssymfony webpush subscriptions bundlesymfony web pushsymfony web push bundlesymfony web push notificationsymfony web push notification bundlesymfony web push notificationssymfony web push notifications bundlesymfony web push subscriptionsymfony web push subscription bundlesymfony web push subscriptionssymfony web push subscriptions bundle

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/frostiede-webpush-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/frostiede-webpush-bundle/health.svg)](https://phpackages.com/packages/frostiede-webpush-bundle)
```

###  Alternatives

[bentools/webpush-bundle

Send push notifications through Web Push Protocol to your Symfony users.

71274.3k](/packages/bentools-webpush-bundle)[minishlink/web-push

Web Push library for PHP

1.9k12.0M53](/packages/minishlink-web-push)[edujugon/push-notification

Laravel Package to send push notifications to Android and IOS devices. (GCM,FCM,APN)

4891.4M1](/packages/edujugon-push-notification)[liran-co/laravel-notification-subscriptions

Notification subscription management.

128239.2k1](/packages/liran-co-laravel-notification-subscriptions)[ivkos/pushbullet

Push notifications to devices and browsers via Pushbullet

21862.6k2](/packages/ivkos-pushbullet)[minishlink/web-push-bundle

Symfony Bundle around the WebPush library

56318.3k2](/packages/minishlink-web-push-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
