回忆远程推送的原理

回忆一下远程推送的过程数据库

远程推送:又称APNs服务器

   长链接:微信

       特色:传输速度快同步

       做用:系统升级(正常都是分批推送),查找个人iPhone产品

下面介绍一下远程推送的原理:登录

         1.设备的惟一标识:UDID.用来区别咱们的设备原理

         2.应用的惟一标识:bundleID.用来区别应用程序程序

     由于这二者牵扯用户的信息,因此苹果必定不会提供给咱们,所以苹果搞了一个DeviceToken(包含UDID和bundleID),因此只须要把DeviceToken传给苹果,苹果就能解析,这样就能够确认你手机上的应用方法

例子:微信的两个客户端A和B,首先保证这两个都是联网状态。数据

        如今A要发消息给B,经过微信服务器将消息传递给B。A和B的微信客户端都在前台,经过微信服务器就能够正常聊天

        当B的微信客户端不在前台时,这时A发送过来一条消息,这时就须要用到APNs

解释一下微信如何拿到DeviceToken,和传递DeviceToken

     1.当微信程序启动时,调用苹果提供的API生成DeviceToken,由于不会提供(UDID和bunldeID),因此只能拿到返回值,而后保存到服务器

     2.这样就能经过微信帐号得到DeviceToken,而后传给苹果(APNs)

     3.APNs收到消息后,经过长链接传递给对应的客户

 

目前想到的一些问题:

  1.假如更换设备了

      在从新登陆的时候,判断上传登陆的设备,更新数据库中的DeviceToken(之前的设备不能使用了)

  2.多点登陆问题(iPad 和 iPhone)

     判断设备类型,保存多个DeviceToken到数据库中,这个取决于产品的需求

  3.显示信息这块:显示信息为4条,再推送一条,应该是5条

                         点开后应该为0 或者为 5

           第一种方法,计数器减减

           第二种方法:计数器清零

           客户端与服务器同步

相关文章
相关标签/搜索