The Web Push Service The WebPush object requires a HTTP Client and an Extension Manager .
Copy use Symfony \ Component \ HttpClient \ HttpClient ;
use WebPush \ WebPush ;
$client = HttpClient :: create () ;
$service = new WebPush ($client , $extensionManager);
The service is now ready to send Notifications to the Subscriptions. The StatusReport object that is returned is explained here .
Copy <? php
use WebPush \ Subscription ;
use WebPush \ Notification ;
$subscription = Subscription::createFromString('{"endpoint":"https://updates.push.services.mozilla.com/wpush/v2/AAAAAAAA[…]AAAAAAAAA","keys":{"auth":"XXXXXXXXXXXXXX","p256dh":"YYYYYYYY[…]YYYYYYYYYYYYY"}}');
$notification = Notification :: create ()
-> withPayload ( 'Hello world' )
;
$statusReport = $service -> send ( $notification , $subscription ) ;
In this example, we load the Subscription object from a string, but usually to retrieve the Subscription objects from a database or a dedicated storage.