et-soft / php-apns
面向对象的PHP苹果推送通知集成库
v0.0.10
2016-11-28 14:33 UTC
Requires
- php: >=5.3.0
- ext-openssl: *
- ext-zip: *
README
PHP苹果推送通知服务库
安装
使用composer安装PHP APNS
composer require jwage/php-apns
生成Safari通知包
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();
如果需要设置中间证书,例如:AppleWWDRCA.pem(自2016年2月14日起)。在构造函数PackageGenerator中添加路径
... $packageGenerator = new PackageGenerator( $certificate, '/base/pushPackage/path', 'yourdomain.com', '/path/to/AppleWWDRCA.pem' ); ...
如果您有AppleWWDRCA.cer,并希望将其转换为PEM格式。请尝试在UNIX控制台中调用此命令
openssl x509 -in AppleWWDRCA.cer -inform DER -out AppleWWDRCA.pem -outform PEM
发送通知
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');