JPush 提供四种消息形式:通知,自定义消息,富媒体和本地通知。
通知 或者说 Push Notification,即指在手机的通知栏(状态栏)上会显示的一条通知信息。 通知主要用来达到提示用户的目的,应用于新闻内容、促销活动、产品信息、版本更新提醒、订单状态提醒等多种场景。
下面我们所讨论的都是 “通知” 形式。PHP端实现极光通知代码如下:
//初始化 JpushClient $client = new JPushClient(config('jpush')['appKey'], config('jpush')['masterSecret']); //生成构建器 $push = $client->push(); //获取cid $cid = $push->getCid($count = 1, $type = 'push')['body']['cidlist'][0]; //开始推送 $push //防止重复推送 ->setCid($cid) //全平台 ->setPlatform('all') //推送到指定人 ->addAlias($params['users']) //ios推送 ->iosNotification($params['alert'], [ 'sound' => 'sound', 'badge' => '+1', 'extras' => empty($params['extras']) ? [] : $params['extras'] ]) //android推送 ->androidNotification($params['alert'], [ 'builder_id' => 2, 'extras' => empty($params['extras']) ? [] : $params['extras'] ]) //推送 ->send();
注:
1、这里用到了cid, 你可以选择使用或者不使用,他的功用就是帮助你们避免一下子调用了两次API推送了同样的重复的消息。你若需要使用它,那么每次确保消息不一样时,使用的cid便应取不一样的值,当你调用API取到的cid信息都被你用了后,自然是需要再次获取下新的cid信息以供你后续使用。 如果你获取过一次cid列表,但是一天内并没有使用它,第二天它就过期了不能用了,得重新获取。
2、extras 包含了额外参数,数组形式
3、ios有两个环境 IOS开发环境 和 IOS生产环境
这里有个参数 apns_production,决定了 IOS通知是推到生产环境还是开发环境
使用方法如下:
//苹果生产环境 ->options(['apns_production'=>true])