使微信通过 FCM 接收消息

2020-10-16 21:38:32 +08:00
 skrad
先决条件:
微信必须 fq 。
微信必须具有 FCM 功能。下载 Play 版,国行版本未测试,不确定。

fq 打开微信,以确保 FCM 功能激活。大陆 IP 打开微信,FCM 功能不启用。
连接 FCM 服务器。FCM 服务器可直连,但不稳定,由于微信必须 fq,FCM 服务器也 fq 连接。

绿色守护休眠微信,使其不在后台,只通过 FCM 接收消息。并设置允许 FCM 通知唤醒 app 。否则即使成功连接 FCM 服务器,且微信 FCM 功能激活,由于微信休眠,也无法被 FCM 通知拉起,导致无法接收新消息。

注:
微信 FCM 功能并不接收消息内容,只作为新消息提醒,程序收到 FCM 通知后,运行消息接收功能,接收新消息并弹出新消息提醒。

综上,fq 微信 + fq FCM 服务器 + 微信休眠 + 绿色守护允许 FCM 唤醒程序

以上条件下,及在保持网络长连接下( WiFi 环境),微信可以通过 FCM 接收新消息提醒。每次休眠后,会被新消息唤醒。

但是,如果中途网络中断(使用数据流量经常出现)且网络中断时发送新消息,即使再次 fq 连接 FCM 服务器,且 FCM diagnostics 中出现微信新消息推送记录,微信程序也无法被唤醒,无法接收新消息并弹出消息提醒。

为解决此问题,安装 X-APM,打开 GCM Generation Collection 。可保证在网络恢复连接后,由 X-APM 弹出微信新消息提醒。

如果不允许 FCM 通知唤醒程序,且不使用 X-APM,则微信被绿色守护休眠后,即使微信 FCM 模块收到通知,也无法接收消息并弹出新消息提醒。

如果不允许 FCM 通知唤醒程序,且使用 X-APM,则可达成类 IOS 效果,手机端有新消息提醒(来自 X-APM ),手动打开微信后程序再联网接收新消息。

如果允许 FCM 唤醒程序,不使用 X-APM,则收到 FCM 通知后,微信程序被唤醒(在保持网络长连接下),接收新消息并弹出通知。一旦网络连接中断,即使再恢复也无法弹出中断时间段新消息提醒。

如果允许 FCM 唤醒程序,且使用 X-APM,微信 FCM 收到通知后,X-APM 首先弹出微信新消息通知,微信程序被唤醒,接收新消息,弹出含具体消息内容的新消息通知。在网络中断并恢复后,由 X-APM 弹出中断时间段消息通知。

综上,为保证通过 FCM 收到所有微信新消息通知,具体设置如下:

微信 fq + FCM 服务器 fq + 绿色守护休眠微信 + 允许 FCM 通知唤醒程序 + FCM Generation Collection


注:在移动数据环境,网络条件更复杂,可能会出现 bug 。
24490 次点击
所在节点    Android
27 条回复
fansangg
2020-10-16 21:52:35 +08:00
毫无意义,建议肉身翻
Cheons
2020-10-16 21:54:34 +08:00
推送及不及时无所谓了
急事电话联系,不急等着
Jerami
2020-10-16 22:48:59 +08:00
哪有楼主说的这么麻烦,我在外国,国行华为手机,国内版微信 只要去设置,特殊访问权限,电池优化打开对于微信的电池优化,就自动走 fcml 。
jianzhao123
2020-10-16 23:38:24 +08:00
感觉一加氧的,微信也没那么离谱,不 fq 收消息也挺及时
ericgui
2020-10-17 07:07:20 +08:00
What is FCM?
594duck
2020-10-17 08:06:44 +08:00
IOS 用户表示此等操作

“目瞪口呆”
nekochyan
2020-10-17 10:12:49 +08:00
与其这样不如直接不管微信消息,等想起来打开再看,别人有急事自然会手机联系你
JackieMe
2020-10-17 11:29:07 +08:00
Xposed + 应用管理可以稳定 FCM,之前一直在用,很稳定,但是语音电话经常收不到
skrad
2020-10-17 12:01:03 +08:00
@JackieMe 请问应用管理具体是哪个 APP ?我之前看到有人提到,但不知道是什么软件
zhiyzellda
2020-10-17 12:20:25 +08:00
这有点嫌梯子命长的意思。。。
挂梯用 V 信?
我开梯子前都必定强退一批简中软件之后才敢开。
这直接主动送上门😥😥
我宁愿不要这推送,也不会让 v 信把梯子搞炸的
JackieMe
2020-10-17 13:36:59 +08:00
@skrad https://www.coolapk.com/apk/github.tornaco.xposedmoduletest
现在已经停止开发了,开发者现在做的新工具 Thanox 不知道是否还支持,我没用过
volks
2020-10-17 15:23:09 +08:00
高玩,高玩
baobao1270
2020-10-17 18:29:24 +08:00
不知道路由器透明代理有没有用,而且我的 MIUI 似乎会自动断开 FCM 连接

@zhiyzellda 额,现在梯子行业也是个内卷行业了,很多 IPLC 机场都是官方背景或者红二代。根据我的经验,用一大票国产软件的同时挂梯子不影响梯子寿命。
NoGolang
2020-10-18 18:32:53 +08:00
我就是再也不想折腾这个了 果断的下单了 12 远离折腾
skrad
2020-10-18 19:05:07 +08:00
@NoGolang 我觉得折腾这些是种乐趣 所以就是个人选择
sxfscool
2020-10-19 09:06:46 +08:00
之前用的原生(n6p),也是各种折腾,黑域冰箱啥的,后来换了小米就不用折腾了
xiva1209
2020-10-21 11:50:39 +08:00
没那么复杂。原生系统上,只要微信域名走代理,就可以走 fcm 通道,不需要第三方工具和各种设置
skrad
2020-10-22 21:49:59 +08:00
@xiva1209 请指教如何设置微信域名走代理? SS 或者 SSR 可设置么?
xiva1209
2020-10-22 23:45:40 +08:00
@skrad 建议用 clash 或者 surfboard 。weixin.qq.com 走代理就行。不过不建议,这样朋友圈图片加载很慢,且微信 fcm 并不稳定。
swsh007
2020-10-28 12:01:26 +08:00
这种折腾是不是每次都打开地球?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/715786

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX