大陆版本的三星安卓系统如何使用 FCM 推送?

2023-10-13 19:00:00 +08:00
 NokiaForever
国行三星可以启用 fcm 的。
两个条件满足就可以:
1.系统能连上 Google (因为国行系统当连不上 Google 后就会断开 FCM 连接)
2.想要接收 fcm 通知的应用,智能管理器里面允许自启动(因为只有允许自启动,app 才能进缓存,fcm 需要 app 有缓存才能广播成功推送消息)
可以用我开发的工具查看哪些应用支持 FCM 推送,并且可以调出系统 FCM 日志界面。
https://github.com/HappyMax0/FCMPushViewer

国内其它 rom 要用 fcm 也要注意想要走 fcm 的应用给开启自启动权限,确保应用的电池选项最少为“优化”。
这里有一篇文章详细解释了 FCM:
https://www.j000e.com/Android/Android_battery_optimization-fcm_working_conditions.html

根据我的经验,微软全家桶(废话)走的是 FCM ,比如需要 Outlook 、微软验证器、XBOX 、Teams 推送的需要 FCM 。
还有国产应用里支持并且能推送的有:Play 版知乎、Bilibili 、闲鱼(玄学)、小红书(最新版,玄学)、钉钉,非 Play 版的飞书。

其实中国大陆安卓机处于一种不公平状态,只有华为、小米、OPPO 、VIVO 有大量应用接入厂商的消息推送服务。
其它小众品牌比如三星、索尼、moto 、努比亚这些,虽然有和极光推送&个推合作的统一推送服务,但几乎没有 app 接入,即使接入了也只会推送广告(三星就是),不会推送正经消息。
其实从技术层面很容易解决,就是 app 开发商不作为。(只能自己安装第三方 mipush/hms 解决,或者良心应用接入 FCM 推送)
21002 次点击
所在节点    Android
29 条回复
datou
2023-10-15 22:06:20 +08:00
反正我实测国行小米手机运行着国行 MIUI 即使手动安装了谷歌全家桶也无法使用 FCM

用 FCM Toolbox 测的
NokiaForever
2023-10-15 22:07:59 +08:00
@datou 可以的,play 商店设置为无限制,然后要走 fcm 的应用开启自启动权限。
jaoyina
2023-10-30 21:40:48 +08:00
请问国行三星安卓 google play store 的正确方法是什么,我是从 apkpure 下载的,虽然可以用,但是无法在它本身的设置里更新,每次都说是最新的。所以我只能到 apkure 再去下载最新版,更新挺频繁的,还挺麻烦的。
NokiaForever
2023-11-23 10:10:42 +08:00
@jaoyina 国行不支持自动更新 play 本身
easternbasileus
2024-08-17 18:02:53 +08:00
新买的三星,也有类似问题。因为您的帖子是在谷歌搜索 [三星 FCM] 比较靠前的结果,所以即使时隔很久,也分享一下我的解决方案和研究的结果:
1. 首先要能实时收到推送有两个条件,一是你连到 mtalk.google.com 这个谷歌的服务器;二是不像 ios ,要推送的那个应用需要在三星的优化策略上不受限制,即需要能自运行,不然只有在活动状态才能有推送。
2. 连到 FCM 的服务器是需要梯子的,但是一经连上之后好像断开梯子也可以,只不过生存期一过就相当于断开了。没事代理可以 24 小时开着。具体链接的状态可以用 [FCM 推送查看器( https://github.com/HappyMax0/FCMPushViewer )] 检查。也可以用 FCM Tool 进行测试,这个就不赘述了,都搜得到。
3. 梯子本身的策略也很重要。这一点非常关键,因为我在节点完全没有问题的情况下,硬是收不到推送。我自己用的是 SSRR 和 Clash+绕行策略。首先绕行的应用最好不要包括任何三星自带的 APP ,目前我没有去挨个尝试哪个被绕过了就导致系统挂不上代理(有可能是三星云和云助手这几个涉及同步的 APP ,但没有经过很详细的实证)。但是尝试的结果只能说,你以为某个 APP 看似和这个无关的,但可能带了某个去连接 FCM 的服务,你绕过了,就连不上了。Clash 则除了绕行策略之外,还有一个设置是网络——允许应用绕过。实测这个选项也会使推送服务连不到谷歌,因为 SSRR 没有这个选项,在两边绕行应用的列表都一致的情况下,我 Clash 实测就是不行。目前只能判断为 Clash 允许应用绕过的话,三星会自行选择绕过。

结论就是,如果你想要一个像 ios 一样实时畅通的 FCM 推送机制,你需要:
1. APP 应用本身走 FCM ,并且电池策略允许自启动。
2. 如果在国内,你需要检查你的代理是否把三星的 APP 绕过了。除 APP 名单外,Clash 还需关闭“允许应用绕过”。
jjxtrotter
2024-08-30 16:19:45 +08:00
@easternbasileus 请问需要推送的 app 如果绕过代理,能否收到推送?
tamicrealo
198 天前
感谢提供分享该 apk
himan85
81 天前
Oneui7 没有了自启动的选项,似乎只要把 APP 设置为优化就可以收到推送了
NokiaForever
72 天前
@himan85 是的,其实是一个意思

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

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

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

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

© 2021 V2EX