服务器 PHP 端实现极光推送
2019-04-29| 程成| 447| 0| 其他

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生产环境

image.png

这里有个参数 apns_production,决定了 IOS通知是推到生产环境还是开发环境


image.png


使用方法如下:


//苹果生产环境
->options(['apns_production'=>true])




×
作者:程成
QQ:492245711