更新

JPush API PHP Client v3.5.2

更新说明

JPush API PHP Client v3.5.2 全面支持 HTTP/2, 版本要求 PHP >= 5.5.24, 但由于 libcurl 对于 HTTP/2 的实现依赖于第三方库 nghttp2 所以如果要支持 HTTP/2 需要做一些其他的配置。

详细情况配置步骤可以在这里了解:https://github.com/jpush/jpush-api-php-client/blob/dev/doc/http2.md

PS:如果不做处理,不会影响当前推送业务的使用。

安装

  • 在项目中的 composer.json 文件中添加 jpush 依赖:
"require": {
    "jpush/jpush": "v3.5.*"
}
  • 执行 $ php composer.phar install$ composer install 进行安装或 $ composer update 进行升级。

源码安装(不推荐使用)

  • 下载源代码包,解压到项目中
  • 在项目中引入 autoload:
    require 'path_to_sdk/autoload.php';

简单推送给全部设备

use JPush\Client as JPush;
...
...
// JPush SDK 也支持链式调用

    $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 请求返回的是一个对象,v3.5.0 以后新版本返回的是一个数组。由于改变了 API 请求的返回格式,所以请求结果和之前是不兼容的,需要相应的做一下转换,不过,还是建议直接处理作为数组的返回结果。

$result = array();
$result['data'] = (object)$response['body'];
$result['limit'] = (object)$response['headers'];
echo 'Result=' . json_encode($result);

源码 Github 链接: https://github.com/jpush/jpush-api-php-client