美洽软消息收不到,常见原因包括消息未发出、网络或推送被阻断、会话未激活、客户端鉴权/SDK配置错误或后台限流。先在控制台查看消息状态、检查推送与设备通知权限、抓取客户端SDK日志并确认会话绑定;按网络、推送、鉴权、版本四步排查修复,必要时导出日志联系美洽支持。同时留存触发时间和示例消息内容,便于定位。

先弄清楚“软消息”到底是什么
先别急着修,先明白概念。*软消息*在美洽里通常指的是通过美洽平台下发的非强制推送消息:包括站内消息、会话里的一些透传通知、或者 SDK 内部的事件消息。它和系统推送(APNs/FCM)不是一回事:软消息可能依赖于长连接/心跳或 SDK 本身的轮训机制,而系统推送则走手机厂商的推送通道。
用一个比喻帮你记
把消息比作快递:系统推送像由快递公司送到你家门口的包裹(需要地址、邮差),软消息更像店里放的留言条,只有你到店里(长连接在线)才能看到。店里断电、门锁坏了或者你没去店里,留言条自然看不到。
常见原因一览(先看这张清单)
- 消息未真正下发:后台没有发送成功或被限流/丢弃。
- 网络/长连接问题:客户端与美洽服务的 WebSocket/长连接断开或心跳失败。
- 推送或设备权限阻断:设备通知被关闭、推送证书错误或厂商通道配置不全。
- 会话/用户未绑定或未激活:用户未完成登录/会话绑定,消息无法投递到目标会话。
- SDK 版本或配置错误:appKey、环境(沙箱/生产)或鉴权 token 设置不对。
- 设备省电策略/厂商限制:如 MIUI、EMUI、Oppo 系统后台限制导致消息被延迟或阻塞。
- 浏览器/Service Worker 问题(Web 场景):Service Worker 未注册、Push 订阅过期或 HTTPS 问题。
一步步排查(按角色分:用户、产品/运维、开发)
1. 终端用户能做的快速检查
- 确认手机通知开关和应用自带消息权限已开启。
- 切换网络(Wifi <-> 蜂窝)看是否恢复,快速判断是否为网络/运营商问题。
- 重启 App 或设备,尝试重新登录,会话绑定可能会自动修复。
- 若是 Android,检查是否被省电策略限制,允许自启动、保持后台进程。
2. 产品/运维(控制台)应该查看的项目
- 在美洽控制台查看该消息的发送记录和状态(是否被标记为已发送/失败)。
- 查后台错误日志,关注返回码、限流信息或第三方推送返回的错误(例如 APNs 410、FCM invalid registration token)。
- 检查是否近期有变更:证书过期、密钥改动、IP 白名单变更、防火墙规则。
3. 开发/工程师的深度诊断步骤(按步骤验证)
- 验证消息链路是否完整
从发送端到平台到推送网关再到设备,每一步都要有日志和 ID 可追踪。先拿到业务侧的 messageId,追到美洽平台的投递记录。
- 检查 SDK 日志
看是否有连接建立、心跳、消息接收和 ACK 日志。常见关键字:connect/heartbeat/receive/messageId/ack/error。
- 推送证书与通道
确认 APNs 证书没过期、key/主题正确,FCM server key 没被禁用。生产/沙盒环境是否配置错误会导致仅部分设备接收失败。
- 会话绑定与鉴权
确认用户在 SDK 中成功登录并完成绑定(userId 与 sessionId 一致),后端推送目标为正确的绑定值。
- 设备令牌/订阅是否有效
对推送走厂商通道的,检查 deviceToken/registrationId 是否更新,若用户更换设备需重新上报。
快速对照表:问题 — 可能原因 — 快速操作
| 问题 | 可能原因 | 快速操作 |
| 个别用户收不到 | 设备权限/省电策略或 deviceToken 失效 | 引导用户打开通知权限,重新上报 deviceToken,检查厂商后台 |
| 大规模用户收不到 | 服务端限流、消息发送失败或推送证书错误 | 查看发送日志、推送返回码,检查证书及配额 |
| Web 端不显示软消息 | Service Worker 未注册或订阅过期 | 检查 HTTPS、重新订阅 Push |
一些实用的日志与信息样式(给支持用)
当需要联系美洽或内部支持时,准备好以下信息会大幅加速定位:
- 时间点(UTC 与本地时间)、messageId、发送方与接收方 userId。
- 客户端 SDK 日志(包含 connect/heartbeat/receive/error),示例日志片段能说明问题。
- 后端发送请求的响应(API 返回码、第三方推送返回的 JSON)。
- 设备信息:设备型号、系统版本、App 版本、厂商推送 registrationId 或 APNs token。
常见坑与实践建议(避免再犯)
- 别把长连接当作永远在线:用户网络波动、APP 被系统杀进程都会断连,设计消息重试和离线补偿。
- 区分消息类型并合理兜底:重要消息考虑同时发系统推送+软消息,降低丢失率。
- 证书与 key 做自动告警:证书到期或 key 失效会在短时间内影响大量用户。
- 上线灰度与回退策略:部署变更时先小流量验证,监控投递成功率再放量。
如果一切都排查完仍旧没解决
把上面要求的日志和信息整理好,然后发给美洽技术支持。*越详细越好*:时间线、日志、API 调用记录、设备样本,你给出的线索越多,定位越快。美洽支持通常会要求 messageId、控制台链接和日志片段作为第一步。
好像就这些要点了,慢慢按步骤去做,边查边记录,有时候问题就是某处一串小配置错了几处,定位到点就容易修;需要我把排查清单做成可复用的模板吗?