PHPackages                             bentools/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. bentools/webpush-bundle

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

bentools/webpush-bundle
=======================

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

0.14.1(3mo ago)72290.6k↓49.1%44[4 issues](https://github.com/bpolaszek/webpush-bundle/issues)[3 PRs](https://github.com/bpolaszek/webpush-bundle/pulls)MITPHPPHP &gt;=8.1CI failing

Since Nov 22Pushed 3mo ago9 watchersCompare

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

READMEChangelog (10)Dependencies (45)Versions (29)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/c976b819010f4e1341678003a432292cdc7454dc744c2459142d26e190c5275c/68747470733a2f2f706f7365722e707567782e6f72672f62656e746f6f6c732f776562707573682d62756e646c652f762f737461626c65)](https://packagist.org/packages/bentools/webpush-bundle)[![License](https://camo.githubusercontent.com/28be3d538975dae69dd92fe5d042b955a29cf4700a18b0b7848fd63b4c39b08c/68747470733a2f2f706f7365722e707567782e6f72672f62656e746f6f6c732f776562707573682d62756e646c652f6c6963656e7365)](https://packagist.org/packages/bentools/webpush-bundle)[![CI](https://github.com/bpolaszek/webpush-bundle/actions/workflows/ci.yml/badge.svg)](https://github.com/bpolaszek/webpush-bundle/actions/workflows/ci.yml)[![Total Downloads](https://camo.githubusercontent.com/9e5301ac45ba84230844f7a34e4135a3db985dfba7657600e6222cd1b73a0144/68747470733a2f2f706f7365722e707567782e6f72672f62656e746f6f6c732f776562707573682d62756e646c652f646f776e6c6f616473)](https://packagist.org/packages/bentools/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)

PHP8.1+ is required.

```
composer require bentools/webpush-bundle
```

⚠️ *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

61

—

FairBetter than 98% of packages

Maintenance80

Actively maintained with recent releases

Popularity51

Moderate usage in the ecosystem

Community26

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 74.6% 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 ~132 days

Recently: every ~168 days

Total

24

Last Release

97d ago

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

0.10PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/acdd1a8ee0e657ddd06cf11f98a32100ef7121afb8aa270a5b295f5c29c038b3?d=identicon)[bpolaszek](/maintainers/bpolaszek)

---

Top Contributors

[![bpolaszek](https://avatars.githubusercontent.com/u/5569077?v=4)](https://github.com/bpolaszek "bpolaszek (53 commits)")[![121593](https://avatars.githubusercontent.com/u/44259105?v=4)](https://github.com/121593 "121593 (3 commits)")[![easis](https://avatars.githubusercontent.com/u/50383201?v=4)](https://github.com/easis "easis (2 commits)")[![encreinformatique](https://avatars.githubusercontent.com/u/22235605?v=4)](https://github.com/encreinformatique "encreinformatique (2 commits)")[![franbenz](https://avatars.githubusercontent.com/u/6500418?v=4)](https://github.com/franbenz "franbenz (1 commits)")[![hardanders-dev](https://avatars.githubusercontent.com/u/96169631?v=4)](https://github.com/hardanders-dev "hardanders-dev (1 commits)")[![mRoca](https://avatars.githubusercontent.com/u/4746261?v=4)](https://github.com/mRoca "mRoca (1 commits)")[![silvioq](https://avatars.githubusercontent.com/u/155036?v=4)](https://github.com/silvioq "silvioq (1 commits)")[![svenpet90](https://avatars.githubusercontent.com/u/97380444?v=4)](https://github.com/svenpet90 "svenpet90 (1 commits)")[![vince83110](https://avatars.githubusercontent.com/u/873465?v=4)](https://github.com/vince83110 "vince83110 (1 commits)")[![wRLSS](https://avatars.githubusercontent.com/u/2380100?v=4)](https://github.com/wRLSS "wRLSS (1 commits)")[![zogs](https://avatars.githubusercontent.com/u/2210624?v=4)](https://github.com/zogs "zogs (1 commits)")[![AdriwanKenoby](https://avatars.githubusercontent.com/u/10701624?v=4)](https://github.com/AdriwanKenoby "AdriwanKenoby (1 commits)")[![eneko-koraliving](https://avatars.githubusercontent.com/u/190071255?v=4)](https://github.com/eneko-koraliving "eneko-koraliving (1 commits)")[![f-israel](https://avatars.githubusercontent.com/u/8896328?v=4)](https://github.com/f-israel "f-israel (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/bentools-webpush-bundle/health.svg)

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

###  Alternatives

[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

21866.0M1.7k](/packages/drupal-core)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M738](/packages/sylius-sylius)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6942.5M421](/packages/drupal-core-recommended)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.8M508](/packages/pimcore-pimcore)[minishlink/web-push

Web Push library for PHP

1.9k14.3M77](/packages/minishlink-web-push)[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)

PHPackages © 2026

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