社区不行,自己研究了很久,先记录一下。
关于如何触发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的原因
12 个评论
要回复文章请先登录或注册
MrWang668
MrWang668
老哥教教我
7***@qq.com
老哥教教我
7***@qq.com
从入门到做保安 (作者)
老哥教教我
从入门到做保安 (作者)
老哥教教我