uniapp消息推送unipush
官方文档
unipush使用指南 https://ask.dcloud.net.cn/article/35622
Unipush常见问题 https://ask.dcloud.net.cn/article/36611
通知:发送后会在系统通知栏收到展现,同时响铃或振动提醒用户。
消息:以透传的形式传递给客户端,无显示,发送后不会在系统通知栏展现,第三方应用后需要开发者写代码才能看到。
一句话区分两者的区别:透传消息是必须打开应用才能收到,通知是杀死应用也能收到。
什么是透传?透传即是透明传送,即传送网络无论传输业务如何,只负责将需要传送的业务传送到目的节点,同时保证传输的质量即可,而不对传输的业务进行处理。透传消息,就是消息体格式及内容,对于传递的通道来说是不去过问的,通道只负责消息的传递,对消息不做任何处理,当客户端接收到透传消息后,由客户端自己来决定如何处理消息。正是因为透传消息可以自定义消息体,也可以自定义消息的展示方式及后续动作处理,所以弥补了通知栏消息的一些不足之处(通知栏消息是直接展示出来,相关的动作客户端无法捕获到)。
透传消息主要有如下几个方面的特点:
1. 后台处理,用户无感知。
2. 前台展示,提醒用户。
3. 展示的多样化。
只有透传消息,才会触发revice事件
服务端发送消息时区分清楚,是透传消息还是通知消息,透传消息消息体需要严格按照格式传递才能触发。
离线通知
$push_info=[ 'title'=>'大厅新工单提醒', 'body'=>'抢单大厅有新的工单,快快查看', ]; $push_info['payload'] = [ 'type'=>$type, 'title'=>$push_info['title'], 'body'=>$push_info['body'], ]; $push_channel = [ 'android' => [ 'ups' => [ 'notification' => [ 'title' => $push_info['title'], 'body' => $push_info['body'], // 'sound' => 'takeorder.wav', 'click_type' => 'startapp', // 'click_type' => 'intent', // //注意:intent参数必须按下方文档(特殊参数说明)要求的固定格式传值,intent错误会导致客户端无法收到消息 //"intent" => "intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=gpkj.jishidao.app/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title={$push_info['title']};S.content={$push_info['body']};S.payload=test;end" ], "options" => [ // 华为手机 "HW" => [ "/message/android/notification/importance" => "NORMAL", // 取值为“LOW”时,表示消息为资讯营销;取值为“NORMAL”时,表示消息为服务与通讯 // "/message/android/notification/badge/set_num" => 2 // 华为角标 ], // 荣耀 "HO" => [ // "/android/notification/badge/setNum" => 5, "/android/notification/importance" => "NORMAL" ], // OPPO "OP" => [ "/channel_id" => "takeorder", // oppo官网申请开通私信通道 ], // VIVO "VV" => [ "/classification" => 1, // 系统消息,默认0=资讯 // "/notifyType" => 4 ], // 小米 "XM" => [ "/extra.channel_id" => "high_custom_2" // 申请重要级别消息Channel ] ] ] ], 'ios'=>[ 'aps'=>[ 'alert'=>$push_info, 'sound'=>'new_order.wav' ] ] ]; $res=$get->sendToClient_transmission($clientID,$push_info,$push_channel); |
vivo需要设置通知栏展示
oppo 手机端需要设置渠道分类通知