大家有没有用过极光推送 JPush ,现在发布新版本了 v3.5.0
刚开始叫我维护 PHP SDK 其实我是拒绝的,不仅因为我看过 Issue,还因为我看过源码。很多现代 PHP 该有的东西他都没有,命名空间啊、PSR-4 啊、正确的异常处理方式啊、Composer 虽然说有,但是我没看到它可以用的(Packagist 上的下载量还不低,他们到底是在怎么用的,反正我第一次使用 composer 安装的时候是报错的,当然第二次也是)。。维护一个旧代码意味着什么,我想不用我多说。
吐槽归吐槽,其实自认为也是个小白,不过我会努力解决这些在使用上的问题,这不,经过好几个月的辛勤工作(夸张的修辞
)终于发布了 v3.5.0,一个新的版本,着力去解决上面提到的一些问题。
下面简单写一下基本用法
安装#
先在项目中的 composer.json 文件中添加 jpush 依赖:
"require": {
"jpush/jpush": "v3.5.*"
}
然后执行 $ php composer.phar install
或 $ composer install
进行安装。
简单推送给全部设备#
use JPush\Client as JPush;
...
...
// JPush SDK 也支持链式调用
// 当然 app_key 和 master_secret 直接在这里赋值是不好的
$app_key = 'xxxx';
$master_secret = 'xxxx';
$client = new JPush($app_key, $master_secret);
$pusher = $client->push();
$pusher->setPlatform('all');
$pusher->addAllAudience();
$pusher->setNotificationAlert('Hello, JPush');
try {
$response = $pusher->send();
} catch (\JPush\Exceptions\JPushException $e) {
// try something else here
print $e;
}
...
重要说明#
旧版本的 API 请求返回的是一个对象,新版本返回的是一个数组。由于改变了 API 请求的返回格式,所以请求结果和之前是不兼容的,需要相应的做一下转换,不过,还是建议直接处理作为数组的返回结果。
$result = array();
$result['data'] = (object)$response['body'];
$result['limit'] = (object)$response['headers'];
echo 'Result=' . json_encode($result);
PS#
是不是相当的简单呢,当然我承认还存在一些其他问题,如果遇到相关问题欢迎在 Github 上提 issue 或者极光社区发帖,我们会第一时间回复解答跟进(伸手党除外)。
推荐文章: