有问
有问
  • 发布:2021-04-12 18:03
  • 更新:2021-04-14 17:44
  • 阅读:1319

一个坑人的透传数据格式不统一的问题造成的透传消息接收不到

分类:uni-app

之前用h5+写的APP,在发送透传消息的时候,payload咋写都行,现在换了uniapp,发现一个坑人的地方。
第一个坑:
同样是发送透传消息,
payload格式必须是:{title:标题,content:内容,payload:{t:1}}
透传数据必须带TITLE才能正常接收到,否则就算显示发送成功了,客户端也无法接收到消息,走receive也没用。
而H5+的随便写都能收到。
第二个坑:
发送通知消息,在里面选附加消息,此时发送的透传数据不需要加TITLE发送后,客户端也能接收成功!
第三个坑:
用个推V2版,发送透传消息,无论加不加TITLE,只要是JSON格式都能收到。

所以问题来了,咱们能不能把unipush后台推送的透传数据payload的格式改成统一的?或者咋写都行的方式?
随便我把payload写成字符串或啥的都能接收到?

2021-04-12 18:03 负责人:DCloud_Android_DQQ 分享
已邀请:
DCloud_Android_DQQ

DCloud_Android_DQQ

已与开发者沟通确认。

1 消息有正常接收。

2 透传消息格式问题

unipush的推送协议 与 个推sdk v1版本一致。 如果要自动弹出通知消息,需要按照 title content等固定文本配置,否则需要手动。

个推v2版本不需要按照此要求设置。 稍后unipush 会考虑升级个推v2.

DCloud_Android_DQQ

DCloud_Android_DQQ

先说第一个坑。我没看懂。

你贴一段可以复现问题的内容 或者操作步骤。 我尝试复现一下

  • 有问 (作者)

    就是在Uni推送后台,我创建透传消息,如果payload里不加title和content字段,我的APP就收不到消息,虽然后台显示发出了也下发了,但我还是收不到消息,不能通过监听receive创建本地消息,监听无效。

    但是我在uni推送后台创建通知消息,里面改成附加消息,即使附加消息里不加title字段,我的APP也能通过监听receive创建本地消息。

    所以这个就是格式没有统一,有的必须加title和content有的不需要加。

    但是我用个推V2SDK直接发送消息,即使payload里不加title和content也能通过监听receive创建本地消息。


    代码就是receive的监听和透传的监听代码,和DEMO里的一致,代码没有问题,测试是uni推送后台发送通知消息和透传消息,以及个推V2 SDK独立推送消息,会因为payload字段不统一造成有的渠道收不到消息。

    在以前用H5+做的APP,我在unipush推送后台,即使把payload字段=2,3,3这种字符串形式,一样能推送成功,个推旧版SDK也可以,这个是统一的。就是uniapp的推送格式没有统一。

    2021-04-13 15:54

  • DCloud_Android_DQQ

    回复 有问: 你发一下 有问题的消息体。 我试一下。 就是你说的 包含payload的json。 你加我qq 643833712

    2021-04-14 14:39

该问题目前已经被锁定, 无法添加新回复