消息推送系统设计

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为过滤条件,为用户发送消息。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值