到目前为止我已经用过 4 种 Android UI 了,分别是 One UI 、MIUI 、FuntouchOS 和 realme UI 。除了 One UI 可以通过分应用代理让 Android 系统( uid:1000 )连接到国际互联网来破除国行对 GMS 的限制之外,其他几个或多或少都存在着一些不太方便解决的问题。
我之前在网上搜索过相应的解决办法,多半是要我刷国外版、、刷原生、root 重刷 GApps,或者是换 iPhone 解决。刷国外版没本地化,刷原生会丧失很多特性和系统的稳定性,root 会导致有的软件直接不能用,至于换 iPhone 就只有钱的问题了。这四个方案实际上能相对完美地解决问题的一个也没有。
在网上搜索“xxUI 能不能用 FCM”,基本上也给不出什么准确答案。网上说 realme UI 能用 FCM,我买回来才发现它也是个半残 FCM,息屏 5 分钟自动断连,这也叫“能用”?各位见多识广,研究深入的兄弟不如来说说你们用过的国内 UI 里面有没有比较简单就能绕过限制正常使用 FCM 的?
1
richard1122 2020-10-01 12:10:13 +08:00
三星算吗?国行系统也是能用的。
|
2
Chengx3 OP @richard1122 我上面说的 One UI 不就是三星吗?
|
3
richard1122 2020-10-01 12:13:02 +08:00
@Chengx3 #2 确实,没注意看。
|
4
WebKit 2020-10-01 13:14:37 +08:00 via Android
root 会导致有的人间不能用?没遇到过。就算遇到了。你也可以通过 magisk hide 解决啊
|
5
drawstar 2020-10-01 13:27:10 +08:00
楼主头像跟我导师的一模一样
|
6
f165af34d4830eeb 2020-10-01 13:37:14 +08:00
能用 FCM 是指可以通过代理连接 FCM 服务器,还是可以不走代理直连?如果是后者,如何保证连接的 FCM 节点没有被大防火墙橄榄呢?
Anyhow,我觉得如果是走代理连接 FCM,那还不如加点钱换 iPhone,享受真·系统级推送。毕竟挂代理也要耗电影响续航。 |
8
Chengx3 OP @f165af34d4830eeb 能不能直连这个我可以告诉你,我这边 24h 直连稳的一批,另外一台水货机天天给我推送。这个帖子的意义是要请大家把那些限制 GMS wakelock 和 alarm,把 GMS 加入电池优化的国产 UI 找出来。
|
9
reechangs 2020-10-01 13:49:30 +08:00
oneplus 刷 oxygen 可以
|
10
Chengx3 OP @reechangs 已知。氧 OS 是面向国外的自然可以,好像氢 10 开始也可以长时间直连 FCM 了。
|
11
ochatokori 2020-10-01 14:13:09 +08:00 via Android
@Chengx3 #10 能不能直连和你用什么 ui 没关系,只是偶然选到了没被墙的节点
我现在的方案是用 eu 版 miui,用 magisk 刷模块本地化,用 edxposed 修 fcm 会自动断开、不会自动重连的问题 |
12
Chengx3 OP @ochatokori 我根本就没想在这里说直连的问题,要直连都能直连,要直连要代理我可以配置。我遇到的全是息屏就给我优化掉,掐 wakelock,推迟 alram,亮屏重连或者无法重连的问题。能不能直连的问题反正我有一套 FCM 常用 IP 的名单,我批量测就是了。
|
13
Chengx3 OP @ochatokori 话说你的 MIUI EU 的 FCM 还需要修?这种国外市场用的 ROM 不是应该能用 FCM 吗?
|
14
ochatokori 2020-10-01 14:43:28 +08:00 via Android
@Chengx3 #13 要不要修是用不用梯子上网决定的。我用 eu miui,24 小时内没梯子的时间小于 5 分钟,但是还是会有时候 fcm 断开后不会自动重连。
我测试过,一旦 fcm 连接的时候用的是国内网络,*#*#426#*#*里面,打开右上角的 Advanced view,可以看到 ReconnectionManager 的定时器就会变成负数(正常是递增重连间隔),之后就一直不会重连了,我也不知道什么原因,国内版 miui 和 eu 版 miui 都有这个问题。 |
15
zzw1998 2020-10-01 14:45:43 +08:00 via iPhone
@Chengx3 我记得 fcm 的 API 域名 fcm.googleapis.com 被墙了啊,怎么实现直连的啊
|
16
skylancer 2020-10-01 14:50:19 +08:00
|
17
skylancer 2020-10-01 14:52:19 +08:00
|
18
ochatokori 2020-10-01 14:56:50 +08:00 via Android
@zzw1998 #15 是的, fcm 分两部分,你这个是应用注册 fcm 时用到的域名,还有另一个 mtalk.google.com ,这个 mtalk 是长连接推送消息用的,有部分 ip 没被墙。
所以现在说直连,都是残废的,应用注册不了 fcm,只有推送消息的连接可以直连那根本没用。 要是说可以先爬梯子应用注册了再直连等推送,那也不是不行,但是 fcm 有两种推送方法,其中一种是 fcm 唤醒休眠中的应用让应用走自己的通道拉取消息,直连 fcm 就收不到这种消息。 |
19
ochatokori 2020-10-01 15:08:09 +08:00 via Android
@skylancer #17 那难道我的中国移动 4G 和中国电信家宽都显示 Failed connection err:25 和 Failed connection err:3 是我的问题?
|
20
Takuron 2020-10-01 15:50:43 +08:00
氧 os 不挂梯正常推送,有的时候甚至这样接 TG 消息还能快一点......
|
21
jackmod 2020-10-01 15:51:13 +08:00
MIUI eu 修改版。直连的话,youtube 能推送文本( html )部分。通知里的图片加载不出来。
|
22
skylancer 2020-10-01 16:58:40 +08:00
@ochatokori 咱三家都有用,然而这些年来 FCM 那三个 IP 都没见被墙过,建议先自己检查 DNS 解析是不是正确
|
23
skylancer 2020-10-01 17:03:54 +08:00
@ochatokori 谁和你说直连 FCM 收不到高优先级推送的 那这是什么 https://sm.ms/image/NJw5a73Co9TqDUQ
|
24
ochatokori 2020-10-01 17:47:31 +08:00 via Android
@skylancer #22 什么叫正确的 dns 解析?难道我还要专门弄个抗污染的 dns ?
#23 首先我没说过直连 FCM 收不到高优先级推送,其次高不高优先级和收不收到没关系,优先级只影响设备收到推送后是否立即通知应用。 18 楼是我表达不当,我想说的是,并不是所有应用都是通过 fcm 直接推送通知内容,而是通过 fcm 唤醒休眠中的应用,应用走自己的通道拉取通知,所以有时候单单直连 fcm 根本没有用,还要保持应用爬墙。 |
26
Muniesa 2020-10-01 18:57:08 +08:00 via Android
|
27
DogBear 2020-10-01 19:12:21 +08:00 via Android
现在 DNS 污染已经不算墙了吗🤔
![Screenshot]( https://storage.cheng.pet/file/chengc/IMG_20201001_190524.jpg "Screenshot") |
28
skylancer 2020-10-01 19:16:22 +08:00
|
29
lbingl 2020-10-01 19:23:21 +08:00
楼主有无 One UI 通过分应用代理使用 FCM 的教程?找了一圈没找到,可否发一份?多谢
|
31
Jerami 2020-10-02 09:41:51 +08:00 via Android
华为的 EMUI 国内版本,至少我在加拿大 fcm 绝对没任何延迟。
|
32
baobao1270 2020-10-02 22:51:47 +08:00
MIUI 11 似乎连上之后能一直保活,连不上之后五分钟就死了,切换网络前不再重试了
|
33
ciaoly 2020-10-03 08:14:23 +08:00 via Android
360 公司产的手机,搭载的 360OS,不光系统集成了狗哥服务,fcm 正常使用,而且不用挂梯子,fcm 可直连(但是假如你想看 telegram 消息还是得挂梯子,fcm 只是负责推送)。
。。因为我用的破手机就是 360 的。 |
34
NSAgold 2020-10-03 15:05:36 +08:00
@baobao1270 #32 同 miui 连不上之后也是立马死 仔细看了下 和#14 的问题一样 会变成负数
|
35
pipiss 2020-10-28 14:57:13 +08:00
@ochatokori 请问你修复 fcm 的模块是什么?
|
36
pipiss 2020-10-28 16:09:51 +08:00
@ochatokori miui 无法重连变成负数的原因我排查出是需要在开发者选项中关闭 miui 优化就可以解决了。
|
38
ochatokori 2020-10-28 17:58:43 +08:00 via Android
@pipiss #35 github:kooritea/fcmfix
不过修起来比较麻烦,如果你关闭 miui 优化也可以解决的话那其实没必要上模块 |
39
NSAgold 2020-10-29 00:05:39 +08:00 2
@pipiss miui 优化我有用 所以没办法
不过找到一个办法 play 菜市场有个叫做"推送通知助手"的 APP(com.maucer.pna) 常驻后台可以保证 fcm 正常 原理是每隔一个(自定义的)时间间隔后会广播 gcm 服务心跳以保证连接 如果连接挂了请求会重新启用连接 |
41
kav2007 2021-04-06 16:13:50 +08:00 via Android
vivo x20plus 手机,Funtouch OS 8.10.13 。手动安装 google play 服务和 play 商店。电池>后台高耗电 和自启动,分别允许 play 商店和 play 服务。只要网络正常,能正常连 mtalk 那个域名,FCM 工作正常。
折腾这一套,就是为了 zoom app 接收推送消息。 |
42
zzzzzdai 2021-04-30 15:37:30 +08:00
一加 9 的 colorOS,仅需开启自启动,即可收到 fcm,非常稳定
|
46
StarRED 2022-04-28 12:20:30 +08:00 via Android
刷国际版 fcm 能用其他都是残疾版
|