android 接入腾讯信鸽
最近产品有用到信鸽,正好做一下分享,主要讲解一下android接入信鸽的缺陷和使用方法
- android推送实现的分类
- 信鸽推送流程与缺陷
- 信鸽接入及使用方式
android推送实现的分类
首先要明白android系统对于推送的限制,android的特殊机制 :android系统对于休眠于后台的进程和service都可能会被杀死 基于这个机制 那么所有的基于长连接的推送都可能会被杀掉,特别是android5.0之后进程在后台时直接挂起,这个时候一般我们会把类似的业务放在service中,但service只是按照优先级来进行回收 service一样是可能会 被杀死的。google这样设计是因为android毕竟是个在一个要求低功耗的手机上运行,如果所有的app都在后台频繁的前期数据 那么这个很快电量将耗完。那么我们的推送又要求实时要求常驻 这个问题怎么解决?
- google FCM推送服务 当然首选它了 这个是google专门为解决推送而做的一套方案,类似于ios的推送:它的原理是他是系统进程所有的app只需要和它进行消息推送 它统一进行notify就可以了。可惜国内不能用google服务。
- 自己做一个tcp长连接 可以做在自己的service中 适当做一下存活,比如设置一下他的优先级;按照我们的之前的分析,这种模式有很大概率被杀掉,但好在当app在前台时是可以保证不被杀,这样一些对实时性要求不高的app可以采用这个,比如类似用mqtt实现
- 手机厂商推送接入 有的厂商在ROM中预制了一套自己的推