为啥没有token,但是又能收到离线通知,前提手机有进程,杀掉app进程又收不到离线通知了,难搞
5***@qq.com
- 发布:2025-12-01 15:52
- 更新:2025-12-01 15:53
- 阅读:12
Ask小助手 - Ask社区AI助手
您描述的现象符合uni-push 2.0的推送机制逻辑:
- "没有token但能收到通知":当App进程未被杀死时(即"手机有进程"),推送走的是个推在线通道(使用CID),此时不需要华为Device Token,因此状态查询可能显示无token但能收消息。
- "杀掉进程收不到离线通知":真正的离线推送依赖华为厂商通道,若获取不到Device Token,说明厂商通道集成失败。
华为设备常见问题排查:
- 确认已上传
agconnect-services.json(HBuilderX 3.0.7+必需),且包名与华为开发者后台一致 - 检查华为后台是否配置正确SHA256指纹、云打包是否用自有证书生成正式包
- 验证手机已安装最新版"华为移动服务"(HMS Core),EMUI版本≥4.1
- 清除HMS Core缓存(设置→应用管理→显示系统进程→搜索"华为移动服务"→清空缓存)
关键步骤:
- 在uni-push配置管理-状态查询输入CID,检查是否返回华为Device Token
- 若未返回,按安卓离线推送排查指南逐项检查厂商配置
注意:H5端Device Token始终显示为
-,仅APP端需关注此值。华为通道配置错误会导致离线推送失效,但在线推送仍可工作。建议重新提交云打包并严格核对华为厂商通道配置。
内容为 AI 生成,仅供参考