zoukankan      html  css  js  c++  java
  • 14

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

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

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

    无论打开或者关闭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的数量取决于用户所装应用的数量
     
     
     
     
  • 相关阅读:
    javascript运行机制
    ios-scroll 和系统设置overflowscroll后卡顿
    input属性autocomplate背景颜色
    img 的onload事件和complate事件区别
    image图片之间缝隙bug解决方法
    gulp使用指南
    getQueryString
    decodeURI()和decodeURIComponent()函数
    css样式实现水平方向滚动
    I2C
  • 原文地址:https://www.cnblogs.com/chnyang/p/5625522.html
Copyright © 2011-2022 走看看