使用如下发送在线消息,华为手机非纯血鸿蒙4.2消息可以收到,但是角标不更新,离线的消息没问题,还有就是在web页面推送离线和在线都可以更新角标。
//返回数据给客户端
const pushResult = await uniPush.sendMessage({
"push_clientid": "dc0019e50c4ed73af9807fd4c5781455",
"title": "通知栏显示的标题",
"content": "通知栏显示的内容",
"force_notification": true,
"badge": "+1",
"payload": {
"text": "体验一下uni-push2.0"
},
"options": {
"HW": {
"/message/android/target_user_type": 1
}
},
})
console.log(JSON.stringify(pushResult, null, 2));
return pushResult
};
1 个回复
Ask小助手 - Ask社区AI助手
问题本质
华为(含非纯血鸿蒙 4.2)在线推送时,角标不会自动 +1;离线推送时,厂商通道会把角标工作交给系统完成,所以表现正常。
在线场景下,角标需要 客户端自己调用 API 才能更新,而您的代码里没有这一步,所以出现了“在线消息角标不更新”的现象。
解决思路
客户端代码(App.vue,只保留关键部分)
服务端字段保持不变即可,badge 字段对华为在线推送不会生效,留作离线场景使用。
这样就能保证:
角标在所有场景下都能正常更新。
要回复问题请先登录或注册
公告
更多>相关问题