14 - 苹果远程推送原理

APNs是远程推送通知服务,就是从远程服务器推送给客户端的通知(须要联网)服务器

首先,传统的获取数据的方法存在局限性:只要用户关闭了app,就没法和app的服务器进行沟通,没法从服务器上得到最新的数据内容app

APNs是为了苹果为了解决用户不能即时从服务器得到数据的解决方案iphone

不管打开或者关闭app,只要是联网了,均可以接收到服务器推送的远程通知
 
全部的苹果设备,在联网的状态下,都会与苹果服务器创建长链接——即只要联网了,就一直创建链接———长链接的做用,如时间校准,系统升级,查找个人iphone等
 
APNs的原理——以 为陌陌推送消息为例
 
A给B发送一条消息,此时B不在线,如何将消息推送到B的手机?  
 
首先,陌陌的的服务器只能在用户没有退出的前提下才能够和用户交互,用户接受到别人发送的消息,即时显示到本身的app.若是用户的app关掉,那只能经过苹果的APNs推送给用户
 
大致的流程----B发送的消息首先发送到默默的聊天服务器—陌陌拿到聊天数据而后发送给苹果的APNs服务器,APNs服务器负责将消息推送到用户的手机上
陌陌的服务器中保存着每一个用户的帐户信息,设备的惟一标识
APNs如何推送到具体到某个手机的具体的某个APP?—————
APNs若是想要推送一条消息给某个用户的具体某个APP,须要知道
1.哪一台设备(用户设备的惟一标识UIID)——陌陌服务器从客户端获取的,而且传给APNs的.————注意UUID是比较隐私的东西,陌陌服务器保存的是加密的UUID(本身看不到,只有苹果才能够解密)
2.这台设备的哪个APP((陌陌,仍是qq,给哪个APP推送),应用的惟一标识.
注意:UUID和APPID经过调用苹果的API,苹果对其进行加密以后,而后再给陌陌服务器,陌陌服务器保存的是DeviceToken,只有苹果才能够解密用户的UUID.
苹果解析DeviceToken.解密出UUID和APPID.推送给用户
DeviceToken的数量取决于用户所装应用的数量
 
 
 
 
相关文章
相关标签/搜索