首先去https://github.com/jpush/jpush-api-php-client 下载极光的包
或者使用#composer require jpush/jpush
来安装
下面是基于tp3.2来展示一个例子
首先我是把jpush这个包放在了tp3.2下面的vendor目录下
<?php
namespace Api\Controller;
use Think\Controller;
这里引入autoload文件
Vendor('jpush.autoload');
导入类
use JPush\Client;
下面是一个简单的demo
$client = new Client(AppKey, AppSecret);
$pusher = $client->push();
$pusher->setPlatform('all');//所有平台(IOS,Andirod)
$pusher->addAlias();//根据别名来发送
$pusher->setNotificationAlert('Hello,change');//发送一条消息
$res = $pusher->send();//最后使用send发送
最后会返回一条类似这样的消息,http_code等于200代表推送成功了
array(3) {
["body"] => array(2) {
["sendno"] => string(10) "1141231392"
["msg_id"] => string(10) "1612316710"
}
["http_code"] => int(200)
["headers"] => array(10) {
[0] => string(15) "HTTP/1.1 200 OK"
["Server"] => string(5) "nginx"
["Date"] => string(29) "Sat, 21 Apr 2018 08:33:11 GMT"
["Content-Type"] => string(16) "application/json"
["Content-Length"] => string(2) "45"
["Connection"] => string(10) "keep-alive"
["X-Rate-Limit-Limit"] => string(3) "600"
["X-Rate-Limit-Remaining"] => string(3) "599"
["X-Rate-Limit-Reset"] => string(2) "60"
["X-Jpush-Msgid"] => string(10) "1673711230"
}
}
关于推送到具体某一个设备的问题,这里我要讲一下。安卓或者IOS首先需要把APP包集成极光的SDK,这个是必须的,当接入成功之后,极光服务器会返回一个registerid给客户端,也就是安卓或者IOS,这时客户端可以对这个registerid起一个别名,可以是用户id,也可以是其他。
而最后我们服务端这个只需要在addAlias这个方法里面传用户id这个参数就行~
具体可以去官网参考一下,有多种推送群体的说明,有标签、别名、设备等。