一、前期准备

在动手之前建议先看下官方文档: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实现消息推送(在线离线)相关推荐

  1. Uni-app框架UniPush安卓消息推送模拟配置

    uni-push消息推送配置和实战 Uni-app消息推送 一.介绍 二.整体架构 三.消息类型 四.推送模拟配置 第一步:开通UniPush推送服务 第二步:UniPush配置 第三步:HBuild ...

  2. Android APP必备高级功能,消息推送之MQTT

    本文已授权微信公众号<鸿洋>原创首发,转载请务必注明出处. 1. Android端实现消息推送的几种方式 轮询:客户端定时向服务器请求数据.伪推送.缺点:费电,费流量. 拦截短信消息.服务 ...

  3. uniPush消息推送(离线)

    一.注册手机厂商账号(我只测试了华为和小米这里就说这两种) 华为开发者平台账号注册:(建议直接使用华为账号,否则可能无法使用推送): 1.直接到https://developer.huawei.com ...

  4. IM系统:消息推送及离线存储

    一.服务端维护每条消息对用户的送达状态 二.利用标号标记最新已读消息

  5. uniapp打包app,对接华为厂商,实现unipush离线消息推送

    今天终于可以抽出点时间,来记录一下这几天心塞的心情.上周公司派过来一个活,说是使用uniapp制作一个app,同时要实现在线消息推送和离线消息推送,啥话没说就揽了下来.不过说实在的,从来没有开发过ap ...

  6. JAVA集成unipush消息推送uniapp

    Springboot集成 pom文件引入相关jar包 <!-- https://mvnrepository.com/artifact/com.getui.push/restful-sdk --& ...

  7. 移动推送:灵活、高效、精准的App消息推送

    概要:移动互联网时代,手机App逐步成为一种生活方式.移动推送则是App主动触达用户的重要渠道,它可以推送消息通知,引导用户点击去往App,从而增强用户黏性,让潜在用户变成真爱粉.但由于安卓市场缺失系 ...

  8. android消息推送标准,如何提升Android消息推送的到达率?

    消息推送时下已经是app日常运营的重要工具,app的消息推送与一个app的日活息息相关,好的消息推送能够有效地增强用户黏性,然而一切好的消息推送都是建立在能够到达用户终端为前提的,所以消息推送的到达率 ...

  9. 如何选择第三方消息推送SDK?你必须把握这几个关键点

    ​​消息推送(常通过第三方消息推送平台实现)是APP触达用户,和用户沟通的重要方式.通过消息推送,用户可以及时接收到新闻资讯.商品优惠.产品功能更新通知等重要消息.有效的消息推送,可以帮助APP唤醒沉 ...

最新文章

  1. 试了下CommonLisp的WEB开发
  2. ios相机内存_ios 12功能大升级,快来体验内存释放、相机特效
  3. Oracle Grid 11.2.0.4 安装是出现INS-30510: Insufficient number of ASM disks selected.
  4. Centos中配置环境变量
  5. 编译型和解释型语言的区别
  6. Linux中apt install的lock问题
  7. Nginx 是如何让你的缓存延期的
  8. jdk和tomcat环境变量批处理(.bat)
  9. 计算机图形学完整笔记(七):曲线曲面 - 1
  10. 查看表空间大小和使用率,增加表空间大小的四种方法
  11. html实现宿舍管理系统,宿舍管理系统部分代码实现
  12. 文件或目录损坏且无法读取android studio
  13. word转pdf组合的图片出现灰线,如何处理
  14. 文本数据挖掘(Text Mining)
  15. Python基本数据类型之数字
  16. win10用户注销后该怎么办?如何彻底删除原有的用户名
  17. java实现svm svm的java实现
  18. 定时任务一(quartz):纯java
  19. Python 实现中国地图可视化
  20. r语言 面板数据回归_面板数据估计的R实现

热门文章

  1. QQ强奸用户,向QQ说不
  2. win7 共享文件服务器设置密码,win7如何共享文件夹设置密码,文件夹能直接设置密码win7-...
  3. 关于Matlab学习的建议
  4. Unity答题系统2.0版本(修改答题面板形式(滚动视图显示),增加提交后得分结果显示)
  5. 大数据与银行风险管理革命
  6. java盒子_JAVA 盒子
  7. 利用 PLC 和计算机实现智能化诊断方式
  8. 安装node教程---个人小结
  9. Latex 公式跨页
  10. 外包接单经验谈-寻找客户