目前(2020 年 8 月)国内版 MIUI 的 FCM 推送是否能像原生/类原生一样正常工作?

2020-08-14 16:00:14 +08:00
 KirbySD

之前在搭载国内版 MIUI 11 的小米 8 上测试了 FCM (刷 gapps 和直装 GMS 两种方法均测试过),在直连 /改 hosts/系统级代理 /路由器级代理下无一例外存在下列问题:

这两个问题导致 FCM 在国内版 MIUI 上的推送及时率十分难看,请教各位目前是否有解决方案?还是只能刷国际版 / LineageOS ?

22767 次点击
所在节点    Android
17 条回复
elechi
2020-08-14 17:10:10 +08:00
同问,我也试了搞不定。
shikkoku
2020-08-14 17:22:27 +08:00
同问,换 OPPO 或 VIVO 新款手机是否可以破?
Awes0me
2020-08-14 17:36:21 +08:00
miui 12 推送没问题,但是要打开 app 的自启权限
bghtyu
2020-08-14 22:54:48 +08:00
刷 eu 版没问题,通知很及时
JensenQian
2020-08-15 08:16:24 +08:00
https://www.coolapk.com/feed/17304177?shareKey=ZWU3MmYwODM5OGU1NWYzNzI4N2M~&shareUid=2065884&shareFrom=com.coolapk.market_10.5
按照酷安的这个试下,我按照这个试了下还是不行,息屏时候会断,国内版 miui 对后台管理真的严格,后面我刷的波兰版,通知很及时,享受完整 gms 还是刷海外版,记得刷的时候把小米公交和钱包已经弄进去
JensenQian
2020-08-15 08:18:47 +08:00
@JensenQian 顺带记得把需要走 FCM 的 app 的自启开启
sjdhome
2020-08-15 09:18:18 +08:00
把 Google 服务框架(不是 Play 服务) 的省电策略设置为无限制就会自动把整套 Google 服务的电池优化设定为未优化了,FCM 也都正常了。但是每次重启都会重置。
0A0
2020-08-15 10:14:41 +08:00
fcm 延迟是一直有的,我在国外也是一样经常各种延迟。
机身内置谷歌基础服务的,把 play 商店省电改为未配置就行了,其他是系统服务也改不了。卡刷的权限要全部开放。
连接一直会连的,延迟也会有。
想彻底解决就是改为国际版 /eu 等海外版。
fydpfg
2020-08-15 18:26:31 +08:00
我刚才进行了一系列对比实验,结论是,应用权限的“自启动”只要打开就会正常收到 FCM 推送。如果“自启动”关闭,只有应用在运行的时候才能收到 FCM 推送。
能否收到推送跟“省电策略”和最近任务视图是否“加锁”完全无关,即使“完全禁止后台运行”,也可以正常收到推送。

MIUI 版本:国内最新版本的开发版公测( MIUI 12 20.8.13 )
Google 框架是系统内置的,即安装国外 app 时会提示需要启用 Google 框架然后点“确定”,不是自己通过安装器安装的。Google 框架相关的 app 授予了所有权限,包括自启动、不限制后台,除此之外没有进行任何其他设置。
KirbySD
2020-08-16 12:11:25 +08:00
@bghtyu
@Awes0me
@sjdhome
@0A0
@fydpfg
感谢各位,不过各位好像没提到过 FCM Diagnostics 里面的连接记录问题……
推送在 FCM 连接的情况下是能正常收到的,这点没有问题(即把自启动权限打开),但是主楼里面的 FCM 连接问题不知道各位是否有测试过(拨号盘输入 *#*#426*#*# 打开 FCM Diagnostics )
我测试的时候 MIUI 国内版的症状类似这里: https://club.huawei.com/thread-22982534-1-1.html (居然爱国牌手机也有这症状)
原生 /类原生的正常情况应是 Reconnect Manager 倒数为 0 时即开始尝试重连,但我测试时 MIUI 在断开后倒计时会变为负数,并不会自动重连。这点不知道各位是否有遇到过。
sjdhome
2020-08-16 19:56:32 +08:00
@KirbySD 断开重连网络可以让它强行重试的,但凡成功连上一次就不会有负数的情况了
sjdhome
2020-08-16 20:03:42 +08:00
@KirbySD 好像刚刚发的已经提到过了...超时不重连可以看一下 GCM 日志里是否有多次 Failed connection
0A0
2020-08-21 11:07:45 +08:00
告诉你一个终极解决办法吧。如果换到海外版,那就什么都不用做 gsm 服务是正常的。
如果还想用国内版,

1.首先要知道国内版是谷歌服务是内置 Googleservicecn 这个文件控制的,会导致诸如连接失败 /不稳定 /商店报错等一堆问题。搜一下把它干掉,magisk mod 就好。

2.需要 fcm 推送的软件必须要打开自启动。是的,miui 的自启动规则是不打开自启动 fcm 推送也无法挂起的。可以设定为开启自启动但后台显示存活时间。

3.把相关谷歌服务权限全部开启,省电模式的话部分机型是系统内置无需改省电等设置。参考上面的酷安回答。

4.可选。搜索神隐模式的云控,规则改为国际或毛子。

5.miui 的底层省电规则和后台控制是经常更新和变动的,可能这个版本锁屏还能保持,下个版本就莫名断连了,对普通用户来说无解,严重依赖谷歌服务的话国际版最好。

最后,fcm 服务连接不稳定问题,这个是受很多原因影响,比如网络问题,qiang 问题,以及 miui 自身的后台控制机制等。因为国内版未对 gsm 做任何优化所以不会像 mipush 那样有优先级。即便你做了上面所有操作,甚至不在墙内,也有一定几率影响到推送。
但在与工程师反复测试后,只要按照上述操作,基本上推送是都没问题的。国内只要保证你的 tz 就好。
pipiss
2020-10-28 16:22:36 +08:00
@KirbySD 关闭 miui 优化就不会出现负数可以直接重连了。
ThinMonkey
2021-05-26 12:26:11 +08:00
@0A0 麻烦问下 Googleservicecn 在国内版 MIUI 什么位置,我在 MT 管理器里找不到
0A0
2021-05-31 10:48:06 +08:00
@ThinMonkey system/etc/permissions/services.cn.google.xml
/system/product/etc/permissions/services.cn.google.xml
ThinMonkey
2021-06-16 14:29:03 +08:00
@pipiss 我在国内版经过测试关闭 MIUI 优化也不行,还是会负数,现在安卓 11 的 MIUI 国内版限制特别大

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

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

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

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

© 2021 V2EX