`
逍遥一狂
  • 浏览: 188406 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

消息推送系统设计

 
阅读更多

Push Notification系统设计

 

一. 数据库表设计

 

1. 设备令牌表device_token

 

device_id: 设备标识,主键

device_type: 设备类型iOS或Android,必须字段

device_token: 设备令牌,设备类型为iOS时必须字段

user_id: 用户标识,可以为空

 

 

2. Android消息表notication

 

device_id: 设备标识

user_id: 用户标识

content: 消息体

 

 

二. 接口设计

 

  1. 收集和更新设备令牌 post_device_token

请求参数: 同数据库表device_token

返回结果: 成功或失败标识

业务逻辑: 

  1. 以device_id为条件,没有纪录则新增,有纪录则更新
  2. user_id刚开始为空,用户登录后加入,用户登出后清空

 

  1. Android拉取消息 get_notification

请求参数: 

user_id: 用户标识,未注册用户或者已登出用户为空

device_id: 设备标识,必须参数

返回结果: 未推送消息列表

业务逻辑: 

  1. 有消息时纪录到表Notification中
  2. 拉取时根据user_id和device_id进行匹配,2个字段任1个匹配即可。注意:user_id相同时要排除空user_id
  3. 客户端拉取后立即清除

 

 

三. 推送消息

 

  1. iOS根据deviceToken直接发送;Android将消息纪录在Notification表中,等待拉取。
  2. 用户相关的消息,根据user_id为过滤条件,为用户发送消息。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics