美文网首页IOS开发者学习笔记
13.点对点远程推送的实现思路

13.点对点远程推送的实现思路

作者: AYangGo | 来源:发表于2017-07-29 22:17 被阅读9次

    在这里我就以“摩拜单车”为例子,来阐述我认为实现的思路。这时候分两种情况,一种是自己服务器管理deviceToken,一种是集成第三方推送(以极光推送为例子)

    一.自己服务器管理deviceToken

    • 1 当程序打开,我们会注册远程推送通知,这时候在得到苹果服务器给我们的deviceToken以后,我们会将我们的用户信息和deviceToken发送给我们自己的服务器;
    • 2 在扫码的时候,我们会把用户的信息和车的信息发送给服务器;
    • 3 服务器在接收上诉两个请求之后,会将用户和deviceToken和车关联起来;
    • 4 当我们在骑完之后锁车的时候,锁这个终端会将车的信息发送给服务器;
    • 5 服务器在接收到锁发的信息之后,会根据车的信息找到用户,在根据用户找到deviceToken,然后再与苹果服务器进行交互,把deviceToken和要发的信息发送给苹果服务器;
    • 6 最后通过苹果服务器,根据发送过来的deviceToken,确定设备和程序,然后把信息发送过去

    二.极光服务器管理deviceToken

    • 1 当程序打开,我们会注册远程推送通知,这时候在得到苹果服务器给我们的deviceToken以后,我们会将deviceToken发送给极光服务器;
    • 2 极光服务器会反给我们一个RegistrationID,我们会把用户信息RegistrationID发送给我们自己的服务器;
      下面是获取RegistrationID的核心代码
    [JPUSHService registrationIDCompletionHandler:^(int resCode, NSString *registrationID) {
        NSLog(@"resCode : %d,registrationID: %@",resCode,registrationID);
    }];
    
    • 3 在扫码的时候,我们会把用户的信息和车的信息发送给服务器,这时候会在两个地方存储着RegistrationID,一个是极光服务器,一个是我们自己的服务器,这很重要,它是一个纽带;
    • 4 服务器在接收上诉两个请求之后,会将用户和RegistrationID和车关联起来;
    • 5 当我们在骑完之后锁车的时候,锁这个终端会将车的信息发送给服务器;
    • 6 服务器在接收到锁发的信息之后,会根据车的信息找到用户,在根据用户找到RegistrationID,然后再与极光服务器进行交互,把RegistrationID和要发的信息发送给极光服务器;
    • 7 极光服务器在根据RegistrationID找到对应的deviceToken,然后将信息和deviceToken发送给苹果服务器;
    • 8 最后通过苹果服务器,根据发送过来的deviceToken,确定设备和程序,然后把信息发送过去

    这个思路仅供参考,这只是个人观点,如有错误,也希望指正,一起成长。

    相关文章

      网友评论

        本文标题:13.点对点远程推送的实现思路

        本文链接:https://www.haomeiwen.com/subject/munclxtx.html