用户3108295
用户3108295
  • 发布:2026-07-13 17:30
  • 更新:2026-07-13 17:30
  • 阅读:25

【报Bug】uni-push不支持WIKO Hi畅享80/80S华为厂商离线通道

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 5.15

手机系统: Android

手机系统版本号: Android 14

手机厂商: WIKO

手机机型: Hi畅享80S / JLG-AN00

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

document.addEventListener('plusready', function () {
plus.push.getClientInfoAsync(
function (info) {
console.log(
'uni-push client info: ' + JSON.stringify(info)
);
},
function (error) {
console.log(
'uni-push getClientInfo error: ' + JSON.stringify(error)
);
}
);
});

操作步骤:
  1. 在HBuilderX 5.15中启用uni-push 1.0和华为厂商推送模块。
  2. 使用包名com.gzhlt.gags、华为App ID 118173787及已配置的签名证书进行云端自定义基座打包。
  3. 在WIKO Hi畅享80S(JLG-AN00,Android 14,EMUI 14.2.1)上安装。
  4. 启动应用并允许通知权限。
  5. 调用plus.push.getClientInfoAsync获取CID。
  6. 保持App运行,发送消息,在线推送可以正常接收。
  7. 在DCloud开发者中心进入“uni-push 1.0→配置管理→故障排查”,输入CID查询。
  8. 查询结果显示CID存在,但Device Token为“-”。
  9. 查看日志,可以看到Assist_huawei: isSupport huawei = false。
  10. 将App从最近任务中正常划掉,确认App进程不存在,但不要在系统设置中点击“强行停止”。
  11. 通过uni-push创建厂商离线通知并向该CID发送。
  12. WIKO Hi畅享80S无法收到离线通知。
  13. 重新打开App后,个推在线通道消息恢复正常。
  14. 使用相同安装包在华为nova、Mate或畅享90 Pro Max上重复测试,可以正常收到离线通知。

预期结果:

对于已经具备HMS Push能力、且原生Huawei Push Kit能够成功获取Device Token的WIKO Hi畅享80/80S,uni-push应能够初始化华为厂商通道,获取并上报Device Token。

App进程不存在但未被系统强行停止时,应能通过HMS厂商通道收到离线通知。

如果当前产品明确不支持该设备,希望官方提供适配计划,或者提供允许开发者强制启用HMS厂商通道的配置方式。

实际结果:

uni-push在WIKO Hi畅享80S上判定华为厂商通道不受支持:

Assist_huawei: isSupport huawei = false

DCloud后台查询CID时Device Token显示“-”,只能使用个推在线通道。App进程退出后无法收到厂商离线通知。

相同应用和厂商配置在华为nova、Mate、畅享90 Pro Max上均可正常离线推送。

bug描述:

一、问题概述

uni-push 1.0在WIKO Hi畅享80/80S设备上无法启用华为厂商离线通道。

应用在线运行时,可以通过个推在线通道正常接收消息;App正常退出、进程不存在但未被系统“强行停止”时,无法收到厂商离线通知。

DCloud开发者中心通过CID查询,Device Token始终显示“-”。

二、应用信息

  • 应用名称:贵安高速
  • DCloud AppID:UNI7F5B04F
  • Android包名:com.gzhlt.gags
  • 华为App ID:118173787
  • 打包方式:HBuilderX云端自定义基座
  • HBuilderX版本:5.15
  • uni-push版本:1.0
  • 华为厂商推送SDK版本:6.11.0.300
  • 华为厂商插件版本:3.1.1

三、异常设备

  • 设备名称:WIKO Hi畅享80S
  • 型号:JLG-AN00
  • Product:JLG-AN80
  • ro.product.brand:WIKO
  • ro.product.manufacturer:WIKO
  • Android版本:14
  • EMUI版本:14.2.1
  • 系统版本:104.2.1.182C12

四、关键日志

Assist_HW: huawei plugin version = 3.1.1
Assist_HW: huawei sdk version = 6.11.0.300
Assist_huawei: isSupport huawei = false

五、问题表现

  1. App启动并允许通知权限后,可以正常获得CID。
  2. App运行时CID在线,个推在线通道推送正常。
  3. DCloud开发者中心进入“uni-push 1.0→配置管理→故障排查”,查询该CID时,Device Token显示“-”。
  4. App从最近任务中正常划掉后,已确认应用PID为空。
  5. 应用没有在系统设置中执行“强行停止”,即不是force-stop状态。
  6. 此时发送离线通知,WIKO Hi畅享80S无法收到。
  7. 重新启动App后,个推在线消息可以正常接收。
  8. 相同应用、包名、签名证书、华为App ID和厂商参数,在华为nova、Mate、畅享90 Pro Max上均可正常收到离线通知。
  9. 使用原生Android Demo绕过uni-push,直接接入Huawei Push Kit 6.13.0.301,在JLG-AN00上能够成功获取华为Device Token,说明该设备存在HMS Push能力。
  10. 个推技术支持已确认:“华为推出的设备是支持的,小众手机厂商是不支持的”,并确认当前版本没有适配WIKO/JLG-AN00,建议在Ask论坛反馈。

