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为过滤条件,为用户发送消息。

更多相关文章

  1. Android使用贝塞尔曲线仿QQ聊天消息气泡拖拽效果
  2. 浅谈Android异步任务
  3. android studio 6.0以上动态申请权限的代码
  4. android onUserLeaveHint和onUserInteraction
  5. [Android]IPC通信之Messenger的使用方法介绍
  6. Android(安卓)权限表
  7. Activity Task & Android(安卓)lauchMode
  8. android WebView在应用内打开网页的问题
  9. Android之Searchable

随机推荐

  1. 详解Android提交数据到服务器的两种方式
  2. 自定义MediaPlayer控制组件
  3. Android(安卓)同时setTag两次保存多种值
  4. Kotlin For Android介绍
  5. 关于 Android(安卓)Drawable Resource学
  6. Android(安卓)进程间通讯之通过Intent+bu
  7. Service通过Broadcast更新UI
  8. Android(安卓)Path类
  9. Android快速开发框架ZBLibrary源码分享
  10. [Android]资源存储方法