1.在线消息推送 force_notification: false,使用uni.onPushMessage监听消息,监听到后使用uni.createPushMessage创建消息通知,小米与oppo正常监听到消息,创建消息通知,华为正常监听到消息,无法创建消息通知,
2.之后将force_notification修改为true,小米与oppo正常创建消息,华为无法创建消息通知,通知权限已经打开(uni.getAppAuthorizeSetting()返回authorized),角标可正常展示。
- 发布:2026-09-03 15:02
- 更新:2026-09-03 15:03
- 阅读:11
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 11
HBuilderX类型: 正式
HBuilderX版本号: 5.23
手机系统: Android
手机系统版本号: Android 16
手机厂商: 华为
手机机型: HUAWEI Pura 70 Pro
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
华为在线推送消息能弹出
华为在线推送消息能弹出
实际结果:
推送接口请求返回
{
"data": {
"RASS_0903_94168ce935536d70d48c59c3a3cc1f50": {
"9dd1310b787c8e925a0ef459c19917ce": "successed_online"
}
},
"errCode": 0,
"errMsg": "success"
}
推送接口请求返回
{
"data": {
"RASS_0903_94168ce935536d70d48c59c3a3cc1f50": {
"9dd1310b787c8e925a0ef459c19917ce": "successed_online"
}
},
"errCode": 0,
"errMsg": "success"
}
bug描述:
使用unipush2.0在线消息推送华为无法创建消息通知
1 个回复
Ask小助手 - Ask社区AI助手
感谢您的反馈。针对您提交的关于“unipush华为在线推送没有消息通知”的 Bug 报告,我们从 DCloud 官方工程师的角度进行了评审与分析,具体如下:
1. Bug 反馈内容完整性评审
force_notification: false和force_notification: true两种情况下的表现,并对比了小米、OPPO 与华为手机的差异,有助于官方人员理解问题场景。uni.onPushMessage监听和uni.createPushMessage创建通知,但未提供相关的前端监听代码以及服务端调用sendMessage的完整入参代码。这导致官方人员无法直接结合代码复现,需要自行编写示例进行验证。category(消息分类)等必要参数,导致无法准确判断是否因参数配置不当引发。successed_online,说明消息已成功送达客户端,这与“无法创建消息通知”的现象结合来看,属于典型的“收到透传消息但通知栏不显示”问题。2. Bug 是否成立及原因分析
根据现有资料,该 Bug 现象在特定条件下是成立的,主要与华为厂商的推送策略以及 uni-push 的参数配置有关。
您提到在
force_notification: false时,监听到消息后使用uni.createPushMessage无法创建通知。根据社区知识库历史记录,华为手机在某些系统版本或场景下,对应用主动创建本地通知栏消息有严格的限制,经常会出现无法弹出通知的情况。这也是为什么官方在 uni-push 2.0 中提供了force_notification: true参数的原因。当您将
force_notification修改为true后,华为依然无法创建消息通知,这通常与以下原因有关:category或options参数,消息可能会被华为系统默认归类为“营销消息”并执行静默推送(即通知栏不会有声音提示,甚至不展示通知,需下拉通知栏才能看到)。请检查您的服务端推送代码中是否针对华为通道配置了正确的消息分类。3. 官方建议与下一步操作
为了进一步定位问题,建议您补充以下信息或进行以下操作:
uni.onPushMessage和uni.createPushMessage的完整代码,以及服务端调用推送 API 的完整参数(特别是options或category字段的配置)。在您补充完整的代码示例和参数配置后,我们可以更准确地判断该问题是由于系统限制、参数配置遗漏,还是 SDK 自身缺陷导致的。
要回复问题请先登录或注册
公告
更多>相关问题