v4.0.0
See migration commit in web-push-php-example
- Support new
aes128gcm
content encoding (used notably in MS Edge)
You get your content encoding in your client JS code, and store it in your database alongside the rest of the subscription:
const contentEncoding = (PushManager.supportedContentEncodings || ['aesgcm'])[0];
- [BREAKING] You must use a new Subscription object in
sendNotification
Before:
use Minishlink\WebPush\WebPush;
$webPush->sendNotification(
'endpoint',
'payload', // optional (defaults null)
'userPublicKey', // optional (defaults null)
'userAuthToken' // optional (defaults null)
);
After:
use Minishlink\WebPush\WebPush;
use Minishlink\WebPush\Subscription;
$subcription = Subscription::create([
'endpoint' => 'endpoint',
'publicKey' => 'public key', // optional
'authToken' => 'authToken', // optional
'contentEncoding' => 'aesgcm', // optional, one of PushManager.supportedContentEncodings
]);
$webPush->sendNotification(
$notification['subscription'],
$notification['payload'] // optional (defaults null)
);