3***@qq.com
3***@qq.com
  • 发布:2026-11-14 01:24
  • 更新:2026-11-14 01:26
  • 阅读:79

uni-push 2.0 云打包未集成厂商 SDK(华为通道不可用)__UNI__1B9055F

分类:uni-app

应用信息

  • 应用 AppID:UNI1B9055F(糖番茄超市)
  • 包名:com.tangfanqie.shop
  • Android 版本:1.1.21 / versionCode 131
  • 关联 uniCloud 服务空间:tangfanqieyunfuwukongjian(支付宝云)
  • 打包方式:HBuilderX 5.07.2026041006 → 发行 → 原生App-云打包(Android)

问题描述

  1. 已在 dev.dcloud.net.cn → uni-push 2.0 → 厂商推送设置 → 华为 中填写并保存:
    • 华为 AppID:118614815
    • 华为 AppSecret:已填写
    • 包名:com.tangfanqie.shop
    • 已粘贴华为 AppGallery Connect 下载的 agconnect-services.json,保存提示成功
  2. manifest.json 中已开启离线推送:
    "app-plus": { "distribute": { "sdkConfigs": { "push": { "unipush": { "version": "2", "offline": true } } } } }
    同时 app-plus.modules 里有 "Push": {}
  3. 保存厂商参数后,已重新提交云端打包并重新安装 APK。
  4. 但云函数推送返回成功(uniCloud.getPushManager().sendMessage 无异常),手机(荣耀 ALI-AN00,已安装 HMS Core 6.16.2.302,App 已杀进程)收不到通知。
  5. dev 控制台推送记录详情:目标数 1、可下发数 1、成功下发数 0、到达数 0;
    下发渠道:个推渠道 0;华为/荣耀/小米/OPPO 渠道显示「-」。

关键证据(我解包 APK 用 apktool 查看了 AndroidManifest.xml)

  • APK 内 AndroidManifest 中查不到任何厂商推送组件:
    没有 com.huawei.hms.push.HmsMessageService、没有 PushProvider、没有华为 push 的 meta-data
    同样也没有小米/OPPO/魅族/vivo 的 push 组件
  • 只有个推相关(libpns-2.14.23-*.so、com.igexin.sdk),即只有在线 socket 通道
  • 结论:云打包阶段没有把厂商 SDK 集成进来,客户端拿不到 HMS token,所以离线推送无通道可走

想确认的问题

  1. uni-push 2.0 的厂商 SDK(华为 HMS push)是在云打包时自动集成的吗?还需要在 manifest 或打包界面额外勾选什么吗?
  2. 是否与 HBuilderX 5.07 编译器版本有关?是否需要升级到更新版本的 HBuilderX / 编译器才能集成厂商 SDK?
  3. 我们在 dev 平台厂商推送设置里已完成华为配置,是否还有其他「离线推送」总开关需要开启?(应用配置页只看到个推 AppID/AppKey/AppSecret,没有离线推送开关)
  4. 如果 5.07 不支持,请告知正确的打包版本与配置步骤。

附件/截图

  • dev 控制台推送记录详情截图(成功下发 0、到达 0、华为渠道「-」)
  • dev 控制台厂商推送设置-华为 页截图(AppID/包名/agconnect 已配置、通道开启)
2026-11-14 01:24 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

针对您遇到的 uni-push 2.0 云打包未集成厂商 SDK(华为通道不可用)的问题,以下是排查与解答:

1. 厂商 SDK 是否在云打包时自动集成?是否需要额外勾选?

uni-push 2.0 的厂商 SDK 是在云打包时自动集成的。只要在 manifest.json 中正确配置了离线推送("app-plus": { "distribute": { "sdkConfigs": { "push": { "unipush": { "version": "2", "offline": true } } } } }),并在 DCloud 开发者中心配置了厂商参数,云打包时会自动将厂商 SDK 集成进 APK。无需在打包界面额外勾选其他选项。

2. 是否与 HBuilderX 5.07 编译器版本有关?

HBuilderX 5.07 版本支持 uni-push 2.0 及厂商通道的自动集成,不需要升级到更新版本即可集成厂商 SDK。

3. 是否还有其他「离线推送」总开关需要开启?

在 DCloud 开发者中心的应用配置页只看到个推 AppID/AppKey/AppSecret 是正常的,没有额外的离线推送总开关。离线推送的开关即在 manifest.json 中的 offline: true 配置项。开发者中心的「厂商推送设置」页用于配置各厂商的具体参数,配置完成后需重新提交云端打包才能生效。

4. 排查建议与正确的配置步骤

根据您解包 APK 发现完全没有厂商推送组件的情况,说明云打包阶段未成功触发厂商 SDK 的集成。请重点排查以下几项:

  • 必须使用自有证书打正式签名包:云打包时不能使用 DCloud 公共测试证书,必须使用自有证书。包名需确认与华为平台一致。
  • 配置 SHA256 证书指纹:需要在华为开发者后台【我的项目】-【项目设置】-【常规】中填写“SHA256证书指纹”,并保存。若使用自有证书,需确保填写的是该自有证书的 SHA256 指纹。
  • 包名一致性:华为开发者后台配置的包名需与客户端包名(com.tangfanqie.shop)保持完全一致。
  • agconnect-services.json 文件:确认在开发者中心厂商推送设置-华为处,已正确上传从华为 AppGallery Connect 下载的 agconnect-services.json 文件。
  • 开通华为推送服务:确认在华为 AppGallery Connect 平台的“项目设置 > 增长”中已开通“推送服务”。
  • 重新提交云端打包:保存完厂商参数后,必须重新提交云端打包并重新安装 APK。

验证方法:
在 DCloud 开发者中心【uni-push/1.0/消息推送】-【配置管理】-【故障排查】-【状态查询】中输入 CID 查询,看是否会返回 devicetoken。若未返回 devicetoken,说明当前未正常集成厂商,无法使用离线推送功能。

详细配置要求可参考官方文档:

内容为 AI 生成,仅供参考

要回复问题请先登录或注册