= Android推送服务接口设计2 = 设计目标 ||目标||范围||约束||开发时间|| ||消息群发[[BR]](或单点)||sdk[[BR]]server[[BR]]魔方||[[BR]][[BR]][[BR]][[BR]]TPS>1W[[BR]]单台机5分钟300万次的响应能力[[BR]][[BR]][[BR]][[BR]]||4周以内[[BR]]预计10月底完成|| 接口地址: {{{ http://apns.imofan.com/pull/{dev_id}/{app_id}/{ts}/{md5} }}} 接口请求参数定义: ||参数名||说明|| ||app_id||应用的唯一标识id的列表,由魔方系统生成|| ||ts||时间戳((time - 1325347200000L) / 1000)|| ||dev_id||设备的唯一标识|| ||md5||校验码 ( md5 = ts % app_id)|| '''报文约定''' 请求报文:无 响应报文JSON格式定义: {{{ { "messages": [ { "msg_id": 3516, "app_id": "1", "app_ver": ">=320", "os_ver": "<2.2", "content":"好消息...Android客户端已经可以推送消息了!", "ts":201210101156, "lang":"en" }, { "msg_id": 3517, "app_id": "2", "app_ver": ">=320", "os_ver": "<2.2", "content":"解放军已经实际控制钓鱼岛", "ts":201210101157, "lang":"cn" }, { "msg_id": 3518, "app_id": "2", "app_ver": ">=320", "os_ver": "<2.2", "content":"解放军已经实际控制钓鱼岛", "ts":201210101157, "lang":"all" }, ... ] } }}} 响应报文定义说明: ||返回值||说明|| ||messages||消息列表|| ||msg_id||消息id|| ||app_id||消息针对的应用appId|| ||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||消息的时间戳|| ||lang||语言(中文/英文/全部)|| 服务端设计思路: 使用netty提供服务,根据请求报文中的app_key以及时间戳来决定返回的消息。