f***@126.com
f***@126.com
  • 发布:2026-01-26 11:34
  • 更新:2026-01-26 17:58
  • 阅读:43

【报Bug】unpush2.0 云还是在线推送角标不更新,离线没问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: Android

手机系统版本号: Android 16

手机厂商: 华为

手机机型: 华为p40

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
'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  
};

操作步骤:

使用云函数本地推送参数如上,推送前保存app在线,消息可以收到,但是角标无变化

预期结果:

预期角标可以+1

实际结果:

角标无变化

bug描述:

uni push 2.0 推送在线消息,角标不增加,离线消息没问题,在后台web页面在线和离线都没问题。

2026-01-26 11:34 负责人:DCloud_uniCloud_JSON 分享
已邀请:
f***@126.com

f***@126.com (作者)

补充一下,我切换到Unipush 1.0在线和离线都没问题

DCloud_uniCloud_JSON

DCloud_uniCloud_JSON

uni-push2.0 在线推送场景下,推送铃声、应用角标等交互行为均由前端代码自主控制。应用在线时,角标增减、铃声触发等操作需结合具体业务场景决策:例如 IM 场景中,若用户已打开对应会话窗口,则无需执行角标 +1 操作;若会话未打开,则需触发角标 +1。在线状态下的所有推送交互逻辑,均由开发者基于前端接收到的推送 payload 自定义实现。其中,角标设置可调用 plus.runtime.setBadgeNumber( $count ) API,清空角标及系统通知栏消息可参考以下代码:

// 清理系统通知栏消息并重置APP角标数量为0  
plus.push.clear(); // 清空系统通知栏消息  
plus.runtime.setBadgeNumber(0); // 将APP角标数置为0
  • DCloud_uniCloud_JSON

    补充:uni-push2.0 应用在线时你收到的不是 push 通知,而是单向的websocket消息前端根据消息控制行为。详情:https://uniapp.dcloud.net.cn/unipush-v2.html#名词解释

    2026-01-26 17:52

  • f***@126.com (作者)

    现在就是有个问题,离线消息角标可以自增,但是在线角标+1,需要先拿到角标数量才可以实现,现在就是拿不到角标数量

    2026-01-26 17:59

  • f***@126.com (作者)

    还有通过网友后台推送在线消息可以角标+1收到这个是什么原因呢?

    2026-01-26 17:59

f***@126.com

f***@126.com (作者)

现在就是有个问题,离线消息角标可以自增,但是在线角标+1,需要先拿到角标数量才可以实现,现在就是拿不到角标数量

要回复问题请先登录注册