[偷看]前言
书接上回,我在1月份的时候写了一篇文章
里面讲述了如何使用FCM来接受微信信息,虽然在我这里测试成功,但根据酷友们的反馈,还有着许多奇奇怪怪的问题, 时隔4个多月后,楼主终于有空,就来更新一下教程,以及补充一下内容。
[偷看]一、准备工作
[偷看][偷看]以下人群劝退
1、消息多者,本教程只是解决消息少的人士后台不用挂微信
2、国内ROM ,国内厂商可能对系统进行了魔改,而且国内ROM 具有完善的后台管理机制,无需使用推送
3、要求即时性强,由于FCM网络波动,推送可能会有延迟,从40ms到2分钟不等
4、对微信电话强依赖,推送无法解决微信电话问题,所以无法收到微信电话,(但是有办法解决)
5、伸手党,一些简单的问题不会使用搜索引擎解决
6、网络不通畅,无法出国的,因为教程需要的内容均在GitHub上,我不会放镜像,但不限制其他好心人放镜像
[偷看][偷看]理论基础
[偷看][偷看]Q&A
1,如何让微信走FCM?
显然,微信接入FCM只是作为自身不能收到消息的备用方案,所有,但微信本身可以收到消息时,FCM是不会有推送的,也就是说,我们得把微信杀死,不留在后台,强迫它走FCM,不过作为备用方案,微信电话没法接(仅限使用 Thanox代收 的情况下)
2,会漏消息吗?
显然是不会的,但延迟有多久就不知道了。只要联着FCM的话不超过250ms(Google说的)。但是,最近不知怎的,同一条消息推送几次,可能是用了 微信代收,没有唤起微信,结果后端认为消息传输时丢失了,发了好几次,可能Thanox的开发者需要解决一下
[偷看][偷看]需要的东西
0,脑子
1,magisk , lsposed
2,Thanox(付费,参见:https://github.com/Tornaco/Thanox)或者 黑域(付费,参见:https://play.google.com/store/apps/details?id=me.piebridge.brevent&hl=zh&gl=US)
3,FcmFix(下载地址:https://github.com/kooritea/fcmfix)
4,FcmHosts(参见:https://blog.minamigo.moe/archives/201)或者 ADHosts(参见:https://github.com/E7KMbb/AD-hosts)
5,微信 play版 (参见:https://play.google.com/store/apps/details?id=com.tencent.mm&hl=zh&gl=MY)
[偷看]二、实战
本次教程包含两个不同的方法,各位自行选择,不过各有优劣
[偷看][偷看]不过,还需要一些前期工作,用来解决FCM链接的问题
虽然GFW比较强大,但FCM是可以裸连的,不过容易被DNS污染,所有我们需要一个Hosts,这样就解决了。说句题外话,家里有IPV6的,FCM用的是IPV6,可能比较慢,但很稳定。在拨号键盘输入 *426* 就可以看到详细的信息,方便待会排查问题。
此外,还建议使用FcmFix,可以改善FCM的重连时间长(使用后即时重连),强制拉起应用(方案二里会使用到),解决各种奇怪的问题(比如:Failed to BroadCast xxx)。如何设置FcmFix:在LSP里打开即可,在FcmFix里选择需要的APP
[偷看][偷看]方案一:使用Thanox微信代收
具体实现:在Thanox里面打开微信代收,关掉微信的 后台启动 后台运行 ,开 乖巧模式 任务清理,enjoy
优点:比较稳定,由Thanox代替微信接受推送,不需要唤起微信,完全没有后台
缺点:微信可能会多次推送,视频电话不会推送(当然你可以在微信推送里打开,拉起微信,就可以解决了)
[偷看][偷看]方案二:使用FcmFix强拉微信,配合Thanox或者黑域压后台
具体实现:参考之前的教程,优化微信电池,自动杀后台
优点:是微信自身的通知,也许可以完美收到消息,包括各种奇奇怪怪的玩意
缺点:比较复杂,要用到几个玩意,杀后台需要比较详细的设置一下
[偷看]三、尾言
[偷看][偷看]针对上一篇提出问题的回答,感谢反馈
[偷看][偷看]一些废话