Skip to content

et-soft/php-apns

 
 

Repository files navigation

PHP APNS

PHP Apple Push Notification Service Library

Build Status Scrutinizer Quality Score Code Coverage Latest Stable Version Total Downloads Dependency Status

Install

Install PHP APNS using composer:

composer require jwage/php-apns

Generate Safari Notification Package

use JWage\APNS\Certificate;
use JWage\APNS\Safari\PackageGenerator;

$certificate = new Certificate(file_get_contents('apns.p12'), 'certpassword');
$packageGenerator = new PackageGenerator(
    $certificate, '/base/pushPackage/path', 'yourdomain.com'
);

// returns JWage\APNS\Safari\Package instance
$package = $packageGenerator->createPushPackageForUser('userid');

// send zip file to the browser
echo $package->getZipPath();

If you need set Intermediate Certificate, example: AppleWWDRCA.pem (since 14 Feb 2016). Add path in constructor PackageGenerator:

...
$packageGenerator = new PackageGenerator(
    $certificate, '/base/pushPackage/path', 'yourdomain.com', '/path/to/AppleWWDRCA.pem'
);
...

If you have AppleWWDRCA.cer, and you want to get PEM format. Try to call this command in UNIX console:

openssl x509 -in AppleWWDRCA.cer -inform DER -out AppleWWDRCA.pem -outform PEM

Sending Notifications

use JWage\APNS\Certificate;
use JWage\APNS\Client;
use JWage\APNS\Sender;
use JWage\APNS\SocketClient;

$certificate = new Certificate(file_get_contents('apns.pem'));
$socketClient = new SocketClient($certificate, 'gateway.push.apple.com', 2195);
$client = new Client($socketClient);
$sender = new Sender($client);

$sender->send('devicetoken', 'Title of push', 'Body of push', 'http://deeplink.com');

About

PHP Apple Push Notification Service library.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%