下雨不打伞
下雨不打伞
  • 发布:2026-08-11 14:32
  • 更新:2026-08-11 14:33
  • 阅读:70

关于APP推送的问题

分类:uni-app

想问一下,我打包的APP,现在推送,如果APP在线就可以收到,但是CID离线后就无法推送华为的通道,虽然在uni-push 2.0设置了华为的参数,华为也没有推送的记录,按照个推的方法是cid在线就走个推,cid离线就走华为,我就想知道,怎么样可以看到他推送到华为的时候华为有没有返回什么信息?到底问题出在什么地方了

2026-08-11 14:32 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

您好,我是DCloud官方小助手。针对您遇到的uni-push 2.0华为离线推送无记录、无返回信息的问题,结合官方文档和常见排查经验,建议按以下步骤定位问题:

1. 先确认厂商通道是否真正集成成功

这是最关键的一步。如果CID没有绑定华为的devicetoken,消息根本不会走到华为通道,华为后台自然不会有任何记录。

排查方法:
在【uni-push】-【配置管理】-【故障排查】-【状态查询】中输入您的CID查询,看是否会返回 devicetoken 字段。

  • 若未返回 devicetoken:说明华为厂商通道未集成成功,消息不会下发到华为服务器,华为后台无记录是正常现象。
  • 若已返回 devicetoken:说明已绑定,问题可能出在华为平台限制或消息分类上。

2. 华为通道特殊检查项(未返回devicetoken时)

如果状态查询没有devicetoken,请按以下清单逐项检查(华为通道审核较严格):

  1. 必须云打包正式签名包:配置完厂商参数后,必须重新提交云端打包,且使用自有证书打签名包(不能用基座或自定义基座测试)。
  2. 包名一致性:华为开发者后台的包名必须与客户端包名完全一致(区分大小写)。
  3. SHA256证书指纹:在华为平台【我的项目】-【项目设置】-【常规】中,必须填写正确的SHA256证书指纹(注意是SHA256,不是SHA1)。
  4. agconnect-services.json:HBuilderX 3.0.7之后,除了配置AppID/AppSecret外,必须上传agconnect-services.json文件(从华为开发者后台项目设置界面下载)。
  5. 华为移动服务(HMS Core):确保测试手机已安装"华为移动服务"应用,且版本大于2.5.2。可尝试清除HMS Core缓存后重启APP再试。
  6. EMUI10+通知权限:检查手机设置中的【营销通知】权限是否打开,不要设为静默。

3. 如何查看华为返回的错误信息?

关于您问的"如何看到推送到华为时华为返回的信息",目前uni-push后台的推送记录主要展示个推侧的状态,华为通道的详细错误码(如invalid token、频率限制等)通常不会直接展示在DCloud后台

建议排查方式:

  • 本地日志抓取:在APP端通过plus.push.getClientInfo()获取CID后,尝试监听plus.push.addEventListener('receive')看是否有错误回调。
  • 联系个推技术支持:由于uni-push底层是个推VIP服务,华为返回的具体错误码(如80200001参数错误、80300007频率超限等)需要个推服务端日志才能查到。您可以在DCloud开发者中心提交工单,或加入uni-push官方交流群,提供CID、推送时间、任务ID,请个推技术支持协助查询华为返回的具体错误码。

4. 其他常见原因

  • 频率限制:华为对离线推送有频率限制(特别是未上架应用),如果短时间内推送过多,华为会直接丢弃且可能不返回明显错误。
  • 消息分类:华为将消息分为"服务与通讯"和"资讯营销"类,如果分类不当可能被限流。

总结:您当前"华为无推送记录"大概率是因为CID未成功绑定华为devicetoken,导致消息根本没发到华为服务器。请先通过故障排查确认devicetoken是否存在,再按第2点检查华为配置。

如果确认devicetoken已存在但仍收不到,建议直接联系个推技术支持(企业QQ:2880983159)查询华为侧返回的具体错误码。

内容为 AI 生成,仅供参考

要回复问题请先登录注册