minishlink / web-push-bundle
Symfony Bundle around the WebPush library
Installs: 237 016
Dependents: 2
Suggesters: 0
Security: 0
Stars: 45
Watchers: 3
Forks: 10
Open Issues: 3
Type:symfony-bundle
Requires
- php: ^7.2 || ^8.0
- minishlink/web-push: ^6.0|^7.0|^8.0
Requires (Dev)
- matthiasnoback/symfony-dependency-injection-test: ^3.0
- phpunit/phpunit: ^7.1
- symfony/framework-bundle: ^4.2|^5.0
- symfony/phpunit-bridge: ^5.0
README
This bundle provides a simple integration of the WebPush library.
Usage
Web Push sends notifications to endpoints which server delivers web push notifications as described in the Web Push API specification.
<?php /** @var \Minishlink\WebPush\WebPush */ $webPush = $this->container->get('minishlink_web_push');
The bundle provides a new minishlink_web_push
service that returns an instance of Minishlink\WebPush\WebPush
.
For more info on what you can do with $webPush
, check Minishlink/web-push.
Installation
composer require minishlink/web-push-bundle
- Enable the bundle in your
app/AppKernel.php
.
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Minishlink\Bundle\WebPushBundle\MinishlinkWebPushBundle(), // ... ); }
Configuration
Here is the default configuration, you may change it in your app/config/config.yml
.
minishlink_web_push: VAPID: subject: https://yoursite.com # can be an URL or a mailto: publicKey: ~88 chars # uncompressed public key P-256 encoded in Base64-URL privateKey: ~44 chars # the secret multiplier of the private key encoded in Base64-URL pemFile: path/to/pem # if you have a PEM file and can link to it on your filesystem pem: pemFileContent # if you have a PEM file and want to hardcode its content ttl: 2419200 # Time to Live of notifications in seconds urgency: ~ # can be very-low / low / normal / high topic: ~ # default identifier for your notifications timeout: 30 # Timeout of each request in seconds automatic_padding: true # pad messages automatically for better security (against more bandwith usage)