推荐文章
极光推送的初步使用下载方式
composer require jpush/jpush
index.php文件
<?php
include './vendor/autoload.php';
require './config.php';
use JPush\Client as JPush;
$data = $_POST;
//定义需要的参数
$app_key="5cfcdf6659fca3e33dde79cc";
$master_secret="b6d1612108cbd489e379e25e";
//点三个参数可以传日志位置
$client = new JPush($app_key, $master_secret, './jpush.log');
$push = $client->push();
//设置推送的平台
$platform = array('ios', 'android');
//设置别名
$alias=array(
'name'=>'zhangsan',
'age' => '12',
);
//设置信息内容
$content = '您有新消息了';
$message = array(
'title' => '平台标题',
'content_type' => 'text',
'msg_content'=>'消息内容',
);
//设置推送选项
$options = array(
'sendno' => 101, // 无意义字段--纯粹用来作为 API 调用标识,API 返回时被原样返回,以方便 API 调用方匹配请求与返回。
'time_to_live' => 86400*7, //若用户不在线,消息为用户保存多久86400是一天,最长10天
'apns_production' => True, //False表示开发环境 True 表示推送生产环境
'big_push_duration' => 0 //缓慢推送
);
//匹配不同的推送
switch ($data['type']) {
//1 为广播
case '1':
$push->setPlatform($platform) //推送平台
->addAllAudience() //广播推送到所有人
->message($content, $message)
->options($options);
try { //尝试推送
$response = $push->send();
print_r($response);
if ($response['http_code'] == 200){
echo json_encode( array('msg'=>'推送成功-11'));
}else{
echo json_encode( array('msg'=>'推送失败'));
}
} catch (\JPush\Exceptions\JPushException $e) {
print $e;
}
break;
//2 为个人
case '2':
//当用户未登陆时,无法为个人推送消息,这时会发生异常,捕获异常并处理
try{
$push->setPlatform($platform)
->addAlias($alias) //要推送的用户,可以是数组 。一个设备只能绑定一个别名,但多个设备可以绑定同一个别名。一次推送最多 1000 个。
->message($content, $message)
->options($options);
try { //尝试推送
$response = $push->send();
print_r($response);
if ($response['http_code'] == 200){
echo json_encode( array('msg'=>'推送成功'));
}else{
echo json_encode( array('msg'=>'推送失败'));
}
} catch (\JPush\Exceptions\JPushException $e) {
print $e;
}
}catch (\Exception $e) {
print_r($e);
}
break;
default:
echo '非法推送';
break;
}
注意
使用了别名推送 addAlias($alias)
就不可以使用 addAllAudience()