pusher / pusher-push-notifications
Installs: 1 701 494
Dependents: 9
Suggesters: 0
Security: 0
Stars: 56
Watchers: 11
Forks: 23
Open Issues: 2
Requires
- php: >=8.0
- ext-mbstring: *
- firebase/php-jwt: ^6.0
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- doctrine/instantiator: 1.4.0
- overtrue/phplint: ^4.0 || ^5.0
- phpunit/phpunit: ^9.0
- symfony/yaml: ^5.0 || ^6.0
README
PHP SDK for Pusher Beams
PHP server library for publishing notifications through Pusher Beams.
Check https://docs.pusher.com/beams/reference/server-sdk-php for more information.
NOTE: This library requires a PHP version of 8.0 or greater
Installation
Get Composer,
then get the pusher/pusher-push-notifications
Composer package:
$ composer require pusher/pusher-push-notifications
This SDK depends on the JSON PHP module.
Use
Configuring the SDK for your instance
<?php require __DIR__ . '/vendor/autoload.php'; $pushNotifications = new \Pusher\PushNotifications\PushNotifications(array( "instanceId" => "YOUR_INSTANCE_ID_HERE", "secretKey" => "YOUR_SECRET_HERE", ));
Publishing to Device Interests
You can broadcast notifications to groups of subscribed devices using Device Interests:
$publishResponse = $pushNotifications->publishToInterests( ["donuts"], [ "apns" => [ "aps" => [ "alert" => "Hello!", ], ], "fcm" => [ "notification" => [ "title" => "Hello!", "body" => "Hello, world!", ], ], ] ); echo("Published with Publish ID: " . $publishResponse->publishId . "\n");
Publishing to Device Interests along with data
You can broadcast notifications with some data to groups of subscribed devices using Device Interests:
$publishResponse = $pushNotifications->publishToInterests( ["donuts"], [ "apns" => [ "aps" => [ "alert" => "Hello!", ], ], "fcm" => [ "notification" => [ "title" => "Hello!", "body" => "Hello, world!", ], "data" => [ "name" => "adam", "type" => "user", ], ], ] ); echo("Published with Publish ID: " . $publishResponse->publishId . "\n");
Publishing to Authenticated Users
Securely send notifications to individual users of your application using Authenticated Users:
$publishResponse = $pushNotifications->publishToUsers( ["user-0001"], [ "apns" => [ "aps" => [ "alert" => "Hello!", ], ], "fcm" => [ "notification" => [ "title" => "Hello!", "body" => "Hello, world!", ], ], ] ); echo("Published with Publish ID: " . $publishResponse->publishId . "\n");