github web-push-libs/web-push-php v4.0.0

latest releases: v9.0.1, v9.0.0, v9.0.0-rc2...
6 years ago

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)
);

Don't miss a new web-push-php release

NewReleases is sending notifications on new releases.