uni-app如何使用Unipush实现消息推送(在线离线)
一、前期准备
在动手之前建议先看下官方文档:https://ask.dcloud.net.cn/article/id-35622__page-5
首先,在App模块配置勾选如下后,点击配置进入DCloud开发者中心
第一次进来的话,可能会要求填写相应的资料,按步骤填写即可,不做详细介绍
二、在线推送
在线推送的话比较简单,坑比较少,很快就能实现
在App.vue中 onLaunch 生命周期中添加如下代码,其中cid表示客户端标识,也就是用户标识
// #ifdef APP-PLUSvar pinf = plus.push.getClientInfo();var cid = pinf.clientid; //客户端标识console.log('cid:' + cid);plus.push.addEventListener('click',function(msg) {uni.navigateTo({url: 'pages/new_order/new_order'});},false);plus.push.addEventListener('receive',function(msg) {uni.navigateTo({url: 'pages/new_order/new_order'});},false);
// #endif
在这里需要 制作自定义基座后,运行到手机
进入DCloud开发者中心Uni Push模块下的通知消息
填写以上信息即可,其中目标用户中有一个CID用户,就是上面在代码中体现的cid,可以打印出来后复制进来,就会指定用户进行消息的发送
信息填写完毕后点击预览,出现以下界面中,若预计人数中出现大于0,则表示消息可以发送
点击确定后,app会接收到消息推送,当然需要将app打开,也就是标题中的在线推送
二、离线推送
离线推送的话就比较麻烦一点,需要配置厂家通道,这里以小米为例
小米开发者平台:https://dev.mi.com/console/
这里需要进行开发者认证,这里跳过这个环节(注意照片需要按照他的要求来拍摄,否则基本很难通过)
验证通过以后我们就可以来进行应用的添加
填写相关的信息,需要注意的是包名需要和uni-app打包时的包名一致,否者接收不到消息
创建好以后,就得到了我们所需要的AppID、AppKey、AppSecret,填写到对应厂商的设置中
这时需要用到透传消息,至于透传消息原理可以自行百度,配置好以后重复制作自定义基座,然后运行到手机操作
第一次弄的话可以与我格式一致
透传内容如下:
{"title": "测试离线", "content": "我是通过透传发送的消息", "payload": "test"}
通知类型如下:
intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=应用包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试标题;S.content=测试内容;S.payload=test;end
需要修改的就是上面的应用包名的地方,然后点击预览,同样出现人数的话就表示正常,可以点击确定,发送消息
三、问题总结
1、厂家通道中包名与uni-app云打包中的包名不一致
2、没有在配置好后台完成后,重新进行云打包(如果遇到接收不到消息,可重新打包测试)
3、通知类型中的应用包名填写错误
4、IOS系统的话需要注意打包的证书和推送的证书需要是同一个环境的,不同证书同样会推送失败(已踩坑)
我本人测试用的小米手机,也遇到了一些问题
1、应用权限没有开启后台弹出界面权限,导致接收不到通知(检查设备是否有禁止后台弹出界面,路径>>设置-应用管理-测试应用-权限管理-后台弹出界面)
2、没有将通知设置为重要通知(检查应用通知管理权限页面,系统推荐按设置为重要通知)
可以看下下面这个链接,官方总结的一些常见问题,作用很大
常见问题:https://ask.dcloud.net.cn/article/id-36611__page-4
uni-app如何使用Unipush实现消息推送(在线离线)相关推荐
- Uni-app框架UniPush安卓消息推送模拟配置
uni-push消息推送配置和实战 Uni-app消息推送 一.介绍 二.整体架构 三.消息类型 四.推送模拟配置 第一步:开通UniPush推送服务 第二步:UniPush配置 第三步:HBuild ...
- Android APP必备高级功能,消息推送之MQTT
本文已授权微信公众号<鸿洋>原创首发,转载请务必注明出处. 1. Android端实现消息推送的几种方式 轮询:客户端定时向服务器请求数据.伪推送.缺点:费电,费流量. 拦截短信消息.服务 ...
- uniPush消息推送(离线)
一.注册手机厂商账号(我只测试了华为和小米这里就说这两种) 华为开发者平台账号注册:(建议直接使用华为账号,否则可能无法使用推送): 1.直接到https://developer.huawei.com ...
- IM系统:消息推送及离线存储
一.服务端维护每条消息对用户的送达状态 二.利用标号标记最新已读消息
- uniapp打包app,对接华为厂商,实现unipush离线消息推送
今天终于可以抽出点时间,来记录一下这几天心塞的心情.上周公司派过来一个活,说是使用uniapp制作一个app,同时要实现在线消息推送和离线消息推送,啥话没说就揽了下来.不过说实在的,从来没有开发过ap ...
- JAVA集成unipush消息推送uniapp
Springboot集成 pom文件引入相关jar包 <!-- https://mvnrepository.com/artifact/com.getui.push/restful-sdk --& ...
- 移动推送:灵活、高效、精准的App消息推送
概要:移动互联网时代,手机App逐步成为一种生活方式.移动推送则是App主动触达用户的重要渠道,它可以推送消息通知,引导用户点击去往App,从而增强用户黏性,让潜在用户变成真爱粉.但由于安卓市场缺失系 ...
- android消息推送标准,如何提升Android消息推送的到达率?
消息推送时下已经是app日常运营的重要工具,app的消息推送与一个app的日活息息相关,好的消息推送能够有效地增强用户黏性,然而一切好的消息推送都是建立在能够到达用户终端为前提的,所以消息推送的到达率 ...
- 如何选择第三方消息推送SDK?你必须把握这几个关键点
消息推送(常通过第三方消息推送平台实现)是APP触达用户,和用户沟通的重要方式.通过消息推送,用户可以及时接收到新闻资讯.商品优惠.产品功能更新通知等重要消息.有效的消息推送,可以帮助APP唤醒沉 ...
最新文章
- 试了下CommonLisp的WEB开发
- ios相机内存_ios 12功能大升级,快来体验内存释放、相机特效
- Oracle Grid 11.2.0.4 安装是出现INS-30510: Insufficient number of ASM disks selected.
- Centos中配置环境变量
- 编译型和解释型语言的区别
- Linux中apt install的lock问题
- Nginx 是如何让你的缓存延期的
- jdk和tomcat环境变量批处理(.bat)
- 计算机图形学完整笔记(七):曲线曲面 - 1
- 查看表空间大小和使用率,增加表空间大小的四种方法
- html实现宿舍管理系统,宿舍管理系统部分代码实现
- 文件或目录损坏且无法读取android studio
- word转pdf组合的图片出现灰线,如何处理
- 文本数据挖掘(Text Mining)
- Python基本数据类型之数字
- win10用户注销后该怎么办?如何彻底删除原有的用户名
- java实现svm svm的java实现
- 定时任务一(quartz):纯java
- Python 实现中国地图可视化
- r语言 面板数据回归_面板数据估计的R实现