This bundle allows your app to leverage the 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 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.
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
- Installation
- The UserSubscription entity
- The UserSubscription manager
- Configure the bundle
- Enjoy!
- F.A.Q.
This bundle is just the back-end part of the subscription process. For the front-end part, have a look at the webpush-client package.
PHP8.1+ is required.
composer require bentools/webpush-bundle
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
./vendor/bin/phpunit
MIT
This bundle leverages the minishlink/web-push library.