PHP激光推送,移动端消息通知

PHP激光推送,移动端消息通知
 composer require jpush/jpush
 
 以下是整理好的方式:
/**
 * 极光推送
 * 过滤 html 和特殊字符,主要是针对富文本编辑器里产生的HTML和特殊字符
 * @param $model array
 * @return true
 */
public function msg_push($model)
{
    $code = $model['code']; //用户别名
    $img = $model['img']; //图片
    $msg_id = $model['msg_id']; //消息编号
    $extras = [];
    $extras['path'] = $model['path']; //类型
    $extras['id'] = $model['id']; //ID
    $extras['title'] = $model['title']; //标题
    $alert = [
        'body' => $model['desc'], //内容
        'title' => $model['title'], //标题
    ];
    $client = new Client(\Yii::$app->params['push']['AppKey'], \Yii::$app->params['push']['Secret']);
    $res = $client->push()
        ->setPlatform('all')
        ->addAlias($code)
        ->iosNotification($alert,[
            'sound' => 'sound',
            'badge' => '+1',
            'content-available' => true,
            'category' => 'jiguang',
            'extras' => $extras,

        ])
        ->androidNotification($desc,[
            'title' => $title,
            'large_icon' => $img,
            'extras' => $extras
        ])
        ->message('Hello JPush', [
            'title' => 'Hello',
            'content_type' => 'text',
            'extras' => [
                'key' => 'value'
            ]
        ])
        ->options([
                'sendno' =>$msg_id,
                'apns_production' => true, //环境  false 开发环境(线下) true 生成环境(线上)
            ]
        );
    try { //捕获异常,无法获取用户别名不发消息
        $res->send();
    } finally {
        return true;
    }
}

以上就是激光推送封装的方法,以及项目中遇到问题总结
如有其他问题请加群讨论
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值