从入门到做保安
从入门到做保安
  • 发布:2019-07-09 15:04
  • 更新:2020-06-20 16:00
  • 阅读:2997

关于unipush的一点使用心得

分类:uni-app

社区不行,自己研究了很久,先记录一下。
关于如何触发unipush的receive事件,之前有看见好几年的帖子都没人回复。头疼。
首先后端在使用代码测试时,虽然使用了透传的代码,但是app接收到的还是通知,而不是透传,透传和通知是两回事儿。
在app进程未被杀死时,也就是app在线的情况下,payload的数据格式不是按照标准的格式才会触发receive事件。
标准payload事件 String payload=“{title:xxxx,content:yyyy,payload:{{title:xxxx,content:yyyy,payload:{id:1000,id2:1002,id3:1003}}}}”
具体现在也还没有试过这样的标准的事件是不是不能触发receive,我看社区别人说的都不行。
至于什么是不标准的格式呢?这样的就行{"UUID":"androidPushMsg232","title":"测试","content":"测试离线ddd","payload":"测试离线ddd"},数据格式不标准不是指数据格式错误,而是自定义数据格式,只要不同于标准的数据格式就行了。

另外比较重要的是,如果你推送消息,在app打开的时候,通知栏如果有信息,那这就不是透传,而是通知。
在app进程被杀死后,透传就会直接到通知栏,并且只能触发click事件。
透传在app打开时,是不会发送到通知栏的,而是直接发送数据,不会进行页面上的一些展示。

另外我们后端的大佬用文档说的透传方法,在服务端发起的透传,在app上也是通知,这个坑导致一个上午都以为发起的通知是透传,也是为什么不触发receive的原因

5 关注 分享
老哥教教我 j***@qeebu.cn x***@vip.qq.com 7***@qq.com 打脑壳

要回复文章请先登录注册

7***@qq.com

7***@qq.com

额 可以了
怎么用透传 离线也通知呀
2020-06-20 16:00
7***@qq.com

7***@qq.com

我用 不标准的格式 也触发不了receive 事件呀
2020-06-20 15:23
老哥教教我

老哥教教我

回复 7***@qq.com :
你看官方演示后端呀
2020-03-09 18:27
7***@qq.com

7***@qq.com

回复 老哥教教我 :
好吧 我是java 别名不会处理
2020-03-09 18:17
老哥教教我

老哥教教我

回复 7***@qq.com :
我后台是php,你最好看下官方源码
2020-03-09 17:52
7***@qq.com

7***@qq.com

回复 老哥教教我 :
你好我也是 h5 app 能贴一下你后台的部分代码么 实在没看懂
2020-03-09 17:26
从入门到做保安

从入门到做保安 (作者)

2019-07-12 13:19
老哥教教我

老哥教教我

回复 从入门到做保安 :
刚试了一下,不行,我不是uniapp是html5+app,是三天前才支持的,估计有问题吧,谢谢了老哥!
2019-07-12 12:23
从入门到做保安

从入门到做保安 (作者)

回复 老哥教教我 :
你试一下这样写
plus.push.addEventListener('click', function(message) {
console.log("1")
}, false);

如果代码没有问题的话应该能打印 1 ,因为你直接就是if (mui.os.ios) 。。。 之类的,就不确定是没有进入click事件还是说你 mui.os.ios 和mui.os.android都是 false 如果都是false的话你现在代码的表现形式就跟不触发click一样的
2019-07-12 12:02
老哥教教我

老哥教教我

回复 从入门到做保安 :
写了

//点击推送进来
plus.push.addEventListener('click', function(message) {
if (mui.os.ios) {
switch (message.payload) {
case 'LocalMSG':
mui.alert("ios本地创建的消息:" + JSON.stringify(message));
break;
default:
mui.alert("ios离线创建的消息:" + JSON.stringify(message));
break;
}
return;
}
if (mui.os.android) {
mui.alert("Android 创建的消息:" + JSON.stringify(message));
}
}, false);
2019-07-12 11:07