wiki:AndroidPushInterface2

Version 2 (modified by xiawen, 14 years ago) (diff)

--

Android推送服务接口设计2

设计目标

目标范围约束开发时间
消息群发
(或单点)
sdk
server
魔方




TPS>1W
单台机5分钟300万次的响应能力



4周以内
预计10月底完成

接口地址:

    http://p.imofan.com/pull/{app_key}/{dev_id}/{ver_code}

接口请求参数定义:

参数名说明
app_key应用的唯一标识id,由魔方系统生成
dev_id设备的唯一标识,采用魔方数据分析的dev_id
ver_code对app_key、dev_id进行不可逆加密后的校验码

注意:

  • 参数必须用POST方式提交
  • 平台提供给客户端的api包发出请求的user-agent固定为:imofan pns client,若判断user-agent不匹配,则返回404

报文约定

请求报文JSON格式定义:

  {
    "app_list": [b5d3828499d0590600000001,b5d3828499d0590600000005,b5d3828499d0590600000008,b5d3828499d0590600000003],
    "ts_list":[201210111041,201210110952,201210110810,201210110320]
  }

请求报文定义说明:

返回值说明
app_listapp的key列表
ts_list对应app的最后一条消息的时间戳(年月日时分) 的列表,默认值为0

响应报文JSON格式定义:

  {
    "is_new": 1,  
    "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消息的时间戳