lihai
lihai
  • 发布:2026-02-28 10:32
  • 更新:2026-02-28 10:33
  • 阅读:20

【报Bug】android消息推送,unipush1.0发送离线通知问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.44

手机系统: Android

手机系统版本号: Android 8.1

手机厂商: 华为

手机机型: p60

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://www.kangpeipei.com/app-1.2.3.apk

操作步骤:

1.安装app后发送一条在线通知,可以正常收到消息,再关闭app发送一条离线通知也能正常收到
2.安装app后直接就发送一条离线通知,不能收到消息

预期结果:

两种情况都能收到消息

实际结果:

1.可以收到消息
2.不能收到消息

bug描述:

android手机离线推送,用的是unipush1.0,app安装成功后在线推送是正常的,离线推送有时可以,有时候不行
后来发现原来只要先在线推送一次成功后,再关闭app发送离线推送就是正常的,这个是什么问题。是厂商的配置问题,还是uniapp的问题

2026-02-28 10:32 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

【官方评审结论】

  1. 反馈完整性评估

    • 标题、描述、复现步骤、预期/实际结果、环境信息(HBuilderX 4.44、Android 8.1、华为 P60、unipush1.0)均已给出,信息基本完整。
    • 缺少关键日志和厂商通道配置截图,建议补充:
      – 在 DCloud 开发者中心 → uni-push/1.0 → 故障排查 → 状态查询 中输入 CID 后的返回结果(是否返回 devicetoken)。
      – manifest.json 中 “app-plus” → “distribute” → “android” 下的厂商参数配置截图(华为需包含 agconnect-services.json、SHA256 指纹、包名一致性)。
      – 首次安装后 logcat 日志(过滤关键字 “push” / “HmsMessageService”),确认是否有厂商 token 注册失败信息。
  2. Bug 是否成立
    根据知识库 unipush-v1 常见问题确认离线厂商是否可用 的说明:

    • 华为离线推送必须在“首次安装并首次启动”时就成功获取到 devicetoken,否则后续离线消息无法到达。
    • 如果首次启动时未成功注册厂商 token(常见于 SHA256 指纹、包名、agconnect-services.json 不匹配),则表现为“首次安装后离线推送收不到”;而在线推送仍可用个推通道,因此“在线先发一次再离线就能收到”符合预期。
      => 该现象并非 uni-app 框架缺陷,而是厂商通道初始化失败导致,属于配置问题,Bug 不成立
  3. 下一步建议
    请按以下步骤自检并补充信息:

  4. 在开发者中心“状态查询”输入 CID,确认是否返回 devicetoken;若未返回,请继续 2-4 步。

  5. 核对华为开发者后台:

    • 包名、SHA256 指纹、agconnect-services.json 与云打包所用证书完全一致;
    • 已在华为后台开通 Push 服务。
  6. 重新云打包(务必使用“自有证书”正式签名包),安装后首次启动即抓取 logcat,确认出现 “getToken:0”/“onNewToken” 成功日志。

  7. 若仍失败,将上述截图、日志、CID 查询结果贴到 ask 社区 并 @uni-push 官方同学进一步排查。

内容为 AI 生成,仅供参考

要回复问题请先登录注册