logo NodeSeekbeta

浅谈手机推送

前因

今天下午闲着蛋疼没事干,就捣鼓了一下我的备用机的FCM推送,发现一些有意思的地方

  • 手机型号:红米K30i
  • 手机系统:MIUI 13.0.4 CN
  • 已经在设置中打开了Google服务并且Google Service和Google Play都是最新版本
  • 网络:中国电信

因为之前在这台手机上安装了TG,但是从来没收到过推送,于是我就开始排查为什么FCM不推送

开始排查

首先我先在拨号界面输入以下代码查看FCM的连接状态

*#*#426#*#*

输入后就看到明晃晃的“No Connect”几个大字,于是联合ChatGPT开始排查网络问题,经过一系列排查发现不是网络的问题,网络可以正常连接至FCM推送。然后ChatGPT又给我一堆方法,均无效。
后面还是我直接使用万能的Google搜索出来,原来Google Servie和Google Play的省电策略都要设置成“无限制”,然而MIUI很鸡贼的默认给Google Play的策略是智能限制,导致FCM的连接包都没发出去就被MIUI强行杀了。
OK,当我把Google Play的省电策略设置成“无限制”以后,开关飞行模式,可以看到FCM轻松连通,终于是“Connect”了

再次尝试推送

解决完FCM的连接以后我使用Outlook进行FCM的测试,因为排除网络连接问题,中国大陆不能直连Telegram,故采用Outlook进行测试
我满怀信心使用另一个邮箱给我的Outlook邮箱发邮件,然后等了一两分钟都没收到推送,于是我再次在拨号键盘输入这个代码,查看FCM的推送日志

*#*#426#*#*

发现日志里赫然写着“Failed to broadcast to stopped app”,询问了一下ChatGPT,它说这是因为即使FCM收到了消息,但是由于应用的状态为“stopped”,所以依旧不会推送。这种情况正常出现在应用刚被安装还没被打开和应用被“强行停止”后。但是有意思的是我的Outlook明显不符合第一种情况。至于第二种情况,我也没有在应用的设置里将它“强行停止”,我只是把后台划了。然后又是一顿测试果然得出了我预料中的答案MIUI默认会把划掉后台这个动作算作强行停止应用,这个行为也不能说不好,毕竟国内毒瘤应用还得这样才能压住,但是这样会让国外那些规规矩矩的应用收不到推送。
当然我也找到了解决方法,就是给你想要收FCM推送的那个应用“自启动”能力。

成功推送

做完上述操作后,我把Outlook的后台划了以后又给我自己发一封邮件,然后终于可以收到推送了,并且和我的IOS和WIndows(Outlook挂后台)同时收到推送,说明FCM的推送如果正常的话,也是几乎没有延迟的。

彻底死心

就在我高兴的时候,突然想起来我好像没有测试过息屏状态下的推送。于是我把手机息屏以后放了两三分钟,再给我自己发了一封邮件,果然又收不到推送了。去网上找了一圈,发现这篇文章讲得最详细,其中明确指到“锁屏状态下,FCM 的连接会被系统断开”,经过我的测试,确实如此,并且我的状况和他的一样。解决方法他也在文章中说明了,但是他说的方法都不适合我。
于是最终我的这台手机的FCM推送结果为:亮屏时可以无延迟收到消息推送,息屏后需要等待FCM在后台被唤醒才能收到消息(通常会延迟几分钟甚至十几分钟几十分钟),息屏后解锁手机,很快就能收到息屏时所有的推送(因为此时FCM又被拉起了)。
总结就是推了个寂寞,关于MIUI13的FCM研究就到此为止。

结语

目前可知国产小米手机使用国内应用可以使用Mi Push来接收消息,但是对于国外应用的推送,只能说能推但是不及时。其他国产Android没有尝试过,或许OV会好一点。
外版Android ROM对于国外应用的推送在国内肯定是没问题的,但是对于国内应用的推送支持几乎没有,并且压不住国产应用,不知道三星如何。
此时我想起了我的iPhone主力机,曾经就是因为Android老是不能及时收到别人的微信消息才换成的iPhone。APNs一直是iOS的骄傲,但是在今年五月一日前后,Apple通过某些手段使得在中国大陆的iPhone用户收不到一些应用(Telegram)的推送,或许在未来,Apple会将屏蔽推送的名单扩大到除中国大陆App Store以外的所有应用……

12
  • 自从有了AI,好久没有纯手打这么多字了,还挺爽的

  • [Rule]
    DOMAIN-SUFFIX,push.apple.com,PROXY
    DOMAIN-SUFFIX,akadns.net,PROXY
    DOMAIN-KEYWORD,apple.com.edgekey.net,PROXY

    IP-CIDR,17.249.0.0/16,PROXY,no-resolve
    IP-CIDR,17.252.0.0/16,PROXY,no-resolve
    IP-CIDR,17.57.144.0/22,PROXY,no-resolve
    IP-CIDR,17.188.128.0/18,PROXY,no-resolve
    IP-CIDR,17.188.20.0/23,PROXY,no-resolve

    IP-CIDR6,2620:149:a44::/48,PROXY,no-resolve
    IP-CIDR6,2403:300:a42::/48,PROXY,no-resolve
    IP-CIDR6,2403:300:a51::/48,PROXY,no-resolve
    IP-CIDR6,2a01:b740:a42::/48,PROXY,no-resolve

    苹果的弄个规则就好了

  • 这种还是酷安上鼓捣的比较多吧 我以前天天鼓捣这个 后来换了外版手机和苹果,就再也没有遇到这种问题了

  • 笑死,安卓推送真是狗屎一样的体验2026年了都,没想到10年前的问题现在没解决,当初就是因为这个换回iphone,估计某些安卓机型国内应用推送都没整明白吧,fcm这种还是太为难了,只能靠root根治了 ac01

  • @Zyhethan #3 我也几年没玩了,现在我都用MIUI官方版系统,换做以前我是绝对想不到这个手机竟然会用这个系统养老

  • 空

  • iOS无压力

  • @mangege #4 可惜啊,国内貌似只有一加才能解锁了,iQOO和真我不知道行不行。已经没有玩机的土壤了

  • 我是外版三星,outlook推送时有时无,这几天收到还算及时。

12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72164位seeker

🎉欢迎新用户🎉