玄兵小游戏APP对接
大约 2 分钟小游戏业务
流程
- 玩家进入兑换码页面,获取兑换码
- 下载并安装Apk,登录51平台账号,填写兑换码,进入游戏(此时看到的区服角色,是玩家小游戏的区服角色)
接口
1. 兑换码页面
- 51平台提供
2. 进入游戏
- 提供小游戏(h5版本)的进入游戏的链接,举个例子:参考PC进入游戏的链接 https://login.5251yx.com/51/?key1=key1&key2=key2&time=1698287439&token={token}
参数:
| 字段 | 必选 | 类型 | 说明 |
|---|---|---|---|
| uid | 是 | int | 账号ID |
| isapp | 是 | int | 是否app进入(0=否 1=app转包 2=app混包) |
| time | 是 | int | 当前时间戳(秒) |
| token | 是 | string | 校验码 |
| needjs | 否 | int | 是否需要外部js(0=不需要 1=需要) ; 当needjs=1时,需要研发人员加载一份JS代码 |
校验码生成
1. 参数按照字典排序,连接成字符串 2. 在第一步中生成的字符串,附加“密钥key”;将新的字符串进行md5加密,所得到的结果就是校验码 PHP代码举例 // 假设当前参数: isapp=1, time=1698287439, uid=1, needjs=1 ksort($data); // 参数字典排序 $arr = []; foreach ($data as $key => $value) { $arr[] = "{$key}={$value}"; } $str = implode('&', $arr); // 将参数连接成字符串 $secret = 'demo_secret'; // 密钥key $new_str = $str.$secret; // 附加“密钥key”, 生成新的字符串,当前生成的新字符串应该是:isapp=1&needjs=1&time=1698287439&uid=1demo_secret $token = md5($new_str); // md5加密JS代码
<script type="text/javascript" src="//h5.51.com/h5/api" charset="UTF-8"></script>
3. 支付
调起SDK支付(在App环境下使用):
FOJavaFunction.doPay(money, name, sid, roleId, roleName, orderId, desc, extendInfo)
参数:
| 字段 | 必选 | 类型 | 说明 |
|---|---|---|---|
| money | 是 | int | 充值金额(分) |
| name | 是 | string | 商品名称 |
| sid | 是 | string | 区服ID |
| roleid | 是 | string | 角色ID |
| rolename | 是 | string | 角色名 |
| orderid | 是 | string | 游戏订单号ID |
| desc | 是 | string | 描述(可以传空字符串) |
| extendInfo | 是 | string | 透传参数 |
透传参数
同微信小游戏发货一样
4. 发货
- 提供发货接口(复用小游戏现有的发货接口,平台做特殊处理)
5. 注意事项
- 去除微信相关功能:如 "游戏圈"、"呼朋唤友"、"订阅有礼"等等
- 建议:角色登录日志增加新的字段(来源:app转包),方便报表统计分析
6. 角色上报
角色上报(在App环境下使用):
FOJavaFunction.setRoleInfo(roleData['server_id'], roleData['server_name'], roleData['role_id'], roleData['role_nickname'], roleData['grade']);
参数:
| 字段 | 必选 | 类型 | 说明 |
|---|---|---|---|
| server_id | 是 | string | 区服ID |
| server_name | 是 | string | 区服名称 |
| roleId | 是 | string | 角色ID |
| roleName | 是 | string | 角色名称 |
| roleLevel | 是 | string | 角色等级 |
