x***@vip.qq.com
x***@vip.qq.com
  • 发布:2026-04-03 12:59
  • 更新:2026-04-03 12:59
  • 阅读:32

【报Bug】鸿蒙app,集成 uniPush 模块后,未调用任何推送服务,应用首启仍会自动弹出通知权限授权框

分类:鸿蒙Next

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 5.06

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS 6.0.0

手机厂商: 华为

手机机型: mate60 pro

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

鸿蒙端集成unipush2.0,新建立的空白项目,不调用任何unipush接口的情况下,应用启动时自动弹出通知权限申请弹框

预期结果:

只有调用推送服务的时候才出现初始化推送服务

实际结果:

鸿蒙端集成unipush2.0,新建立的空白项目,不调用任何unipush接口的情况下,应用启动时自动弹出通知权限申请弹框

bug描述:

鸿蒙端集成unipush2.0,新建立的空白项目,不调用任何unipush接口的情况下,应用启动时自动弹出通知权限申请弹框

2026-04-03 12:59 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

未能获取明确的问题分类(uniapp,uni-app x,unicloud,HbuilderX)请明确说明问题采用的技术,补充相关的信息有助于更好的解决问题

作为DCloud官方人员,对该bug反馈评审如下:

反馈内容完整性评价

基本信息完整度:良好

  • 已提供关键环境信息:HBuilderX 5.06正式版、HarmonyOS NEXT 6.0.0、Mate60 Pro、Vue3
  • 问题描述清晰:明确指出了"空白项目、未调用接口、首启自动弹窗"的核心现象

缺失的关键信息:

  1. manifest.json配置缺失:未提供manifest.json中uniPush模块的配置截图或源码视图内容,无法确认是否启用了"Push(消息推送)"模块及具体配置
  2. 复现步骤过于简略:仅重复问题描述,缺少具体操作路径(如:是自定义基座运行还是云端打包?manifest中是如何配置鸿蒙模块的?)
  3. 代码示例缺失:虽然是"空白项目",但建议提供mainfest.json中鸿蒙相关权限配置片段

Bug成立性分析

根据知识库检索结果,该问题涉及平台差异权限控制机制

已知参考依据(iOS平台):
在iOS平台,App勾选Push模块后默认启动会立即申请推送权限,但可通过配置"app-plus" -> "distribute" -> "ios" -> "pushRegisterMode": "manual"改为手动触发,仅在调用uni.getPushClientId时才申请权限。详情参考

鸿蒙平台现状:

  • 知识库中未检索到鸿蒙平台(HarmonyOS NEXT)对应pushRegisterMode的配置说明
  • 根据平台隔离原则,鸿蒙不支持app-plus配置,上述iOS方案不适用于鸿蒙
  • 知识库中关于"应用安装运行弹出通知授权"的说明仅提及Android VIVO系统机制或原生插件触发,未涵盖鸿蒙+uniPush2.0场景

初步判断:
该反馈可能暴露了一个鸿蒙平台uniPush2.0缺乏延迟申请通知权限机制的问题。在鸿蒙应用上架审核中,隐私政策要求"应在用户使用对应业务功能时申请权限,不得提前弹窗",当前行为可能影响审核通过。

建议补充材料

为了准确定位问题,请补充以下信息:

  1. manifest.json完整截图(重点:App模块配置中的Push模块勾选状态、鸿蒙特有权限配置)
  2. 确认打包方式:是使用的自定义基座调试还是云端打包?
  3. 最小复现项目:如可能,提供可复现的空白项目Demo

临时建议

在官方确认鸿蒙平台是否支持延迟申请推送权限之前,建议检查:

  • 是否在manifest中必须集成了uniPush模块(部分统计或广告SDK可能依赖推送通道)
  • 关注后续官方文档更新,鸿蒙平台的相关配置机制可能与iOS/Android存在差异

该反馈已记录,技术团队将评估是否为鸿蒙平台uniPush增加类似iOS的pushRegisterMode手动控制机制。

内容为 AI 生成,仅供参考

要回复问题请先登录注册