未运行的 app 是如何做到推送消息的?

2020-08-27 08:02:29 +08:00
 cantonadong

一个资讯 app,没有运行(包括后台进程,是如何做到推送消息的?好神奇

14105 次点击
所在节点    Android
35 条回复
Tink
2020-08-27 09:49:41 +08:00
@feidao158 每个系统都有推送到 sdk
guanhui07
2020-08-27 09:56:29 +08:00
我理解是 手机系统级别的推送
Sapp
2020-08-27 10:19:32 +08:00
@feidao158 是后端调用的吧,厂商收到这个转发给手机,手机系统再通知
swulling
2020-08-27 10:35:35 +08:00
@feidao158 其实并不需要客户端,也就是 APP 运行。APP 的服务端调推送接口就行了。
nekochyan
2020-08-27 11:07:30 +08:00
大部分都是走系统级别的推送吧,比如谷歌的 FCM,小部分流氓应用就是后台自己启动
Cielsky
2020-08-27 11:16:56 +08:00
@zhuawadao 国内有统一推送联盟的,发展几年了
BlackwithBrown
2020-08-27 11:49:04 +08:00
根据机型有推送 sdk 的 连 chrome 和 firefox 也有推送接口.....
xiaoliu926
2020-08-27 11:58:14 +08:00
@Cielsky 难产几年了,还没推出来。

我是做 android 开发的。一般 android app 会同时集成好几家推送服务,比如 友盟推送.极光推送.小米推送 .华为推送.魅族推送.ov 推送。
1.app 打开状态,走的是第三方推送,比如友盟推送
2.app 杀死了或者 app 未启动状态,走厂商通道推送。小米手机走小米推送,华为手机走华为推送。

厂商推送服务是集成在系统中一直在运行状态的。app 未运行时,后台把推送信息发给厂商推送服务器,厂商再把推送信息推送给安装了 app 的手机上。厂商推送服务跟 app 是否运行没关系,系统级别的。app 运不运行,系统推送服务就在那里一直默默活着,除非你手机关机。
ershierdu
2020-08-27 12:13:03 +08:00
iOS 不架梯子也能正常收到 Gmail 、telegram 的推送,所以显然是通 iOS 的 API 推的
mike881207
2020-08-27 12:18:40 +08:00
爲啥我的小米 10 在設置裏把微信自啓給關了 然後就收不到消息了? MIUI12
Xusually
2020-08-27 13:11:15 +08:00
@feidao158 app 的服务器调接口往手机厂商推送服务推送就行了,不需要 app 启动。
RobertLyu
2020-08-27 13:28:36 +08:00
@mike881207 因为张小龙不想让 OEM 厂商教微信做推送。
dcty
2020-08-27 16:38:39 +08:00
@feidao158 如果你用 MIUI,开发者有接入 MIPush,那么可以做到无需后台即可推送。其他厂商的同理。
fansangg
2020-08-27 16:56:39 +08:00
@xiaoliu926

兄弟,你多久没做推送了,友盟推送已经包含了华为小米 ov 的推送了....
maplelin
2020-08-27 17:13:25 +08:00
@fffang #15 iOS 不打开是默认没有开启通知权限的,不可能做到不打开就显示角标

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

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

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

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

© 2021 V2EX