六、对照测试结论

华为nova、Mate、畅享90 Pro Max:

  • 在线推送正常;
  • App进程退出后,厂商离线通知正常;
  • 能够生成并绑定厂商Device Token。

WIKO Hi畅享80/80S:

  • 在线推送正常;
  • App进程退出后,离线推送失败;
  • CID存在,但Device Token为“-”;
  • 厂商通道日志显示isSupport huawei = false。

由此判断,问题不是华为后台App ID、包名、证书或厂商参数配置错误,而是uni-push当前设备识别逻辑没有将WIKO Hi畅享系列适配到HMS厂商通道。

七、希望官方确认

  1. uni-push是否可以增加WIKO Hi畅享80/80S的HMS厂商通道适配?
  2. 是否可以增加WIKO、JLG-AN00/JLG-AN80的设备识别规则?
  3. 是否可以提供配置项,允许开发者在具备HMS Push能力的WIKO设备上强制初始化华为厂商通道?
  4. 如果当前无法支持,后续是否有明确的适配计划?
  5. 请协助确认Assist_huawei判定isSupport huawei = false的具体判断条件。
2026-07-13 17:30 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uniCloud 官方技术交流群 ) 咨询,群中有相关专业的管理员和群友。

感谢您的详细反馈。这是一份质量非常高的 Bug 报告,以下是对该反馈的评审与分析结论:

一、 Bug 反馈内容完整性评审

  1. Bug 描述:非常清晰详尽。您完整提供了应用基础信息、异常设备信息、关键日志、问题表现以及对照测试结论。特别是“使用原生 Android Demo 直接接入 Huawei Push Kit 能够成功获取 Token”这一关键对照测试,有效排除了华为后台 App ID、包名、证书配置错误的可能性,将问题精准定位到 uni-push 的设备识别逻辑上。
  2. 代码示例:提供的 plus.push.getClientInfoAsync 代码示例为标准 API 调用,完整且可直接运行,符合排查该类问题的标准流程。
  3. 复现步骤:描述极其清晰,从打包配置、安装、在线验证到离线测试、日志查看,步骤闭环。官方人员完全可以依据此步骤在 WIKO Hi畅享80S 上成功复现问题。
  4. 预期结果与实际结果:预期结果合理,实际结果描述准确,且与日志输出(isSupport huawei = false)及 DCloud 后台 Device Token 显示为“-”的现象完全吻合。
  5. 分类信息:完整包含了 HBuilderX 版本(5.15)、手机系统(Android 14)、设备机型等关键信息。

二、 Bug 是否成立分析

结合知识库与底层技术逻辑分析,该 Bug 反馈成立

  1. 问题根因明确:WIKO Hi畅享80S(型号 JLG-AN00)虽是法国品牌 WIKO 设备,但作为华为智选生态产品,其系统底层基于 EMUI/HarmonyOS 并具备 HMS Push 能力。uni-push 在初始化华为厂商通道时,其内部判定逻辑(Assist_huawei)主要依赖 ro.product.brandro.product.manufacturer 等系统属性进行设备识别。由于该设备的品牌属性为 WIKO 而非 HUAWEI,导致 uni-push 插件判定 isSupport huawei = false,从而跳过了华为 HMS Push SDK 的初始化,致使 Device Token 无法生成。
  2. 非误报:您已通过原生 Demo 证明该设备物理层面支持 HMS Push,且在华为原生设备上相同配置推送正常,因此这确属 uni-push 的设备识别规则未覆盖此类“华为生态合作机型”导致的适配缺失。

三、 后续处理与建议

  1. 关于您的诉求:您提出的“增加 WIKO、JLG-AN00 的设备识别规则”或“提供允许开发者强制初始化华为厂商通道的配置项”是非常合理且具有建设性的建议。该问题需要 DCloud 官方在 uni-push 的厂商通道判定逻辑中进行适配,建议您持续关注后续版本更新。
  2. 当前替代方案:由于 uni-push 1.0 当前存在此识别限制,若您的业务强依赖该设备的离线推送,建议您前往插件市场搜索是否有支持自定义设备品牌映射或独立集成华为 Push Kit 的原生插件作为过渡方案:https://ext.dcloud.net.cn/search

再次感谢您提供的高质量 Bug 反馈,这对完善 uni-push 的设备兼容性非常有价值。

内容为 AI 生成,仅供参考

要回复问题请先登录注册