我的网络提供商不支持 TCP 长连接,所以我选择直连 fcm 服务器。


最好配置中添加个 FCM 策略组并在配置中添加 fcm 规则,比如像我这样:
#谷歌 fcm

如果你的节点不支持 TCP 长连接的话,请在客户端中设置中打开允许应用绕过选项,否则连接 fcm 服务器超时很久才连上以及连不上。
若支持 TCP 长连接,请关闭允许绕过选项,FCM 服务器走节点可能会产生的功耗和和延迟。


若连不上 fcm 服务器请检查 OEM 设备制造商的联网管理是否允许 Google play 服务相关应用的联网及后台联网,如果不是网络问题与息屏而被厂商掐断禁止联网以及连不上的,请尝试安装对应厂商的国际版的 “手机管家”、安全中心、流量管理、电池等 app 是否缓解问题,如不能解决但不建议停用和卸载它们请谨慎操作,风险自行承担。

不建议在系统 /system/etc/hosts 文件添加 fcm 域名,hosts 导致 fcm 有一些小问题反正我不加也不折腾,因为域名指定绑定某个的 IP,域名的 IP 会随时变动和过期或被黑洞,你 hosts 指定的旧 IP 未及时手动更新可用的 IP,不然旧 IP 被黑洞过期迁移导致连不上,执意添加的话可以在客户端的 hosts 添加 fcm 域名,但不推荐。

fcm 的连接时间没必要追求更高时长,能连接 1 个小时内左右说明系统和息屏没被掐断是稳定的,息屏不断开表示没问题的,偶尔断开超时几分钟是小概率网络环境等问题,又不是连接不上。
连接等疑问参阅官方文档:为 FCM 配置网络  |  Firebase Cloud Messaging
FCM 注册令牌:FCM 注册令牌管理的最佳做法  |  Firebase Cloud Messaging

如果 FCM Diagnostics 出现无微信等应用的推送日志,请尝试(通常无需开科技)打开微信 > 我 > 设置 > 顶部退出登录接着在微信 > 应用信息 > 强行停止下,再打开微信重新登录以便能注册 FCM token,再测试消息是否有日志即可。
不建议在应用分流绕过设置(com.android.settings)、Android 系统(android)等应用。
遇到不注册 fcm 令牌的应用请尝试把它全局并退出登录 强行停止 重新登录。

微信似乎每个月 FCM token 失效过期需要重新注册,不确定是哪方的问题,我在排查中。
fcm 有自动绕过代理的机制,利用允许应用绕过这个开启特性自动绕过代理,我现在 Firebase 官网提供的主机名,之前没加的域名给加上去,fcm.googleapis.com
accounts.google.com
iid.googleapis.com
android.apis.google.com
device-provisioning .googleapis.com
firebaseinstallations.googleapis.com
以便更新 FCM token,看后续微信还会不会 FCM token 过期失效,如果不能解决的话,估计是微信服务器抽风的问题。


📌 转载信息
原作者:
Google106
转载时间:
2026/1/7 19:14:53

标签: 网络配置, FCM, Firebase Cloud Messaging, 推送通知, 注册令牌

添加新评论