消息推送功能在移动互联网时代对于每一个App而言都非常重要,不过在iOS和Android平台上的消息推送差异很大,往小了说是技术实现的差异,往大了说是系统实现理念的不同。下面就从原理上简单介绍下两个平台上消息推送的区别。

iOS 系统的推送(APNS,即 Apple Push Notification Service)依托一个或几个系统常驻进程运作,是全局的(接管所有应用的消息推送),所以可看作是独立于应用之外,而且是设备和苹果服务器之间的通讯,而非应用的提供商服务器。举个例子,腾讯 QQ 的服务器(Provider)会给苹果公司对应的服务器(APNs)发出通知,然后再中转传送到你的设备(Devices)之上。当你接收到通知,打开应用,才开始从腾讯服务器接收数据,跟你之前看到通知里内容一样,但却是经由两个不同的通道而来。

Android,就不同,更像是传统桌面电脑系统做法。每个需要后台推送的应用有各自的单独后台进程,才能和各自的服务器通讯,交换数据。另外其实 Android 也有类似 APNS 的 GCM(Google Cloud Message),属于开发者可选,非强制。

但是因为Android系统的推送服务在国内无法使用,也就意味着我们需要使用第三方的推送服务。目前来说国内的推送服务比较推荐极光推送。可以选择使用免费服务,如果业务要求比较高,可以选择更有保障的付费服务。

关于推送服务技术,想要了解更多也可以咨询极光。

极光推送官方链接:https://www.jiguang.cn/push