美文网首页
APP推送系统工作原理

APP推送系统工作原理

作者: 百步飞剑 | 来源:发表于2016-01-08 14:23 被阅读0次
搜狗截图20160106143135.png

一、传统APP架构下的信息传送

APP主动向服务器请求数据,服务器被动的提供数据。

步骤如下:

搜狗截图20160106143006.png

然而,如果此时服务器又有了新的新闻,在用户没有主动刷新的情况下,服务器是不会主动推送给用户的。

推送解决了这个困境,它让服务器主动连接APP,通知APP有了新的新闻,可以再请求。收到推送的APP(即使已关闭)又去服务器请求最新的新闻,用户就能看到了。

二、实现推送的方法

实现一个推送系统需要服务器端和终端的配合。

方法一:轮询

即不停地向服务器发送请求(既然不知道什么时候会发生,那就一遍一遍的问吧)。

缺点:手机消耗电量、流量大;服务器也要处理大量的请求,压力大。

方法二:APP和服务器建立长时间连接通道

通过这个通道,APP可以向服务器请求数据,服务器也可以向APP发送数据。

android系统中,如果APP被关闭,APP可以启动一个后台服务来维持通道继续运行。(ios的解决方法见下)

如何维护这个长时间连接的通道?

APP会每隔段时间向服务器报告自己还活着,服务器收到后,即可知道这个通道可以继续使用。(代价是增加电量消耗)

如果手机中装了多个带有推送功能的APP,如何解决多个通道的问题?

android解决方案:GCM(系统提供)、开发各自的专用通道(国内方法)

Android系统提供的 GCM 只能在 Android2.2 以上才能使用,3.0 以下必须要安装 Googleplay 并登陆了 Google 账号才能支持。而国内发行的手机大多是阉割掉了 google 服务的。

因此,对于 Android 系统来说,各家 app 只能开发自己的专用长连接通道了。然而这时候他们遇到了 app 的天敌:管家和卫士们。前文说了,app 想要及时收到服务器推送的消息,关键在于自己与服务器的长连接通道不被关闭,也就是自己的后台服务可以一直在后台运行,而管家和卫士们的一键清理功能就是专治这种 “毒瘤” 的。道高一尺魔高一丈,app 在与管家和斗士们的长期斗争中,总结了一系列躲避被清理掉的方法,什么定时自启能力、什么相互唤醒、什么前台进程等等。

IOS解决方案:APNS

ios开通了一条系统级别的长连接通道,通道的一端是手机的所有APP,另一端是苹果的服务器。
APP的服务器如果有消息需要推送,先把消息发送到苹果服务器上,再利用苹果的服务器通过长连接通道发送到用户手机,最后通知具体的APP。这样,即使安装了100款APP,也只需要向一条通道里发送推送。

apns.png

非原创,总结自微信文章。

相关文章

  • APP推送系统工作原理

    一、传统APP架构下的信息传送 APP主动向服务器请求数据,服务器被动的提供数据。 步骤如下: 然而,如果此时服务...

  • APNs推送原理及deviceToken特性

    一、APNs推送原理推送主要分为以下几步:1.由App向iOS设备发送一个注册通知,用户需要同意系统发送推送。2....

  • 2019iOS面试题总结

    1.苹果推送的原理 1.1由App向iOS设备发送一个注册通知,用户需要同意系统发送推送。 1.2iOS向APNs...

  • 话说 推送

    推送的原理主要分为以下几步:1.由App向iOS设备发送一个注册通知,用户需要同意系统发送推送。2.iOS向APN...

  • APP Push推送—ios推送原理

    ios推送原理: 准备工作:1)需要一个付费的苹果开发者账号(免费的不可以做远程推送)。2)去苹果开发者网站,配置...

  • iOS-Onesignal推送实现详解

    目录 证书准备工作APP 处理推送配置文件向系统申请通知权限注册deviceToken推送处理流程(分三种情况处理...

  • iOS-Onesignal推送实现详解

    目录 证书准备工作APP 处理推送配置文件向系统申请通知权限注册deviceToken推送处理流程(分三种情况处理...

  • 关于iOS推送

    远程推送不错的文章,写的很详细 本地推送文章 苹果推送的原理 app 向APNS发请求获取 device-toke...

  • APP 的push推送原理

    相信很多做运营的人都会遇到,我们发出的的大量推送,最后只有百分之几的用户进入了推送的页面中。点击率为什么这么低呢?...

  • iOS面试题5

    1.远程推送原理是什么?? 由App向iOS设备发送一个注册通知 iOS向APNs远程推送服务器发送App的Bun...

网友评论

      本文标题:APP推送系统工作原理

      本文链接:https://www.haomeiwen.com/subject/ocnfkttx.html