[TOC]

简要描述
  • 全局相关参数和配置
前置条件
参数 备注
game_id 游戏ID
api_key API MD5加密秘钥
encrypt_key API AES加密秘钥
协议(PROTOCOL)
  • https
接入地址(ENDPOINT)
  • xxx.xxx.com
模块(MODULE)
  • native
请求方式
  • POST
请求加密方式
  • AES
返回加密方式
  • AES
全局参数
参数名 必选 类型 说明
encrypt_data string AES加密提交的JSON数据
AES加密全局参数
参数名 必选 类型 说明
time int UNIX时间戳,单位:秒
nonce string 随机字符串
sign string MD5加密后数据
game_id int 游戏ID
channel_id int 联运渠道ID
agent_id int 渠道ID
site_id int 广告位ID
device_id string 设备码,安卓为IMEI,iOS为idfa
android_id string 安卓ID,安卓必填
oaid string 安卓oaid
idfv string iOS idfv,iOS必填
device_brand string 设备品牌
system_version string 系统版本号
model string 机型
network string 网络类型. 4G wifi unknown
app_version string APP版本号
sdk_version string SDK版本号
package_name string 包名
platform string 平台。ios、andriod
user_id int 登陆后必填,默认为0
token string 登录或者注册后token,用户相关必填
返回示例
  {
    "encrypt_data": "xxxxxxx",
    "request_id":"sfdsfdsfdfdsf"
  }
返回参数说明
参数名 类型 说明
encrypt_data string AES加密后数据。需要进行AES解密
request_id string 请求ID
encrypt_data解密后返回示例
  {
    "code": 1,
    "message":"ok",
    "info": {
    },
    "lists":[
        {
            "test":"test"
        }
    ]
  }
encrypt_data解密后返回参数说明
参数名 类型 说明
code int 返回码, 返回码
message string 返回提示, 返回码
info object object,业务不同返回不同
lists object[] object数组,业务不同返回不同

加密附录

MD5加密
  • 所有非空字段,按照键值ASCII码升序排列,以key=value形式,用&拼接,最后用api_key加拼接在最后生成加密字符串。
//除SIGN之外,POST参数
$params    =    [
    'time'        =>    time(),
    'nonce'        =>    'xxxxxx',
    'game_id'    =>    'xxxxx',
];

//按键值ASCII码升序排序
ksort($params);

$signData    =    [];

foreach ($params as $key =>    $value){
    if(!empty($value)){
        array_push($signData, sprintf('%s=%s', $key, $value));
    }
}

//拼接成加密字符串
$signStr        =    implode('&', $signData) . {api_key};

//MD5加密
$params['sign']    =    md5($signStr);
AES加解密

results matching ""

    No results matching ""