游戏服务端接口对接测试工具使用指南
简介
本测试工具用于帮助游戏方验证服务端接口对接是否正确,特别是验签过程。工具提供了可视化的签名生成过程和测试功能,让对接过程更加直观和高效。
工具位置
测试工具文件:server-api-test-tool.html
可以直接在浏览器中打开使用,无需安装任何依赖。如需侧边栏入口,可点击此页或左侧目录的“接口对接测试工具”。
支持的接口
本工具支持以下四个接口的测试:
- 1.1 登录认证 - 游戏服务器向U8Server验证用户登录
- 1.2 支付回调 - U8Server回调游戏服务器的支付接口
- 1.4 奖励发放 - U8Server回调游戏服务器的奖励发放接口
- 1.7 广告播放奖励发放 - U8Server回调游戏服务器的广告奖励发放接口
使用方法
1. 打开工具
直接在浏览器中打开 server-api-test-tool.html 链接。
2. 选择要测试的接口
点击顶部的标签页切换到对应的接口测试页面。
3. 填写参数
根据接口要求填写相应的参数:
- 必填项:标记有红色星号(*)的字段
- 可选参数:已提供默认值,可根据需要修改
4. 生成签名
点击 "仅生成签名" 按钮,工具会:
- 显示详细的签名生成过程
- 展示每一步的签名字符串
- 生成最终的sign值
- 显示完整的请求数据
5. 测试请求
点击 "生成签名并发送测试请求" 按钮,工具会:
- 生成签名
- 发送测试请求到指定的服务器地址
- 显示服务器响应结果
- 验证响应是否符合预期
各接口详细说明
1.1 登录认证
用途:游戏服务器向U8Server验证用户登录
必填参数:
userID:U8Server返回的userIDtoken:U8Server返回的tokenappSecret:U8Server创建游戏时生成的AppSecret
验签规则:
sign = md5("userID=" + userID + "token=" + token + appSecret)
测试功能:
- 生成sign签名
- 可以选择不同的域名进行测试
- 发送GET请求到U8Server验证接口
注意事项:
- 由于浏览器CORS限制,直接测试U8Server接口可能会失败
- 建议使用生成的sign参数在游戏服务器代码中测试
- 或使用Postman等工具进行测试
1.2 支付回调
用途:U8Server回调游戏服务器的支付接口
必填参数:
游戏服务器回调地址:游戏服务器接收回调的URLAppSecret:U8Server为该游戏分配的AppSecret
验签规则:
- 提取data中的所有字段(排除signType和sign)
- 按字母顺序排列字段
- 构建签名字符串:
key1=value1&key2=value2&...&AppSecret - MD5加密:
sign = md5(signStr)
测试功能:
- 生成sign签名并显示详细过程
- 发送POST请求到游戏服务器回调地址
- 验证游戏服务器返回是否为"SUCCESS"
注意事项:
- 确保游戏服务器已实现该回调接口
- 如果出现CORS错误,需要在游戏服务器配置CORS
- 或使用Postman等工具进行测试
1.4 奖励发放
用途:U8Server回调游戏服务器的奖励发放接口
必填参数:
游戏服务器回调地址:游戏服务器接收回调的URLAppSecret:U8Server为该游戏分配的统一密钥
验签规则:
- 提取所有字段(排除sign)
- 按字母顺序排列字段
- 构建签名字符串:
key1=value1&key2=value2&...&AppSecret - 注意:空值也参与签名
- MD5加密:
sign = md5(signStr)
测试功能:
- 生成sign签名并显示详细过程
- 发送POST请求到游戏服务器回调地址
- 验证游戏服务器返回是否为"success"(小写)
注意事项:
- extra2字段是JSON字符串,需要正确格式化
- 空值也会参与签名计算
- 预注册奖励发放可能不提供roleID和serverID
1.7 广告播放奖励发放
用途:U8Server回调游戏服务器的广告奖励发放接口
必填参数:
游戏服务器回调地址:游戏服务器接收回调的URLAppSecret:U8Server为该游戏分配的统一密钥
验签规则:
- 提取所有字段(排除sign)
- 按字母顺序排列字段
- 重要:直接拼接参数值(不是key=value格式)
- 构建签名字符串:
value1value2value3...AppSecret - MD5加密:
sign = md5(signStr)
测试功能:
- 生成sign签名并显示详细过程
- 发送POST请求到游戏服务器回调地址
- 验证游戏服务器返回的error值(0:成功,1:已发放,2:错误)
注意事项:
- 此接口的签名方式与其他接口不同:直接拼接值,不是key=value格式
- time字段如果留空,会自动生成当前时间戳
- type字段:1表示发放奖励,2表示撤销奖励
常见问题
Q1: 为什么测试U8Server接口时出现CORS错误?
A: 这是浏览器的安全策略导致的。建议:
- 使用生成的sign参数在游戏服务器代码中测试
- 使用Postman、curl等工具进行测试
- 或联系U8Server配置CORS
Q2: 签名验证失败怎么办?
A: 请检查以下几点:
- 参数顺序:确保按字母顺序排列
- 字段排除:确保排除了sign和signType字段(支付回调)
- 空值处理:奖励发放接口的空值也要参与签名
- 签名格式:广告奖励接口是直接拼接值,不是key=value格式
- MD5格式:确保是32位小写MD5
- 密钥:确认使用的是正确的AppSecret(本工具已统一为AppSecret)
Q3: 如何验证游戏服务器的验签逻辑是否正确?
A: 使用本工具:
- 填写测试参数
- 点击"仅生成签名"
- 查看签名字符串的构建过程
- 在游戏服务器代码中按照相同逻辑生成签名
- 对比两个签名是否一致
Q4: 支付回调返回什么算成功?
A: 游戏服务器应该返回字符串 "SUCCESS"(大写),其他任何返回都视为失败。
Q5: 奖励发放返回什么算成功?
A: 游戏服务器应该返回字符串 "success"(小写),其他任何返回都视为失败。
Q6: 广告奖励返回什么算成功?
A: 游戏服务器应该返回JSON格式:
{"error": 0, "msg": "success", "data": ""}
- error: 0 表示成功
- error: 1 表示已发放(也算成功)
- error: 2 表示其他错误
验签规则对比表
| 接口 | 排除字段 | 排序方式 | 拼接格式 | 空值处理 |
|---|---|---|---|---|
| 1.1 登录认证 | 无 | 固定格式 | userID=xxx&token=xxx&appSecret | - |
| 1.2 支付回调 | signType, sign | 字母顺序 | key=value&key=value&AppSecret | 参与 |
| 1.4 奖励发放 | sign | 字母顺序 | key=value&key=value&AppSecret | 参与 |
| 1.7 广告奖励 | sign | 字母顺序 | value1value2value3...AppSecret | 参与 |
技术支持
如果在使用过程中遇到问题,请联系技术支持人员,并提供:
- 使用的接口名称
- 填写的参数(隐藏敏感信息)
- 生成的签名字符串
- 错误信息或截图
更新日志
- v1.0.0 (2025-12-11)
- 初始版本
- 支持4个接口的测试
- 提供详细的签名生成过程展示