2017 © Pedro Peláez
 

library exponent-server-sdk-php

Server-side library for working with Expo push notifications using PHP

image

alymosul/exponent-server-sdk-php

Server-side library for working with Expo push notifications using PHP

  • Sunday, July 22, 2018
  • by Alymosul
  • Repository
  • 2 Watchers
  • 21 Stars
  • 4,716 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 4 Forks
  • 3 Open issues
  • 4 Versions
  • 34 % Grown

The README.md

exponent-server-sdk-php

Server-side library for working with Expo push notifications using PHP, (*1)

Latest Stable Version License Total Downloads, (*2)

Usage

  • Require the package in your project
composer require alymosul/exponent-server-sdk-php
  • In a php file
    require_once __DIR__.'/vendor/autoload.php';

    $channelName = 'news';
    $recipient= 'ExponentPushToken[unique]';

    // You can quickly bootup an expo instance
    $expo = \ExponentPhpSDK\Expo::normalSetup();

    // Subscribe the recipient to the server
    $expo->subscribe($channelName, $recipient);

    // Build the notification data
    $notification = ['body' => 'Hello World!'];

    // Notify an interest with a notification
    $expo->notify([$channelName], $notification);
 ```
Data can be added to notifications by providing it as a JSON object. For example:
```php
// Build the notification data
$notification = ['body' => 'Hello World!', 'data'=> json_encode(array('someData' => 'goes here'))];

Channel name

You can use channels to send a notification to only one user, or to a group of users:, (*3)

One recipient

In order to target one recipient (and avoid sending a notification to the wrong recipient), use a channel name specific to each user:, (*4)

$channelName = 'user_528491';
$recipient = 'ExponentPushToken[unique]';

// …

// Subscribe the recipient to the server
$expo->subscribe($channelName, $recipient);

// …

// Notify an interest with a notification, only one recipient will receive it
$expo->notify([$channelName], $notification);

Several recipients

Declare a channel name that will be shared between the recipients:, (*5)

$channelName = 'group_4815';

$recipient1 = 'ExponentPushToken[unique1]';
$recipient2 = 'ExponentPushToken[unique2]';

// …

// Subscribe the recipients to the server
$expo->subscribe($channelName, $recipient1);
$expo->subscribe($channelName, $recipient2);

// …

// Notify an interest with a notification, the 2 recipients will receive it
$expo->notify([$channelName], $notification);
// Build the notification data
$notification = ['body' => 'Hello World!', 'data'=> json_encode(array('someData' => 'goes here'))];

Additional security

If you set up enhanced security in your Expo Dashboard (as described here), you will need to attach an authorization token to each push request:, (*6)

```php // ..., (*7)

// Bootup an expo instance
$expo = \ExponentPhpSDK\Expo::normalSetup();

// Fetch your access token from where you stored it
$accessToken = 'your_expo_access_token';

// The access token will be attached to every push request you make hereafter
$expo->setAccessToken($accessToken);

// Notify an interest with a notification
$expo->notify([$channelName], $notification);

```, (*8)

TODO

  • Need to create tests

Laravel driver

  • There's an expo notifications driver built for laravel apps that's ready to use, you can find it here.. https://github.com/Alymosul/laravel-exponent-push-notifications

The Versions

22/07 2018

dev-develop

dev-develop

Server-side library for working with Expo push notifications using PHP

  Sources   Download

MIT

The Requires

  • php >=7.0

 

by Aly Suleiman

push notifications expo exponent

03/07 2018

dev-master

9999999-dev

Server-side library for working with Expo push notifications using PHP

  Sources   Download

MIT

The Requires

  • php >=7.0

 

by Aly Suleiman

push notifications expo exponent

19/07 2017

v1.0

1.0.0.0

Server-side library for working with Expo push notifications using PHP

  Sources   Download

MIT

The Requires

  • php >=7.0

 

by Aly Suleiman

push notifications expo exponent

01/06 2017

v1.0.2

1.0.2.0

Server-side library for working with Expo push notifications using PHP

  Sources   Download

MIT

The Requires

  • php >=7.0

 

by Aly Suleiman

push notifications expo exponent