# 扩展功能 ## 文档说明 本文档为游戏接入GTarcade平台的扩展模块提供指引。扩展模块包括:窗口大小设置、游戏通知用户、异常处理接口等,游戏接入方可选择需要的模块接入。 ## 重新登录 > 当游戏在某些情况下(修改语言、变更了设置),需要重新刷新游戏 **通信方式:** 游戏向微端请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :-------- | :--- | :--- | :---------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(2) | **返回结果** ``` { “code”:”登录状态”, “gta_id”:”每次启动 gta 的唯一 ID”,//每次启动 gta 的唯一 ID ”client_id”:”同上”,//每一个游戏分配的通信 ID ”msg_id”:”2”//写死2 } ```
## 重新启动游戏 > 关掉游戏,再重新启动游戏 **通信方式:** 游戏向微端请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :--------- | :--- | :--- | :---------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(4) | | needupdate | 是 | Str | 游戏是否需要更新 |
## 微端奖励 > 设定的一段时间内,在游戏窗口领取微端专属奖励,主要是为了鼓励用户使用微端 **通信方式:** 游戏向微端请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :-------- | :--- | :--- | --------------------------------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID,用于分辨每次通信接口,写死7 |
## 刷新 > 微端刷新当前游戏 **通信方式:** 微端向游戏请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :-------- | :--- | :--- | :---------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(8) |
## 游戏关闭 > 微端关闭当前游戏 **通信方式:** 微端向游戏请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :-------- | :--- | :--- | :---------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(10) |
## 打开新的窗口 > 游戏传输一个url打开微端的webview **通信方式:** 游戏向微端请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :-------- | :--- | :--- | :---------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(11) | | ”url” | 是 | Str | 需要打开的链接 |
## 游戏通知用户 > Window右下角通知,有回调 **通信方式:** 游戏向微端请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :------------- | :--- | :--- | :------------------------------------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(12) | | notify_id | 是 | Str | 按钮点击 id | | wnd_title | 是 | Str | 窗口标题 | | wnd_text | 是 | Str | 主体文字 | | icon_url | 是 | Str | icon 的下载路径 | | button_text | 是 | Str | 按钮文字 | | leve | 是 | Str | 推送的重要程度 | | activewnd_show | 是 | Str | 是否在游戏窗口活跃的时候显示(1 是肯定,0 是否定) | **返回结果** ``` { “gta_id”:”每次启动 gta 的唯一 ID”,//每次启动 gta 的唯一 ID ”client_id”:”同上”,//每一个游戏分配的通信 ID ”msg_id”:”12”//写死12 “notify_id”:""//按钮点击 id } ```
## 窗口大小设置 > 设置游戏的窗口大小 **通信方式:** 游戏向微端请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :-------- | :--- | :--- | :---------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(14) | | width | 是 | Str | 宽度 | | height | 是 | Str | 高度 |
## 是否关闭游戏 > 当用户关闭游戏(微端)窗口时的通知,主要作用是当用户关闭游戏时,可弹出一个挽留窗口 **通信方式:** 微端向游戏请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :-------- | :--- | :--- | :--------------------------------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID,用于分辨每次通信接口,写死15 |
## 游戏通知平台关闭游戏 > 与“是否关闭游戏”接口一起使用,当用户选择关闭游戏时的通知 **通信方式:** 游戏向微端请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :-------- | :--- | :--- | :---------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(16) | | closegame | 是 | Str | 1 关闭/0 不关闭 |
## 异常处理接口(可扩展) > 为了防止游戏方获取不到token,游戏方可主动多次请求微端平台的token > 如果游戏版本不对时,通知微端前端更新游戏版本 **通信方式:** 游戏向微端请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :---------- | :--- | :--- | :---------------------- | | account | 是 | Str | 账 号 | | g_id | 是 | Str | 游 戏 ID | | s_id | 是 | Str | 服务器ID | | op_id | 是 | Str | 渠道 ID | | msg_id | 是 | Str | 本地通信的消息 ID(17) | | error_state | 是 | Str | 错误类型 | **返回结果** ``` { “gta_id”:”每次启动 gta 的唯一 ID”,//每次启动 gta 的唯一 ID ”client_id”:”同上”,//每一个游戏分配的通信 ID ”msg_id”:”12”//本地通信的消息 ID,用于分辨每次通信接口,写死17 “error_code”:""//错误码 “code”:"token"//token } ``` 语言对应字段 ``` error_code==0:已经发送过 token error_code==1:正在请求 token error_code==2:token 请求失败 error_code==3:token 发送失败 error_code==4: token 请求成功,但未发送 error_code==5:未知原因 ```
## 游客模式通知用户绑定 > 用户如果以游客身份进入游戏,触发游戏绑定用户条件,通知微端进行绑定操作 **通信方式:** 游戏向微端请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :-------- | :--- | :--- | :---------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(18) |
## 游客模式用户是否绑定成功 > 游客模式用户绑定是否成功 **通信方式:** 微端向游戏请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :--------- | :--- | :--- | :--------------------------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(18) | | bind_state | 是 | Str | 0:成功;其他: 失败。 | | user_id | 是 | Str | 绑定用户新的user_id 用于校验是否成功绑定 |
## 获取机器相关设备信息 > 游客模式用户绑定是否成功 **通信方式:** 游戏向微端发起请求(TCP) **加密方式:** AES **数据格式:** JSON **参数内容:** | 参数名 | 必选 | 类型 | 说明 | | :---------- | :--- | :--- | :--------------------------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(19) | | device_type | 是 | Str | 请求设备信息类型 | | user_id | 是 | Str | 绑定用户新的user_id 用于校验是否成功绑定 | device_type格式: 可扩展字符串“0000”类型 0001:获取微端唯一id 0010:获取CPU序列号 0100:获取当前网卡序列号 1000:获取当前操作系统 可同时使用,例如同时获取微端唯一id和CPU序列号可以使用:“0011”字符串
#### 返回字段 | 参数名 | 必选 | 类型 | 说明 | | :--------- | :--- | :--- | :--------------------------------------- | | gta_id | 是 | Str | 每次启动 gta 的唯一 ID | | client_id | 是 | Str | 每一个游戏分配的通信 ID | | msg_id | 是 | Str | 本地通信的消息 ID(19) | | gta_client | 是 | Str | gta的clientid,唯一设备号 | | gta_cpu | 是 | Str | cpu序列号 | | gta_mac | 是 | Str | 网卡id | | gta_os | 是 | Str | 操作系统 | | user_id | 是 | Str | 绑定用户新的user_id 用于校验是否成功绑定 |