一个资讯 app,没有运行(包括后台进程,是如何做到推送消息的?好神奇
1
SakuraOjosama 2020-08-27 08:08:32 +08:00
统一推送或者。。。小米推送?
|
2
werls 2020-08-27 08:10:52 +08:00 via Android
系统推送啊,苹果和 Google 玩了好几年了
|
3
yufeng0681 2020-08-27 08:43:31 +08:00 5
一种情况是:走中国几家统一了的推送功能;
一种情况是:后台自己启动(被人拉起来),然后主动获取通知消息,然后在后台自杀 |
4
belin520 2020-08-27 08:47:35 +08:00 via iPhone
@yufeng0681 楼上正解
|
5
wanwaneryide 2020-08-27 08:58:04 +08:00
感觉你在钓鱼
|
6
cdlnls 2020-08-27 09:01:24 +08:00 via Android
系统级别的推送啊,简单说就是 APP 后端直接给手机厂家的推送服务器发送消息,然后手机厂家再转发给手机。
如果 APP 是在运行中,就可以直接发给手机 APP 。 |
7
HarryQu 2020-08-27 09:19:34 +08:00
使用手机厂商的推送:
iOS:APNs 。 安卓:各大手机厂商各有一套推送的 SDK,例如小米推送 SDK 、华为 推送 SDK 、OPPO 、VIVO 推送 SDK 。 |
8
whywhywhy 2020-08-27 09:20:30 +08:00
以前我也不能理解,认为消息要自己的 APP 发出来。
现在都是系统自带推送程序,你调用它的 API 就可以做到,看起来是 APP 发出来的,其实是系统发出来的 |
10
fuchunliu 2020-08-27 09:27:28 +08:00 via Android 1
@yufeng0681 好不容易都爬起来了还会自杀?有这么良心?
|
11
zhuawadao 2020-08-27 09:29:10 +08:00
借楼问:抖音如何在安装之后不打开的情况下,直接就有一个角标(无耻)
|
12
dddd1919 2020-08-27 09:29:19 +08:00
这种问题直接问百度就好了
|
13
ochatokori 2020-08-27 09:32:13 +08:00 via Android
@fuchunliu #10 因为有不少 app 在后台也没事干,没必要占着后台被人骂毒瘤,只有微信不知道搞什么飞机要在后台占 1G 内存
当然也不排除是系统资源紧张,应用被唤醒后就被系统杀了 |
14
whywhywhy 2020-08-27 09:38:52 +08:00
@feidao158
我不是很清楚安卓苹果具体的实现,但是其实楼上已经说得很清楚了。。 比如小米手机,,,你是程序开发者,去小米官方注册一个推送消息的 ID,然后把这个 ID 写到你的程序里,你的程序被用户安装后,小米主动或被动的方式通知你的服务器“有一个新用户安装了你的 APP,它的唯一 ID 是 XXXXXX”,然后你在你的服务器,通过小米的 API,也许是 HTTP 协议,也许是其他协议,发送一个请求给小米的服务器,服务器再根据用户 ID 推送到指定的用户,然后被推送的消息,就会呈现在用户的手机上了。。。。 被推送的消息很容易让用户以为是 APP 运行过程中调用了系统 API 来推送消息,其实全程不需要 APP 在用户手机上运行,只要安装就可以了。 以上只是我根据自己使用手机,猜测的逻辑,具体各厂商的逻辑,我不清楚,完全没去了解这一块。。。也许需要用户至少打开过一次 APP,也许根本不需要,具体的限制就要去看文档了。。。。。。 还有一种就是楼上说的,互相唤起对方的 APP,然后发推送消息,然后自己退出。这种方式超级低效,用户手机性能影响大。。 |
17
Baymaxbowen 2020-08-27 09:46:12 +08:00
@zhuawadao #16 手机厂商的推送,和应用市场无关
|
18
iFlicker 2020-08-27 09:47:54 +08:00
iOS: apns
Android:国外是 fcm 国内是各个系统的推送 sdk |
19
Tink 2020-08-27 09:48:13 +08:00 via Android
统一推送联盟啊
|
20
whatyousay 2020-08-27 09:48:58 +08:00 via iPhone
安卓的唤醒后推送是备用手段?要不然为啥要那么多互相唤醒?
|
22
guanhui07 2020-08-27 09:56:29 +08:00
我理解是 手机系统级别的推送
|
25
nekochyan 2020-08-27 11:07:30 +08:00
大部分都是走系统级别的推送吧,比如谷歌的 FCM,小部分流氓应用就是后台自己启动
|
27
BlackwithBrown 2020-08-27 11:49:04 +08:00
根据机型有推送 sdk 的 连 chrome 和 firefox 也有推送接口.....
|
28
xiaoliu926 2020-08-27 11:58:14 +08:00
@Cielsky 难产几年了,还没推出来。
我是做 android 开发的。一般 android app 会同时集成好几家推送服务,比如 友盟推送.极光推送.小米推送 .华为推送.魅族推送.ov 推送。 1.app 打开状态,走的是第三方推送,比如友盟推送 2.app 杀死了或者 app 未启动状态,走厂商通道推送。小米手机走小米推送,华为手机走华为推送。 厂商推送服务是集成在系统中一直在运行状态的。app 未运行时,后台把推送信息发给厂商推送服务器,厂商再把推送信息推送给安装了 app 的手机上。厂商推送服务跟 app 是否运行没关系,系统级别的。app 运不运行,系统推送服务就在那里一直默默活着,除非你手机关机。 |
29
ershierdu 2020-08-27 12:13:03 +08:00 via iPhone
iOS 不架梯子也能正常收到 Gmail 、telegram 的推送,所以显然是通 iOS 的 API 推的
|
30
mike881207 2020-08-27 12:18:40 +08:00
爲啥我的小米 10 在設置裏把微信自啓給關了 然後就收不到消息了? MIUI12
|
32
RobertLyu 2020-08-27 13:28:36 +08:00
@mike881207 因为张小龙不想让 OEM 厂商教微信做推送。
|
34
fansangg 2020-08-27 16:56:39 +08:00
|