推送

iOS与Android的消息推送

2016-03-26  本文已影响749人  AYuan_

iOS 系统的推送(APNS,即 Apple Push Notification Service)

依托一个或几个系统常驻进程运作,是全局的(接管所有应用的消息推送),所以可看作是独立于应用之外,而且是设备和苹果服务器之间的通讯,而非应用的提供商服务器。

使用久经考验的协议,技术风险小。
苹果勇于承担责任:他需要维护一个代价不小的服务器集群,而且要为服务器的 down 机负责。

选择低风险的技术方案 Bug 更少,减轻了用户的痛苦,这是构架师的功劳。
苹果承担责任,尽可能的减少了不可控的意外,保证了用户体验。

APNs的优点

Android 的推送

Android 的推送:更像是传统桌面电脑系统做法。每个需要后台推送的应用有各自的单独后台进程,才能和各自的服务器通讯,交换数据。另外其实 Android 也有类似 APNS 的 GCM(Google Cloud Message),属于开发者可选,非强制。
Apps 挂后台一直是 Android 引以为豪的特性(虽然我真的不知道是好处多还是坏处多。。)大家挂后台等待推送就成为技术选择。

当然, Google 事后也提供类似苹果的推送方式GCM了。

用户的电池

题外话

Apps 的开发者不会站在系统层面考虑的。他会假设其他 Apps 没有那么“不自觉”。而 Google 不强制的结果就是:没人真正为用户的电池负责。

但是, Google 的方案也并非全是悲剧:
也因为整个技术方案非强制, Android 的 Apps 在接收到推送后的表现更为灵活。
像 Line 的 Android 版本可以在推送通知的 Popup 上直接回复, iOS 就需要越狱才能做到了。
强制和封闭,有时候并非坏事。他意味着做出这个决定的人,要为此负责。

所以,如果说苹果的推送方案有何创新?

我以为是超越技术,不惜让公司承担更多风险和责任的解决方案。(类似的还有 BB 的专用网络, Kindle 的全球 3G )

个人相信,担负起这些“额外”的责任,是值得的。。。

只要是为了用户。
勇于承担责任的公司也更像个可靠的成年人,而不是一个随意胡闹的孩子。

上一篇下一篇

猜你喜欢

热点阅读