easternbasileus 最近的时间轴更新
easternbasileus

easternbasileus

V2EX 第 326404 号会员,加入于 2018-07-03 01:16:02 +08:00
easternbasileus 最近回复了
新买的三星,也有类似问题。因为您的帖子是在谷歌搜索 [三星 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 还需关闭“允许应用绕过”。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2385 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 15:59 · PVG 23:59 · LAX 07:59 · JFK 10:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.