pusher/pusher-push-notifications

2.0 2022-08-09 21:07 UTC

This package is auto-updated.

Last update: 2024-12-09 18:12:43 UTC


README

Build Status

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