android与苹果 推送,科普下安卓和苹果的推送区别
看到很多人说苹果推送比安卓好太多,安卓关掉app就没法收到推送消息,作为从业者,来给大家科普下安卓和苹果的推送区别。
首先上苹果推送的整体流程图
简单描述一下,开发者先接入苹果推送服务,有消息需要推送时,在服务器上配置需要推送的内容,然后数据会通过ios提供的一条系统级推送通道(TCP长连接)将消息推送到手机,手机解析通知并展示。
对于安卓来说,其实谷歌提供的GMS也是一样的逻辑,这里就不重复了。但因为谷歌在国内被墙了,所以国内安卓推送就比较复杂了。简单说下安卓推送的发展过程。
1.在安卓早期,系统限制较少,app开发者基本都是自己来维护一条推送通道。这样就导致了手机资源的极大浪费,对比ios,10个应用在ios只需要建立1条TCP长连接,而在安卓上就需要10条,而维持TCP长连接需要定时发送心跳包,而发送心跳包又需要唤醒手机,所以出现的结果就是:在安卓上,app为了及时收到消息而拼命保活,
TCP长链接维持需要经常唤醒,导致手机内存和电量的迅速消耗。
2. 为了优化前面所说的两个问题,随着安卓版本的演进,对于app的后台保活越来越严格,因此为了解决app被杀后无法收到消息的问题,大多数开发者开始接入第三方的推送sdk,比如友盟、个推、极光等。第三方的推送sdk可以实现推送通道共享。比如,应用a和b都集成了个推,a和b只需要使用1条TCP长链接就都可以收到推送消息。即使其中一个被杀了,也可以使用共享的通道展示通知消息。
3.随着安卓对后台管理的日益严格,且国内厂家为了提高手机性能和功耗,对后台应用采用白名单策略,不在白名单里的几乎不能在后台存留太久。即使共享通路,也不能完全满足推送消息的到达率要求。(因为可能共享的所有app都被杀了,这样通道就断了)。加之各大厂家都为了解决推送问题,提供了自家的推送服务,即系统提供一条系统级的推送通道,app可以通过此通道推送消息,客户端收到推送消息后展示通知,并不需要应用存活。其实此时逻辑和苹果推送服务已经完全一样了
,而个推友盟极光的sdk等也提供了使用
系统自带推送通道的开关,也就是说只要使用系统的推送服务,通知消息几乎是百分百到达。
总结一下,回答几个常见的问题。
1. 安卓的推送是不是不如苹果?
这个问题无悬念,因为苹果的强管控,所有推送必须走APNS,而安卓虽然有同样的功能,但不是每个应用都接入了推送服务。
2.安卓app挂了是不是就收不到消息了?
如前所述,此说法不正确,只有走自己推送通道的才会app挂了就没法收到消息,而使用系统通道的不会。大多数的应用都是用了系统的推送,不用的要么是用户太少,app不是国内的,因为使用系统推送对app本事也是有好处的,可以提高通知到达率;要么就是常年在厂家白名单里的,比如微信QQ这种,没哪个厂家会主动杀微信,微信也不愿意用厂家的推送通道,一直用的自己的。
3.安卓推送和苹果推送差距大么?
这个我只能说差距肯定有,但不是很大,主流应用推送都可以即使到达。如果对比较小众的app推送消息及时性有要求的,那就有差距了。
最后,补一个安卓发展趋势,工信部统筹的统一推送联盟估计这两年就要上线了,为的就是统一国内安卓推送的问题,而且统一推送联盟还利用了运营商的信令,即使没有数据连接也可以推送。安卓推送的到达率超过ios我觉得问题不大。
手机码字,还多包涵。
android与苹果 推送,科普下安卓和苹果的推送区别相关推荐
- Android与ios消息推送哪个好,科普下安卓和苹果的推送区别
看到很多人说苹果推送比安卓好太多,安卓关掉app就没法收到推送消息,作为从业者,来给大家科普下安卓和苹果的推送区别. 首先上苹果推送的整体流程图 简单描述一下,开发者先接入苹果推送服务,有消息需要推送 ...
- android 数据线有几种,不止是安卓和苹果线,手机数据线原来还有这几种!
原标题:不止是安卓和苹果线,手机数据线原来还有这几种! 随着智能手机日益发展,辅助智能手机的数据线配件也越来越多样. 现在我们最常见的无非就是标准Micro usb口.正反随便插的Type-c接口.还 ...
- iphone 投屏到android,手机车载投屏的方法安卓、苹果都可以
原标题:手机车载投屏的方法安卓.苹果都可以 昨天有用户咨询说他想手机投屏到他的车载显示屏上,经过一番探讨,最后咨询那哥们终于用MHL线进行手机屏幕和车载屏幕连接成功了.事后小编采集了一些手机投屏到车载 ...
- ios和android能联机吗,第五人格安卓和苹果iOS可以一起玩吗?可以互通加好友吗?...
第五人格安卓和iOS是不是互通?第五人格是由网易最近推出的一款非常火爆的手游,很多小伙伴不知道安卓是不是和ios互通,下面小编为大家解答第五人格安卓和iOS可以一起玩吗. 第五人格安卓和iOS可以一起 ...
- ui设计需要做android和苹果版本,UI知识,安卓和苹果的界面设计之尺寸规范
在手机大行其道的今天,设计师难免会和手机打交道,因而在设计过程中,了解手机的界面尺寸规范显得尤为重要. iPhone.iPad.Android UI常用设计尺寸 iPhone: APPLE APP S ...
- 那个把iPhone卖这么贵的女高管离开了 个人信息已从苹果官网撤下
在苹果越卖越贵时,有人调侃苹果已成为奢侈品,事实也确实如此. 主管苹果零售部门的前高级副总裁安吉拉·阿伦茨(Angela Ahrendts)在加入苹果之前正是奢侈品巨头巴宝莉(Burberry)的首席 ...
- 官方老爹之痛:为什么苹果能收到推送,而安卓不行?
还记得上次我们做过的试验么? 我们在 iOS 设备杀掉进程后能收到推送,而 Android 设备却不行.这个问题可困惑了小树很长时间,这天趁着工作清闲,又跑到小黑工位上请教了. 小黑喝了口茶便开始说, ...
- Android,ios,安卓app推送消息通知,java后台向手机推送app的通知教程
文章目录 一.业务介绍 1.1 产品简介 1.2 名词解释 1.3 消息推送流程 二.应用创建 三.客户端 SDK 集成 3.1 Android 3.2 iOS 四.服务端推送 4.1 服务端消息下发 ...
- 关于Android安卓APP保活 - 安卓消息推送详解 - 安卓端外推送离线推送
转自:http://zhangtielei.com/posts/blog-android-push.html 说Android端外推送比较烦,实际有两层意思:首先是说实现上比较麻烦,至今业界也没有找到 ...
最新文章
- 如何配置三层交换机创建VLAN
- golang mysql 事务_golang的嵌套事务管理-Go语言中文社区
- JavaScript 中的内存泄露模式
- [工具整理] Debain(KDE)下常用工具
- socket模拟http的登陆_Python网络爬虫之模拟登陆 !
- 游泳后精疲力尽_精疲力尽的编程后如何重回正轨
- python按照日期筛选数据_Pandas日期数据处理:如何按日期筛选、显示及统计数据...
- c++ unix time 运行时间_C++编程:c++里时间类型详解 time_t等
- 完美海报设计的4个技巧
- matlab sunlink工具箱,FreeBSD handbook Unix Basics
- IntelliJ IDEA统计项目代码行数
- github 无法访问_Markdown文档写作利器套装:Typora+PicGo+GitHub
- 【To Understand】程序员面试金典——番外篇之洪水
- 力扣——所有可能的路径
- 数据结构常见算法机试题
- #Leetcode# 141. Linked List Cycle
- 韦东山第3期嵌入式Linux项目-视频监控-2-从零写USB摄像头驱动(UVC驱动)
- layerdate时间控件的用法
- 麦吉尔大学 计算机科学和阿尔伯特,加拿大低龄留学-阿尔伯特学院-Albert College...
- 3d建模网上学习靠谱吗?学3d建模哪个大学好?