玄兵小游戏APP对接

51游戏大约 2 分钟小游戏业务

流程

  • 玩家进入兑换码页面,获取兑换码
  • 下载并安装Apk,登录51平台账号,填写兑换码,进入游戏(此时看到的区服角色,是玩家小游戏的区服角色)

接口

1. 兑换码页面

  • 51平台提供

2. 进入游戏

参数:

字段必选类型说明
uidint账号ID
isappint是否app进入(0=否 1=app转包 2=app混包)
timeint当前时间戳(秒)
tokenstring校验码
needjsint是否需要外部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)
    

参数:

字段必选类型说明
moneyint充值金额(分)
namestring商品名称
sidstring区服ID
roleidstring角色ID
rolenamestring角色名
orderidstring游戏订单号ID
descstring描述(可以传空字符串)
extendInfostring透传参数
  • 透传参数

      同微信小游戏发货一样
    

4. 发货

  • 提供发货接口(复用小游戏现有的发货接口,平台做特殊处理)

5. 注意事项

  • 去除微信相关功能:如 "游戏圈"、"呼朋唤友"、"订阅有礼"等等
  • 建议:角色登录日志增加新的字段(来源:app转包),方便报表统计分析

6. 角色上报

  • 角色上报(在App环境下使用):

    FOJavaFunction.setRoleInfo(roleData['server_id'], roleData['server_name'], roleData['role_id'], roleData['role_nickname'], roleData['grade']);
    

参数:

字段必选类型说明
server_idstring区服ID
server_namestring区服名称
roleIdstring角色ID
roleNamestring角色名称
roleLevelstring角色等级