Whooami
Whooami
  • 发布:2023-10-17 17:36
  • 更新:2024-06-24 12:24
  • 阅读:541

uniapp unipush 1.0 设备在线却没有收到推送?(应该是出问题有一阵子了)

分类:uni-app

调用推送消息API返回数据包
{"RASS_1017_b1776cbce778ef73a9ac16c163478beb":{"437481ac88e840c63254fb5104f8cf36":"successed_online"}}

2023-10-17 17:36 负责人:DCloud_uniCloud_JSON 分享
已邀请:
陵域

陵域

在线:一般需要自主创建推送

  • Whooami (作者)

    嗯,这个就是自主创建推送返回的数据包

    2023-10-17 17:55

  • 陵域

    回复 Whooami: uni.createPushMessage这个API成功后的回调?

    2023-10-17 18:05

  • Whooami (作者)

    回复 陵域: 不是,我是通过服务端调用的

    2023-10-17 18:08

  • 陵域

    回复 Whooami: 哦,那就不知道了

    2023-10-17 18:10

  • Whooami (作者)

    回复 陵域: 嗯嗯,依然感谢。之前还好好的

    2023-10-17 18:14

  • DCloud_uniCloud_JSON

    回复 Whooami: 在线指的是应用在前台吗?如果切到后台是有可能被系统杀掉进程,只有开通厂商推送才能确保更高概率的送达

    2023-10-19 14:20

  • Whooami (作者)

    回复 DCloud_uniCloud_JSON: 应用是在前台。个推返回的也是 successed_online

    2023-10-26 15:21

  • Whooami (作者)

    回复 DCloud_uniCloud_JSON: 这个是今天最新的 {"RASS_1026_7594bb5a255210a2ceb90bfd776181ac":{"437481ac88e840c63254fb5104f8cf36":"successed_online"}。测试了好几次都是offline, 感觉应用要打开很久之后才变成 online。 不过设备都收不到推送

    2023-10-26 16:29

  • DCloud_uniCloud_JSON

    回复 Whooami: 你是不是把没有消息通知栏定义为没有收到?uni.onPushMessage 也监听不到吗

    2023-10-27 11:46

  • Whooami (作者)

    回复 DCloud_uniCloud_JSON: 我上线了的APP,之前一直是正常使用的。后来突然就没反应了

    2023-10-27 11:50

  • Whooami (作者)

    回复 DCloud_uniCloud_JSON: 通过plus.push.addEventListener('receive', function (msg) { 监听推送消息,收到后 通过plus.push.createMessage创建通知栏消息。这样有问题吗?

    2023-10-27 11:55

  • DCloud_uniCloud_JSON

    回复 Whooami: 请先回答我的问题,有没有收到透传消息

    2023-10-27 14:25

  • Whooami (作者)

    回复 DCloud_uniCloud_JSON: 没有,现在的逻辑就是接受透传再通过plus.push.createMessage创建通知栏消息

    2023-10-27 15:01

  • DCloud_uniCloud_JSON

    回复 Whooami: plus.push.addEventListener('receive' 后有 console.log(receive)看一下吗?接口都回调有收到了,你再确认一下

    2023-10-30 11:26

Whooami

Whooami (作者)

麻烦问下查出什么问题了吗?

Whooami

Whooami (作者)

本地debug了一下,目前的情况是这样的:
之前我提供的信息有误,有点相当然了,抱歉。客户端有收到推送信息,但是中间到2的位置就跳走了:代码逻辑大致如下
plus.push.addEventListener('receive', function (msg) {
let payload = msg.payload
console.log("payload:", payload); //1
console.log("payload:", JSON.parse(payload)); //2
plus.push.createMessage(); //3
});
目前的情况是用调试器代码执行到2的位置就直接出错了。跳到下图的位置。之后就不再执行了。
2的位置不管换成 payload.title, payload.type 。字段是存在的。但是直接异常跳转到下面位置,之后代码不再执行。

麻烦 @DCloud_uniCloud_JSON 再指点一下。

  • Whooami (作者)

    再次回复。已定位问题。不知道为什么推送的字串格式出问题了。再次感谢 @Cloud_uniCloud_JSON ,抱歉, 耽误您时间了

    2023-11-03 15:18

  • DCloud_uniCloud_JSON

    回复 Whooami: 你的payload不是一个标准的 json 吧?把收到的数据放到浏览器控制台JSON.parse试试

    2023-11-07 11:59

  • Whooami (作者)

    回复 DCloud_uniCloud_JSON: 是的,key中没有加双引号。多谢指教

    2023-12-05 10:45

莱克斯瑞

莱克斯瑞

请问下,安卓端的在线和离线都能在通知栏出现通知,但是在线的情况下App里面无法收到通知消息,必须点击通知栏才能收到消息。这是啥问题呢?

  • DCloud_uniCloud_JSON

    透传消息才可以直接收到,通知栏消息需要点击。所以 uni-push2.0 的设计是,无论你希望发什么样的消息到 app (默认)都发“透传”类型的消息,如果应用没有打开,手机系统会自动创建通知栏,如果应用已经打开了可以在收到透传消息之后自己用代码决定是否创建一个通知栏消息。

    2024-06-26 13:13

  • 莱克斯瑞

    回复 DCloud_uniCloud_JSON: 那我用的是uni-push1.0的呢?

    2024-07-08 11:15

要回复问题请先登录注册