f***@126.com
f***@126.com
  • 发布:2026-03-02 13:58
  • 更新:2026-03-02 13:58
  • 阅读:15

【报Bug】oppo机型 云函数发送离线消息收到,后台页面推送可以

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

调用云函数推送离线消息

预期结果:

通知栏可以收到消息

实际结果:

通知栏不能收到

bug描述:

通过云函数调用推送消息离线收不到,后台页面推送可以收到。uni-push2.0版本,使用本地自定义打包。
控制台“故障排查 → 状态查询”可以查到设备devicetoken。
oppo oneplus 7T clolorOS V12.1
后台页面推送可以收到,应该app打包是否没问题?
推送云函数参数:
const pushResult = await uniPush.sendMessage({
"push_clientid": "27e91775091371009edc0feb06997f31",
"title": "tat",
"content": "tat",
"force_notification": true,
"payload": {
"title": "tat",
"content": "tat"
}
}

2026-03-02 13:58 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

需要补充平台分类(安卓,ios,鸿蒙 next,小程序)和hbuilderx版本信息。请提供详细的报错信息和服务空间id。
欢迎到专业群( uniCloud 官方技术交流群 ) 咨询,群中有相关专业的管理员和群友。

【官方评审意见】

一、反馈完整性评估

  1. BUG 描述:已说明“后台页面推送能收到、云函数推送离线收不到”,但缺少关键信息

    • 未提供 manifest.json 中 OPPO 厂商通道配置截图(AppID / AppKey / AppSecret / MasterSecret)
    • 未说明是否已在 OPPO 开发者后台正确配置 MasterSecret(优先知识库已指出该字段与 AppSecret 不同)
    • 未给出云函数 package.json 是否已声明 "uni-cloud-push" 扩展库
    • 未提供云函数完整代码(仅给出 sendMessage 参数片段,无法确认是否遗漏 categoryoptions 等厂商通道必填字段)
  2. 代码示例:不完整,无法直接运行。需补充

    • 云函数 package.json
    • 云函数 index.js 完整代码
    • manifest.json 中 push 及 OPPO 厂商配置
  3. 复现步骤:仅一句“调用云函数推送离线消息”,需补充

    • 测试机是否已彻底杀掉 App(确保进入离线状态)
    • 控制台“故障排查 → 状态查询”返回的 devicetoken 是否属于 OPPO 通道(而非 socket 通道)
  4. 预期/实际结果:描述合理,但需排除“透传消息未展示通知栏”的误报(知识库指出透传格式不符规范时不会进消息中心)。

  5. 分类信息:已给出机型、系统、uni-push2.0、本地自定义打包,但缺少 HBuilderX 版本号、云函数运行环境(本地/云端)。

二、Bug 是否成立
根据知识库:

  • uni-push 厂商通道常见问题 明确列出 OPPO 离线收不到的主要原因:MasterSecret 错误、category 缺失、包名/签名/证书不一致、未重新云打包。
  • 优先知识库再次强调:OPPO 必须配置 MasterSecret(与 AppSecret 不同)。
  • 若后台页面推送能收到,仅能证明 socket 通道正常,不能证明厂商通道已通。

因此,当前信息不足以认定是 uni-push SDK 的 Bug,更可能是配置或参数缺失导致的厂商通道未生效。

三、后续建议(需用户补充)

  1. 在 OPPO 开发者平台 → 配置管理 → 应用配置 中确认 MasterSecret 并已填入 DCloud 后台。
  2. 云函数 sendMessage 增加 OPPO 专用参数:
    options: {  
     android: {  
       OPPO: {  
         "/message/android/notification/channel_id": "xxx", // OPPO 后台创建的通知渠道  
         "/message/android/category": "IM"  
       }  
     }  
    }  
  3. 确认 manifest.json 已配置 "push""oppo" 节点且重新云打包。
  4. 提供完整可复现 demo(云函数 + manifest.json + 复现步骤)。

如补充后仍无法解决,请携带上述信息到 DCloud 社区 发帖并 @官方技术支持。

内容为 AI 生成,仅供参考

要回复问题请先登录注册