微信启用 FCM 推送经验
1. 背景
张小龙幼时家境贫寒,不仅生活窘迫,而且饱受欺凌。小时候曾经有个无赖带着喽啰当街围住他,无赖对他大声喝道:“看你这小子长得半大不大的,其实就是个十足的懦夫罢了!要是你有本事的话,今天要么刺我一刀,要么就从我这胯下爬过去!” 说完了便叉开腿,用手指着叫张小龙爬。张小龙自知不是敌手,打量了半天,竟然乖乖从无赖胯下爬了过去。围观的众人见状一愣,紧接着爆发出一阵刺耳的哄笑声。
张小龙暗下决心:不是不报,时候未到。你们给我等着。
后来,张小龙长大了,创业成功让微信插遍了天下用户的手机。他一直没有忘记自己要报此一仇,于是下令叫微信不允许接入任何国内厂商的推送。他说:“看你们这些大厂,一个个很厉害的样子,其实都是十足的懦夫罢了!你们要是有本事,敢不给我微信后台权限试试看?” 各家厂商听了都不敢说话,心里虽然还有不服,但是都只敢唯唯诺诺排队被张小龙羞辱,连白名单都要专门给他家拉一份,生怕不小心得罪了,到时候微信直接在自己的设备上爆炸。
张小龙总算当上了自己梦想中想成为的那个人。
2. 准备工作
曾几何时,FCM 推送是微信海外版用户的专属福利。不过从 2025 年 3 月开始,微信 Play 商店版为大陆地区手机号也激活了 FCM 推送功能,这对于广大大陆用户来说算是不错的利好。
你的手机需要已经 root,才可以较为稳定地接收 FCM 消息推送。首先进行如下准备工作:
- 将安卓手机端微信更新到最新版,在 PC 端微信上备份你的聊天记录
- 卸载国版微信
- 打开 Google Play,安装 Play 版微信
- 从 PC 端恢复聊天记录备份
理论上来说,现在应该已经能正常接收到微信来自 FCM 渠道的消息推送,可以关掉微信的自启动权限了。
但是,如果你使用的是国产 ROM,其可能对后台谷歌服务联网进行严格限制,导致 FCM 连接不佳、断联等频繁发生。
另外,FCM 的特点导致收到消息推送时,应用必须有相关监听服务处于运行状态,才可以正常发送通知。这对于我们要严控后台的微信来说简直就是千载难逢的好机会。
因此,我们需要通过安装模块、配置代理等来解决问题。
3. 安装 xp 模块
- 安装
fcmfix
模块。当收到通知且微信不在运行状态时,模块将拉起微信并发送通知推送消息。如果实在拉不动,模块还可以自行代为发送通知- 安装完后,在模块内勾选微信即可
- 如果你手机使用的是国产 ROM,还需要安装对应的系统优化模块,并开启设置:
- HyperOS 需安装 HyperCeiler,并开启 “允许 Google Play 服务在任何时间联网”
- ColorOS 需安装 LuckyTools,并开启” 移除 GMS 使用限制 “
- 另外,可以按
*#*#426#*#*
进入 FCM 状态监控页面,然后将对应的 APP(Google Play 服务)的进程锁住,以尽可能避免掉杀进程
4. 设置代理
从 2025 年 7 月份开始,FCM 在国内又逐渐受到干扰,有数个域名几乎无法正常连接,即使连接上也非常不稳定,因此我们需要为 FCM 配置代理。考虑到对于目前国内经常需要科学上网的现实情况,顺手为 FCM 配置下代理并不是什么难事。
只要在你的梯子 APP 的应用白名单中勾选 ”Google Play 服务 “,并且取消勾选” 允许应用绕过 VPN“ 即可。现在进入 FCM Diagnotics 页面,基本可以看到 FCM 已经稳定运行起来了
如果你的机场没有覆盖到 FCM 的分流规则,则需要自己在规则列表中添加。以 Clash/Mihomo 为例,添加如下分流规则:
- GEOSITE,googlefcm,<你的机场代理策略组名>
只要保持梯子持续运行,FCM 的连通性就可以有效得到保证。
4.0.1. 别用 Hosts 模块方案!
不知道谁搞出来的莫名其妙的方案,居然想到去刷 Hosts 给 FCM 的几个服务器固定 IP,外面还传的到处都是。
我的评价是如果你不嫌烦过个把月就得重搞模块那你随意。而且现在逐渐铺开对 FCM 的 SNI 阻断干扰的情况下,真遇上阻断,你 Hosts 改成啥都不好使。
还是老实用梯子方案保平安吧
5. 其他保活技巧
未完待续…