[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
agent_id int 渠道ID,默认为0
site_id int 广告位ID,默认为0
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解密后返回示例
  {
    "code": 1,
    "message":"ok",
    "info": {
    },
    "lists":[
        {
            "test":"test"
        }
    ]
  }
encrypt_data解密后返回参数说明
参数名 类型 说明
code int 返回码, 返回码
message string 返回提示, 返回码
info object object,业务不同返回不同
lists object[] object数组,业务不同返回不同
request_id string 请求唯一ID

登录和注册info加密统一返回

参数名 类型 说明
user_id int 用户ID
avatar string 用户头像
sex int 用户性别。0:未知,1:男,2:女
birthday string 出身日期
adult int 0:未知,1:未成年,2:已成年
token string 访问token
bind_phone int 是否绑定手机。0:未绑定,1:已经绑定
can_upgrade int 账号是否可升级。0:不可升级,1:可以升级

加密附录

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 ""