赞
踩
首次使用uniapp实现app开发
使用个推sdk,实现app的消息推送;
找遍了文档,没找到方法,最终结合H5+的方式实现消息推送
带参数跳转指定页面。
2019-8-7 修改为unipush方式,仅需要将uniapp内的配置 从个推修改为unipush 即可,连代码都不用更改。如果需要配置厂商的就配置下。
参考 uniapp 提供官方文档
uni.getProvider(OBJECT)
获取服务供应商;
uni.subscribePush(OBJECT)
开启推送;
上述可获取到推送的基本信息,token ,appid,appkey ,CID等信息。
uni.onPush(OBJECT)
监听透传数据。
多种方式实验过后,仍是无法监听;(个人能力问题,还是不知道哪里实现监听T T)
最终解决方法:
为在APP.vue中使用;
复制代码-
- //#ifdef APP-PLUS
-
- /* 5+ push 消息推送 ps:使用:H5+的方式监听,实现推送*/
- plus.push.addEventListener("click", function(msg) {
- plus.ui.alert("click:"+JSON.stringify(msg));
- plus.ui.alert(msg.payload);
- // plus.ui.alert(JSON.stringify(msg));
-
- }, false);
- // 监听在线消息事件
- plus.push.addEventListener("receive", function(msg) {
- // plus.ui.alert(2);
- plus.ui.alert("recevice:"+JSON.stringify(msg))
- }, false);
-
- //#endif
在app.vue的 onLaunch 生命周期内,实现跳转也出现过问题。
应该是页面还没加载,加上定时后,可实现功能;
setTimeout(function(){
uni.navigateTo({
url: '../fire/detail?detailID='+msgObj.id
})
},1000);
page.json ;有配置
强制打开 app后在 自动首页打开,所有跳转链接是路径不是在app.vue的写法;
需要从main.vue下找到 需要跳转的路径 。所以的我是 “../xxx/xxx”
解决推送问题的同时也顺便解决了之前一直想要监听事件的问题;
uniapp下的监听都在app.vue下;
其他页面无法监听;
个人方式实现功能,希望可以有帮助,小伙伴们有更好的可以多多交流。
在个推之后,dcloud推了unipush,比较方便,这篇一直没更新,疫情在家,我就随便补充下 - -
推送选择uniPush
登陆dcloud官网找到开发者后台,成功申请后,找到需要到app
开通unipush,同个推流程一样。搞好后,之前的也不需要改,直接可用。
如果需要离线推送,如下图配置,需要开通不同厂商的开发者账号和权限配置。我自己的项目只添加了华为和小米。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。