看到很多人说苹果推送比安卓好太多,安卓关掉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与苹果 推送,科普下安卓和苹果的推送区别相关推荐

  1. Android与ios消息推送哪个好,科普下安卓和苹果的推送区别

    看到很多人说苹果推送比安卓好太多,安卓关掉app就没法收到推送消息,作为从业者,来给大家科普下安卓和苹果的推送区别. 首先上苹果推送的整体流程图 简单描述一下,开发者先接入苹果推送服务,有消息需要推送 ...

  2. android 数据线有几种,不止是安卓和苹果线,手机数据线原来还有这几种!

    原标题:不止是安卓和苹果线,手机数据线原来还有这几种! 随着智能手机日益发展,辅助智能手机的数据线配件也越来越多样. 现在我们最常见的无非就是标准Micro usb口.正反随便插的Type-c接口.还 ...

  3. iphone 投屏到android,手机车载投屏的方法安卓、苹果都可以

    原标题:手机车载投屏的方法安卓.苹果都可以 昨天有用户咨询说他想手机投屏到他的车载显示屏上,经过一番探讨,最后咨询那哥们终于用MHL线进行手机屏幕和车载屏幕连接成功了.事后小编采集了一些手机投屏到车载 ...

  4. ios和android能联机吗,第五人格安卓和苹果iOS可以一起玩吗?可以互通加好友吗?...

    第五人格安卓和iOS是不是互通?第五人格是由网易最近推出的一款非常火爆的手游,很多小伙伴不知道安卓是不是和ios互通,下面小编为大家解答第五人格安卓和iOS可以一起玩吗. 第五人格安卓和iOS可以一起 ...

  5. ui设计需要做android和苹果版本,UI知识,安卓和苹果的界面设计之尺寸规范

    在手机大行其道的今天,设计师难免会和手机打交道,因而在设计过程中,了解手机的界面尺寸规范显得尤为重要. iPhone.iPad.Android UI常用设计尺寸 iPhone: APPLE APP S ...

  6. 那个把iPhone卖这么贵的女高管离开了 个人信息已从苹果官网撤下

    在苹果越卖越贵时,有人调侃苹果已成为奢侈品,事实也确实如此. 主管苹果零售部门的前高级副总裁安吉拉·阿伦茨(Angela Ahrendts)在加入苹果之前正是奢侈品巨头巴宝莉(Burberry)的首席 ...

  7. 官方老爹之痛:为什么苹果能收到推送,而安卓不行?

    还记得上次我们做过的试验么? 我们在 iOS 设备杀掉进程后能收到推送,而 Android 设备却不行.这个问题可困惑了小树很长时间,这天趁着工作清闲,又跑到小黑工位上请教了. 小黑喝了口茶便开始说, ...

  8. Android,ios,安卓app推送消息通知,java后台向手机推送app的通知教程

    文章目录 一.业务介绍 1.1 产品简介 1.2 名词解释 1.3 消息推送流程 二.应用创建 三.客户端 SDK 集成 3.1 Android 3.2 iOS 四.服务端推送 4.1 服务端消息下发 ...

  9. 关于Android安卓APP保活 - 安卓消息推送详解 - 安卓端外推送离线推送

    转自:http://zhangtielei.com/posts/blog-android-push.html 说Android端外推送比较烦,实际有两层意思:首先是说实现上比较麻烦,至今业界也没有找到 ...

最新文章

  1. 如何配置三层交换机创建VLAN
  2. golang mysql 事务_golang的嵌套事务管理-Go语言中文社区
  3. JavaScript 中的内存泄露模式
  4. [工具整理] Debain(KDE)下常用工具
  5. socket模拟http的登陆_Python网络爬虫之模拟登陆 !
  6. 游泳后精疲力尽_精疲力尽的编程后如何重回正轨
  7. python按照日期筛选数据_Pandas日期数据处理:如何按日期筛选、显示及统计数据...
  8. c++ unix time 运行时间_C++编程:c++里时间类型详解 time_t等
  9. 完美海报设计的4个技巧
  10. matlab sunlink工具箱,FreeBSD handbook Unix Basics
  11. IntelliJ IDEA统计项目代码行数
  12. github 无法访问_Markdown文档写作利器套装:Typora+PicGo+GitHub
  13. 【To Understand】程序员面试金典——番外篇之洪水
  14. 力扣——所有可能的路径
  15. 数据结构常见算法机试题
  16. #Leetcode# 141. Linked List Cycle
  17. 韦东山第3期嵌入式Linux项目-视频监控-2-从零写USB摄像头驱动(UVC驱动)
  18. layerdate时间控件的用法
  19. 麦吉尔大学 计算机科学和阿尔伯特,加拿大低龄留学-阿尔伯特学院-Albert College...
  20. 3d建模网上学习靠谱吗?学3d建模哪个大学好?

热门文章

  1. 26-水果售卖统计(set和map)
  2. 坝体监控系统技术说明书
  3. 轻轻松松使用StyleGAN(五):提取真实人脸特征码的一些探索
  4. 计算机有没有用在二战,二战上岸中科大计算机,记录一点点感想
  5. 安装KB3132372补丁后,WIN10中IE内核加载flash崩溃
  6. 制定合理的浮动薪酬制度
  7. 博文The Illustrated Transformer 的PDF格式
  8. ArcGIS教程:趋势分析
  9. 重组后的中国移动该怎么样看待WLAN?
  10. 【数据可视化】基于scattertext的“十二五和十三五规划”文本分析