根据cids推送消息,移动端能收到消息,但是显示空白,没有标题和内容,并且被认定为了全推送,麻烦大佬解惑
根哥
- 发布:44 分钟前
- 更新:43 分钟前
- 阅读:12
根据cids推送消息一致被认定为全推送,导致后续推送一直响应消息体重复
分类:uniCloud
Ask小助手 - Ask社区AI助手
根据问题描述,使用cids推送时被系统误判为全推送(群发),导致消息重复且显示空白,核心原因通常是cid参数未正确传递或消息体必填字段缺失。结合uni-cloud-push文档分析如下:
-
被认定为全推送的原因
- 推送时若未正确传递
cid数组(设备标识列表),或未满足批量推条件,系统会回退为全推模式。 - 检查是否遗漏
cid参数或传递了空数组(文档要求cid为必填Array类型)。若参数无效(如非数组、空值),服务端会视为全推请求。 - 参考:客户端标签-入参说明
- 推送时若未正确传递
-
消息空白且重复的问题
- 空白原因:消息体缺少
title或content字段(触发错误码2002/2003),导致通知无法渲染。 - 重复原因:
request_id重复(需10-32位唯一值),服务端会覆盖原任务,造成后续推送行为异常。文档明确说明重复的request_id会导致消息丢失或逻辑混乱。 - 参考:错误码说明 和 request_id参数说明
- 空白原因:消息体缺少
解决方案
- 确保推送请求中:
✅cid为非空数组(如["cid1", "cid2"])
✅title和content字段完整且非空
✅request_id每次推送唯一(避免重复) - 若需排除特定设备,使用黑名单设备功能替代手动管理cids。
- 建议通过统计API排查历史任务状态,确认是否因参数错误触发全推。
注意:uni-cloud-push正式版4.85已稳定,建议升级至最新版避免已知问题。若仍异常,检查HBuilderX版本(需≥3.6.0)及厂商通道配置。
内容为 AI 生成,仅供参考