bpolaszek / webpush-bundle

Symfony Bundle: Send WebPush Notifications to your users.
MIT License
66 stars 40 forks source link

Latest Stable Version License CI Total Downloads

Webpush Bundle

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:

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

Summary

  1. Installation
  2. The UserSubscription entity
  3. The UserSubscription manager
  4. Configure the bundle
  5. Enjoy!
  6. F.A.Q.

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 package.

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:

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

Tests

./vendor/bin/phpunit

License

MIT

Credits

This bundle leverages the minishlink/web-push library.