全站数据
8 4 2 0 5 8 1

ios推送是如何实现的

专升本小吴 | 简单学习,快乐成才!         
问题更新日期:2024-10-15 03:55:30

问题描述

ios推送是如何实现的求高手给解答
精选答案
最佳答案

Notification Services是iOS机制的一个重要特色,是Apple为实现IP基础之上的"移动通讯寻呼"替代功能的重要举措。Google有类似的Push服务,但从结构上和功能上分析,都没有Apple的给力。

1 Notification解决的是下行推送问题,不涉及上行;

2 Apple负责建立独立的Notification服务器群,隔绝并代理所有第三方应用的服务器端(Server)针对自己应用的客户端(Client)所发起的推送服务;

3 Notification服务器独立建立自身和所有在iOS设备上开启Notification服务的客户端之间的推送关系和数据库,对客户端的识别方案建立在特别的Token上,一个iOS设备可以根据不同的应用申领不同的Token;

4 Notification服务器会将基于应用的数据库管理结果通报应用的服务器端,不影响第三方应用的业务逻辑和管理方式,透明;

5 Notification服务器建立并维护一一对应的Notification管道,到每一部开启Notification服务的iOS设备,具体形式为TLS-Https安全链接(基于IP),保活方式为每十五分钟触发一次,本质为应用层长链接,但效率有提升且集中管理;

6 Apple明文声明不保证推送的及时性和先后顺序,不建议将其作为IM工具的基础,但实际上Apple自有的Facetime和iMessenger类似IM的工具都建立在Notification基础之上,也确实有送不达、次序混乱的现象;

7 Apple很棒,系统初期即在iOS上植入Paging功能,高瞻远瞩,有取代运营商旁路整个3GPP体系的决心和才华,让人激赏!================增补说明的分割线=================有兄弟说关于7的问题,其实要自己领会,APNS体系和传统的Paging机制如出一辙,但并不依赖独立的控制信道,所以无线网络也不必迁就低速率的控制信道,将“寻呼”信令和业务一同放在IP层面上解决,是未来的网络趋势。当然这种方式不是尽善尽美,APNS下的Push没有回馈和没有保证可以实现简单的信息推送,但却无法用于更高级和要求更高的即时通讯场景,是个遗憾,也给Apple未来进步留下空间。看看iOS6体系下会不会有进步。