| Version 4 (modified by xiawen, 14 years ago) (diff) |
|---|
Android推送服务接口设计2
设计目标
| 目标 | 范围 | 约束 | 开发时间 |
| 消息群发 (或单点) | sdk server 魔方 | TPS>1W 单台机5分钟300万次的响应能力 | 4周以内 预计10月底完成 |
接口地址:
http://p.imofan.com/pull/{app_id}/{ts}/{dev_id}/{ver_code}
接口请求参数定义:
| 参数名 | 说明 |
| app_id | 应用的唯一标识id的列表,由魔方系统生成 |
| ts | 时间戳列表 |
| dev_id | 设备的唯一标识,采用魔方数据分析的dev_id |
| ver_code | 对app_key、dev_id进行不可逆加密后的校验码 |
注意:
- 参数必须用POST方式提交
- 平台提供给客户端的api包发出请求的user-agent固定为:imofan pns client,若判断user-agent不匹配,则返回404
报文约定
请求报文:无
响应报文JSON格式定义:
{
"messages": [
{
"msg_id": 3516,
"app_key": "b5d3828499d0590600000006",
"app_ver": ">=320",
"os_ver": "<2.2",
"content":"好消息...Android客户端已经可以推送消息了!"
"ts":201210101156
},
{
"msg_id": 3517,
"app_key": "b5d3828499d0590600000001",
"app_ver": ">=320",
"os_ver": "<2.2",
"content":"解放军已经实际控制钓鱼岛"
"ts":201210101157
},
...
]
}
响应报文定义说明:
| 返回值 | 说明 |
| is_new | 是否有新消息,为1表示有新内容,为0表示没有新的消息 |
| messages | 消息列表 |
| msg_id | 消息id |
| app_key | 消息针对的应用appkey |
| app_ver | 消息针对的应用版本,可用>320、>=320、=320、<=320、<320五种形式,其中320为Android应用version code,必须是整数值 |
| os_ver | 消息针对的操作系统版本,可为>2.0、>=2.1、=3.0、<=4.0、<4.1五种形式,其中比较符后面的数字只能是两段式格式,不做更细的划分 |
| content | 消息正文 |
| ts | 消息的时间戳 |
服务端设计思路: 使用netty提供服务,根据请求报文中的app_key以及时间戳来决定返回的消息。
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)