为Apple Push开发的PHP PEAR 包:Services_Apple_PushNotification

Apple Push Notification Service:通过苹果服务器向app用户推送消息,无需启动app。

苹果官方文档:http://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW9

对于这种第三方库,PHP官方称之为PEAR,需要按照PEAR标准开发(标准URI)。

PEAR的优势:一键安装到php/lib/php目录,require即可使用,很方便。

PHP PEAR上有一个Services_Apns,github上有一个Services_APNS,但都无法使用,所以我开发了一个,安装步骤如下:

pear channel-discover sinkcup.github.io/pear
pear install sinkcup/Services_Apple_PushNotification

使用步骤:

1、登录苹果开发者后台,下载dev或prod证书,合并成pem文件。在ios app里添加push权限,获得device token。参考:http://www.cnblogs.com/gpwzw/archive/2012/03/31/Apple_Push_Notification_Services_Tutorial_Part_1-2.html

2、demo(参考)

<?php
require_once 'Services/Apple/PushNotification.php';
$conf = array(
    'password' => '12346',
    'cert' => '/home/u1/cert.pem-sandbox',
);
$o = new Services_Apple_PushNotification('sandbox', $conf);
$deviceToken = 'aaaf818eaae8a5aa11aaaf9aa8f8aa15aaefae75a1aaaa597e51917aa2a1a111';
$data = array(
    'aps' => array(
        'alert' => '测试push sandbox',
        'badge' => 2,
        'sound' => 'default',
    )
);
$r = $o->send($deviceToken, $data);
var_dump($r);
exit;
?>

输出:

bool(true)

我的PEAR 频道:http://sinkcup.github.io/pear/

Services_Apple_PushNotification项目代码:https://github.com/sinkcup/Services_Apple_PushNotification

posted @ 2013-09-25 14:18  sink_cup  阅读(1600)  评论(0编辑  收藏  举报
Creative Commons License

本站原创作品采用知识共享署名 3.0许可协议进行许可。