'use strict';
exports.main = async (event, context) => {
const uniPush = uniCloud.getPushManager({
appId: "__UNI__0156340"
})
//返回数据给客户端
const pushResult = await uniPush.sendMessage({
"push_clientid": "c42cd91e568f7d2b61e607ef2834c8d1",
"title": "tt",
"content": "tt",
"force_notification": true,
"payload": {
"title": "tt",
"content": "tt"
},
})
console.log(JSON.stringify(pushResult, null, 2));
return pushResult
}; - 发布:2026-01-26 11:34
- 更新:2026-01-26 17:58
- 阅读:43
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: Android
手机系统版本号: Android 16
手机厂商: 华为
手机机型: 华为p40
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用云函数本地推送参数如上,推送前保存app在线,消息可以收到,但是角标无变化
使用云函数本地推送参数如上,推送前保存app在线,消息可以收到,但是角标无变化
预期结果:
预期角标可以+1
预期角标可以+1
实际结果:
角标无变化
角标无变化
bug描述:
uni push 2.0 推送在线消息,角标不增加,离线消息没问题,在后台web页面在线和离线都没问题。
uni-push2.0 在线推送场景下,推送铃声、应用角标等交互行为均由前端代码自主控制。应用在线时,角标增减、铃声触发等操作需结合具体业务场景决策:例如 IM 场景中,若用户已打开对应会话窗口,则无需执行角标 +1 操作;若会话未打开,则需触发角标 +1。在线状态下的所有推送交互逻辑,均由开发者基于前端接收到的推送 payload 自定义实现。其中,角标设置可调用 plus.runtime.setBadgeNumber( $count ) API,清空角标及系统通知栏消息可参考以下代码:
// 清理系统通知栏消息并重置APP角标数量为0
plus.push.clear(); // 清空系统通知栏消息
plus.runtime.setBadgeNumber(0); // 将APP角标数置为0 -
补充:uni-push2.0 应用在线时你收到的不是 push 通知,而是单向的websocket消息前端根据消息控制行为。详情:https://uniapp.dcloud.net.cn/unipush-v2.html#名词解释
2026-01-26 17:52
-
-