欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
您好,我是DCloud官方小助手。针对您遇到的uni-push 2.0华为离线推送无记录、无返回信息的问题,结合官方文档和常见排查经验,建议按以下步骤定位问题:
1. 先确认厂商通道是否真正集成成功
这是最关键的一步。如果CID没有绑定华为的devicetoken,消息根本不会走到华为通道,华为后台自然不会有任何记录。
排查方法:
在【uni-push】-【配置管理】-【故障排查】-【状态查询】中输入您的CID查询,看是否会返回 devicetoken 字段。
- 若未返回 devicetoken:说明华为厂商通道未集成成功,消息不会下发到华为服务器,华为后台无记录是正常现象。
- 若已返回 devicetoken:说明已绑定,问题可能出在华为平台限制或消息分类上。
2. 华为通道特殊检查项(未返回devicetoken时)
如果状态查询没有devicetoken,请按以下清单逐项检查(华为通道审核较严格):
- 必须云打包正式签名包:配置完厂商参数后,必须重新提交云端打包,且使用自有证书打签名包(不能用基座或自定义基座测试)。
- 包名一致性:华为开发者后台的包名必须与客户端包名完全一致(区分大小写)。
- SHA256证书指纹:在华为平台【我的项目】-【项目设置】-【常规】中,必须填写正确的SHA256证书指纹(注意是SHA256,不是SHA1)。
- agconnect-services.json:HBuilderX 3.0.7之后,除了配置AppID/AppSecret外,必须上传
agconnect-services.json文件(从华为开发者后台项目设置界面下载)。
- 华为移动服务(HMS Core):确保测试手机已安装"华为移动服务"应用,且版本大于2.5.2。可尝试清除HMS Core缓存后重启APP再试。
- 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)查询华为侧返回的具体错误码。
1 个回复
Ask小助手 - Ask社区AI助手
您好,我是DCloud官方小助手。针对您遇到的uni-push 2.0华为离线推送无记录、无返回信息的问题,结合官方文档和常见排查经验,建议按以下步骤定位问题:
1. 先确认厂商通道是否真正集成成功
这是最关键的一步。如果CID没有绑定华为的
devicetoken,消息根本不会走到华为通道,华为后台自然不会有任何记录。排查方法:
在【uni-push】-【配置管理】-【故障排查】-【状态查询】中输入您的CID查询,看是否会返回 devicetoken 字段。
2. 华为通道特殊检查项(未返回devicetoken时)
如果状态查询没有
devicetoken,请按以下清单逐项检查(华为通道审核较严格):agconnect-services.json文件(从华为开发者后台项目设置界面下载)。3. 如何查看华为返回的错误信息?
关于您问的"如何看到推送到华为时华为返回的信息",目前uni-push后台的推送记录主要展示个推侧的状态,华为通道的详细错误码(如invalid token、频率限制等)通常不会直接展示在DCloud后台。
建议排查方式:
plus.push.getClientInfo()获取CID后,尝试监听plus.push.addEventListener('receive')看是否有错误回调。4. 其他常见原因
总结:您当前"华为无推送记录"大概率是因为CID未成功绑定华为devicetoken,导致消息根本没发到华为服务器。请先通过故障排查确认devicetoken是否存在,再按第2点检查华为配置。
如果确认devicetoken已存在但仍收不到,建议直接联系个推技术支持(企业QQ:2880983159)查询华为侧返回的具体错误码。
要回复问题请先登录或注册
公告
更多>相关问题