Official PHP package for PushBots
Requires PHP 5.5.
$ php composer.phar require pushbots/pushbots-php
Then require the library in your PHP code:
require "vendor/autoload.php";
<?php
// load dependencies
require 'vendor/autoload.php';
use Pushbots\PushbotsClient;
use GuzzleHttp\Exception\ClientException;
use GuzzleHttp\Exception\ServerException;
use GuzzleHttp\Psr7;
$client = new PushbotsClient("APPLICATION_ID", "APPLICATION_SECRET");
try {
//Sample sending campaign to all users
$res = $client->campaign->send([
//Platforms
//0 => iOS
//1 => Android
//2 => Chrome
//3 => Firefox
//4 => Opera
//5=> Safari
"platform" => [0,1,2,3,4,5],
//Message
"msg" => "Notification message",
//Badge [iOS only]
"badge" => "+1",
//Notification payload
"payload"=>[
"key"=> "value"
]
]);
} catch (ClientException $e) {
echo Psr7\str($e->getRequest());
echo Psr7\str($e->getResponse());
} catch (ServerException $e) {
echo Psr7\str($e->getRequest());
echo Psr7\str($e->getResponse());
}
//Sample sending campaign to an alias
$client->campaign->alias("ALIAS", "Notification message");
//Sample sending campaign to an alias
$client->campaign->test();
Guzzle throws exceptions for errors that occur during a transfer.
use GuzzleHttp\Exception\ClientException;
use GuzzleHttp\Exception\ServerException;
use GuzzleHttp\Psr7;
......
try {
$client->transactional->send([
//topic [Required] of the transactional notification [can be any value, used only for tracking]
"topic" => "welcome_campaign",
//Platform [Required]
//0 => iOS
//1 => Android
//2 => Chrome
//3 => Firefox
//4 => Opera
//5=> Safari
"platform" => 0,
//recipients [Required]
"recipients"=> [
"tokens"=> ["343aa292e2bb642db2abb24124417cdf945a03e18c9434499d0dcef8b0d7dd0f"]
//==OR== "ids"=>["ID"]
],
//Message [Required]
"message" => [
"title"=>"title", //[Optional]
"body" => "Notification message",
"payload" => ["key"=>"value"] //[Optional]
]
]);
} catch (ClientException $e) {
echo Psr7\str($e->getRequest());
echo Psr7\str($e->getResponse());
} catch (ServerException $e) {
echo Psr7\str($e->getRequest());
echo Psr7\str($e->getResponse());
}
Version 1.2.1
- Add campaign V3 support.
- Bug fixes.
Version 1.2.0
- Bug fixes.
- Add transactional API support v3.
- Catch GuzzleExceptions in sample code.
Version 1.1.0
- Add testing notification.
- Add Push/one support.
- Add alias support.
Version 1.0.0
- Release PushBots PHP package