Safew 手机端收不到推送,多数是手机系统或网络阻断了“信号”,不是单纯服务器问题。先按设备类型(iOS/Android)逐项检查:通知与声音权限、后台刷新/自启、省电策略、网络切换、应用更新与重装;再看是否被免打扰、VPN、或账号在别处挤下线;需要时抓日志(ADB/Console)或把推送时间、设备型号、系统与应用版本发给客服,定位很快就能找到原因并修好。

先把“推送”想清楚:为什么会丢
按费曼方法来讲清楚这件事:推送就像快递,分三段路——
- 快递单生成:服务器把消息交给推送服务(苹果的APNs或谷歌的FCM)。
- 快递配送:APNs/FCM把消息送到目标手机;这个环节依赖网络、系统服务与证书。
- 门卫放行:手机系统决定是否显示通知(权限、勿扰、终端省电策略等)。
任一环节出问题,用户就收不到。理解这三步能帮我们有条理地排查。
常见原因一览(先扫一遍)
- 网络问题:Wi‑Fi或蜂窝数据被拦截、代理或DNS异常。
- 系统权限:通知被关闭、通知样式被静默、声音或横幅被禁用。
- 后台限制:后台刷新被关、应用被限制自启或被省电策略杀死。
- 厂商深度省电:部分国产机(如华为、小米、OPPO、vivo)会强行停止后台连接。
- 免打扰/聚焦模式:开启后屏蔽通知或静默推送。
- 多设备登录或会话冲突:帐号在其他设备上登录可能影响推送路由。
- 服务器或证书问题:APNs证书过期、FCM配置异常或后端发送失败。
- 应用自身Bug:注册推送Token失败、崩溃后未重试、消息被错误过滤。
- VPN/代理/防火墙:拦截推送端口或保持长连接失败。
按设备逐项排查(iOS 专版)
iOS 的推送基本靠 APNs,系统对通知管理较集中,所以步骤也相对明确:
- 检查通知权限:设置 → 通知 → Safew,确保“允许通知”“横幅/锁屏/通知中心”以及声音都打开。
- 检查专注/勿扰:控制中心或设置 → 专注模式,确认没有阻止该应用。
- 后台应用刷新:设置 → 通用 → 后台应用刷新,开启 Safew 的后台刷新。
- 低电量模式:低电量模式会限制后台活动,试着暂时关闭再观察。
- 网络切换排查:在 Wi‑Fi 与蜂窝之间切换;尝试关掉 VPN 或代理。
- 重启与登录:重启手机,必要时退出 Safew 账户再登录,或删除后重装。
- 检查系统日志(进阶):用 macOS 的“控制台(Console)”应用连接设备,查看 Xcode / Console 里是否有 APNs 注册或拒绝的错误。
iOS 常见隐蔽问题
- 应用未能成功向 APNs 注册(app 在第一次运行时被拒绝权限或中断),要确保应用有完整的启动流程并能发送注册请求。
- APNs 证书或密钥在后端配置错误或过期,服务器发送请求会被拒绝,导致整批推送都掉链。
按设备逐项排查(Android 专版)
Android 生态碎片化,厂商“省电策略”常常是罪魁祸首:
- 通知权限与通知渠道:设置 → 应用 → Safew → 通知,确认所有通知渠道(聊天、系统、推送)都允许。
- 自启动与后台保活:设置里允许应用自启或在安全中心加入白名单。
- 电池优化:设置 → 电量或电池优化,选择“不优化”或给 Safew 设为白名单。
- 厂商专项设置:在华为/小米/OPPO/vivo 等机型,进入厂商的“自启动管理”/“后台管理”/“应用保护”,确保应用不被强杀。
- 网络切换:同 iOS,一定要排除 Wi‑Fi/移动数据、VPN 或路由器设置问题。
- 更新与重装:更新到 App 最新版本;清缓存或重装能解决注册失败等问题。
- 抓取日志(进阶):在电脑上启用开发者选项后,用 adb logcat 抓 Firebase/网络相关日志,观察 FCM token 注册与消息接收情况。
Android 特别提醒
很多时候用户会把应用关闭到任务管理器,认为这只是“退出”,但厂商的进程管理会把应用彻底杀掉,导致 FCM 的长连接断开。给应用留个“自启+后台白名单”通常能解决大多数问题。
高级排查:如何抓日志并定位根因
当基础步骤都试过仍未解决,就需要把手机与电脑连接,抓运行时日志。
- Android(ADB)
- 启用开发者选项与 USB 调试。连接电脑后运行:adb logcat。
- 过滤关键字:adb logcat | grep -i “Firebase\\|FCM\\|your.app.package”(Windows 下可用 findstr)。
- 观察注册 token(token 获取成功/失败)、长连接断开、消息到达但被过滤等信息。
- iOS(Console / Xcode)
- 用 macOS 的 Console 应用或 Xcode 的 Devices & Simulators 查看连接设备的系统日志。
- 查找包含 APNs 注册、push payload、或应用内错误的条目。
服务器端该检查什么
- 证书与密钥:APNs 证书/密钥或 FCM Server Key 是否过期、是否在正确的环境(沙盒/生产)?
- 推送回执:检查推送返回值,APNs/FCM 是否返回了错误码或拒绝信息。
- 发送频率与限额:是否被限流或短时间发送过多导致部分消息被丢弃。
- 目标 token 有效性:检查 token 是否是最新的,旧 token 会导致投递失败。
常见问题对照表
| 问题原因 | 如何检查 | 快速修复 |
| 通知被禁 | 系统设置→通知→查看应用权限 | 开启通知并允许横幅/声音 |
| 省电策略/自启被限制 | 厂商电池管理/后台管理设置 | 加入白名单或关闭省电策略 |
| 网络或路由器问题 | 切换 Wi‑Fi/移动数据,关闭 VPN | 修复网络或使用其他网络测试 |
| 服务器证书失效 | 后端推送返回错误码或证书到期 | 更新证书/密钥并重试 |
| 应用 Bug | 日志显示 token 注册失败或异常 | 升级应用或联系开发者修复 |
联系支持时应该提供的信息(模板)
如果走到需要官方支持的步骤,给客服一条完整的信息能大大加速定位:
- 设备型号与系统版本(例如 iPhone 12 / iOS 16.3 或 小米 12 / Android 13)。
- Safew 应用版本号(设置→关于或应用商店页面)。
- 发生问题的大致时间点(精确到分钟有帮助)。
- 你当前所用网络(Wi‑Fi 名称或移动/4G/5G)。
- 是否开启 VPN/代理,是否同时登录其他设备。
- 是否尝试过重启、切换网络、重装等步骤及结果。
- 如果可能,附上抓到的日志片段(adb logcat 或 Console 输出)或错误截图。
几条实用的小贴士(常常能救急)
- 先重启手机——很多短暂性问题会被重启清掉。
- 切换网络:从 Wi‑Fi 切到蜂窝,或者反过来,能快速区分是网络问题还是本地设置。
- 短时间内别频繁重装:如果是登录/注册 token 问题,频繁重装反而可能增加混乱。
- 尝试临时关闭省电/专注模式,查看是否立刻恢复推送。
- 把 Safew 放到开机自启和后台白名单,尤其在国产手机上。
我在写这些步骤的时候,想着如果是自己遇到会先做哪几步:先看权限,然后切网重启,最后抓日志发给开发。新问题往往就是一个小设置没允许或者手机的“好心”省电机制,你按清单一步一步跑,绝大多数情况能自己解决;碰到服务器或证书的问题,再把细节给客服,他们就能很快定位。好了,差不多就是这些,按着做就行,有问题再细说。