ios系统为什么没有后台推送?
iOS 为了真正地为用户体验负责,不允许应用在后台活动。有了这个限制,但是对于终端设备,应用又是有必要“通知”到达用户的,随时与用户主动沟通起来的(典型的如聊天应用)。
这就是 APNs 的逻辑所在:iOS 自己做个长驻后台保持连接。所有应用,有必要(申请)并且被允许(用户可以改设置)的话,可以通过 APNs 中转到达用户。这样就完善了!
有可能很多人没有真正地体会到 iOS 不允许后台应用的好处。我是 Android 开发人员,Android 手机上一般只保留几个常用的应用,不常用就卸载。但是我的 iPhone / iPad 上则是,除非空间不足,一般不会删除应用。
Android 就像 Windows,你要真的很费心去维护:有软件在干背后干坏事么?设备又给拖慢了,要清理。要考虑杀毒了。。Android 因为后台可以长驻,尤其是国内的Android 的手机上 Google自家的推送服务 GCM 处于基本不可用的状态。
这里有移动开发市场上经常用的推送服务,推送服务,你也可以通过他们的特点和配置过程了解对比下,另外还有推送界的十大豪门推送。
android系统和ios系统是如何实现推送的
iOS 系统的推送(APNS,即 Apple Push Notification Service)依托一个或几个系统常驻进程运作,是全局的(接管所有应用的消息推送),所以可看作是独立于应用之外,而且是设备和苹果服务器之间的通讯,而非应用的提供商服务器。你的例子里面,腾讯
QQ 的服务器(Provider)会给苹果公司对应的服务器(APNs)发出通知,然后再中转传送到你的设备(Devices)之上。当你接收到通知,打开应用,才开始从腾讯服务器接收数据,跟你之前看到通知里内容一样,但却是经由两个不同的通道而来。
而 Android,就不同,更像是传统桌面电脑系统做法。每个需要后台推送的应用有各自的单独后台进程,才能和各自的服务器通讯,交换数据。另外其实 Android
也有类似 APNS
的GCM(Google Cloud Message),属于开发者可选,非强制。