push介绍:
推送服务存在的目的是提高用户活跃度,在普通用户手机中数十种APP中,许多APP被安装在手机上后就可能被用户遗忘最后难逃被卸载的命运,有研究表明push的存在使APP在用户手机中存活的概率增加了一倍多,此外APP开展什么活动或者有什么新鲜事通过push告知用户是最有效的途径.
对于苹果机器,APP一旦被切到后台就不能在继续运行,这导致APP的消息不能在继续传递,为了解决这个问题苹果有着自己的推送服务(APNS),可以让APP在不运行的状态下仍然能接收push信息,消息通路如下图:
对于安卓机器,他自己也有类似APNS的服务,但是是在国外的,国内用户并不能享受到.那安卓用户是如何接收push的呢?一般情况下APP被安卓用户切到后台是仍然继续运行可以接收消息并且为APP的开发工程师提供实现push的接口,工程师们可以自由的选择展现消息的方式,但是这需要消耗内存,流量,电量.
这个方法有一个缺陷是一旦内存耗尽,或者用户手动杀死APP进程,或者插件的一键清理内存将导致APP不在接收任何消息包括push,为了解决这个问题华为的系统级push服务出现了.