supersdk

文档中心

文档中心

下载文档

XSDK module


Xsdk provides the function of extracting servers lists and saving game server-role list.

Cautions

The role information acquired by the role SDK is only used to display the player previous roles, server, and level information, and cannot be used for other purposes in the game (for example, the level provided by the role SDK in the game cannot be used to judge whether the player reaches the activity level), the game developer cannot heavily rely on the role SDK. To use the role SDK, you need to fill in the configuration parameters in the packaging tool. After completing the integration, confirm with technical colleagues to verify whether the access is successful.

Add Android permissions (required)

Some interfaces need to add permissions as follows:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

Project Configuration (iOS)

导入iOS需要的系统库

 Foundation.framework
 UIKit.framework
 AdSupport.framework(optional)
 SystemConfigration.framework
 libsqlite3.0.tbd

extract the district server list (required)

Interface description: obtain server list

Interface invoking:

Dictionary<string, object> queryDic = new Dictionary<string, object>();
queryDic.Add("opid", oPId);
queryDic.Add("opgameid", opGameId);
queryDic.Add("yz_game_id", gameId);
queryDic.Add("pageNo", "1");//区服分页,第多少页,值必须大于等于1的int类型。非必传参数
queryDic.Add("pageSize", "1");//区服分页,每页数据条数,值须为大于等于1的int类型的值。非必须参数,
queryDic.Add("backColums", "[]");//区服返回字段,值须为JSONArray字符串。非必传参数,如果不传,则默认返回列。具体字段请参考附录
SuperSDK.getInstance().Invoke("xsdk", "queryServers", queryServerMap);

Interface callback:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    //平台模块回调
    if (moduleName.Equals("xsdk"))
    {
        if (funcName.Equals("queryServers"))
        {
            //处理登录回调
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            string data = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                //查询区服成功,数据在data中
            }
            else
            {
                //查询区服失败
            }
        }
    }
}

Return format of successful queried data :

{
 "code": 1,
 "msg": "查询区服成功",
 "data" : {
    "totalCount" : 2,
    "list" : [
      {
        "op_sid" : "1516440002",
        "type" : "44",
        "server_name" : "测试服2",
        "is_recommend" : "1",
        "first_opentime" : "1537372800",
        "server_id" : "1516440002",
        "new_style" : "3",
        "is_active" : "1",
        "server_url" : "s1516440002-sbzh.youzu.com"
      },
      {
        "op_sid" : "1516440001",
        "type" : "44",
        "server_name" : "测试服1",
        "is_recommend" : "1",
        "first_opentime" : "1537372800",
        "server_id" : "1516440001",
        "new_style" : "3",
        "is_active" : "1",
        "server_url" : "s1516440001-sbzh.youzu.com"
      }]
      },
}

Obtain the latest login role information (required)

Interface description: Obtain the latest login role information.

Interface invoke:

Dictionary<string, object> queryRoleMap = new Dictionary<string, object>();
queryRoleMap.Add("opid", oPId);
queryRoleMap.Add("yz_game_id", gameId);
queryRoleMap.Add("osdk_user_id", userId);
queryRoleMap.Add("opgameid", opgameId);
queryRoleMap.Add("backColums", "[op_sid]");// 区服返回字段,值须为JSONArray字符串。非必传参数,如果不传,则默认返回列。具体字段请参考附录
SuperSDK.getInstance().Invoke("xsdk", "queryLastRole", queryRoleMap);

Interface callback:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    //平台模块回调
    if (moduleName.Equals("xsdk"))
    {
        if (funcName.Equals("queryLastRole"))
        {
            //处理登录回调
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            string data = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                //查询角色信息成功,数据在data中
            }
            else
            {
                //查询角色信息失败
            }
        }
    }
}

Return format of successful queried data :

{
 "code": 1,
 "msg": "查询最后角色信息成功",
 "data": {
   "extend": "",
   "yz_game_id": "",
   "level": ,
   "opid": "",
   "role_id": "",
   "role_name": "",
   "server_id": "",
   "osdk_user_id": "",
   "vip_grade": ,
   "roleCreateTime": ,
   "serverInfo": {
     "first_opentime": "",
     "is_active": "",
     "new_style": "",
     "server_id": "",
     "server_name": "",
     "type": ""
   }
}

Obtain the role list(required)

Interface Description: Obtain the role list

Interface invoke:

Dictionary<string, object> queryRoleMap = new Dictionary<string, object>();
queryRoleMap.Add("opid", oPId);
queryRoleMap.Add("yz_game_id", gameId);
queryRoleMap.Add("osdk_user_id", userId);
queryRoleMap.Add("opgameid", opgameId);
queryRoleMap.Add("backColums", "[op_sid]");// 区服返回字段,值须为JSONArray字符串。非必传参数,如果不传,则默认返回列。具体字段请参考附录
SuperSDK.getInstance().Invoke("xsdk", "queryRoles", queryRoleMap);

Interface callback:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    //平台模块回调
    if (moduleName.Equals("xsdk"))
    {
        if (funcName.Equals("queryRoles"))
        {
            //处理登录回调
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            string data = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                //查询角色信息成功,数据在data中
            }
            else
            {
                //查询角色信息失败
            }
        }
    }
}

Return format of successful queried data :

{
 "code": 1,
 "msg": "查询角色信息成功",
 "data": [
   {
     "extend": "null",
     "yz_game_id": "94",
     "level": 120,
     "opid": "2443",
     "role_id": "1519958050",
     "role_name": "觉得就觉得",
     "server_id": "2072311068",
     "osdk_user_id": "0060015_1234",
     "vip_grade": 12,
     "roleCreateTime": 1519958050,
     "serverInfo": {
       "first_opentime": "",
       "new_style": "",
       "op_sid": "",
       "server_id": "",
       "server_name": ")",
       "type": ""
     }
   },
   {
     "extend": "null",
     "yz_game_id": "94",
     "level": 120,
     "opid": "2443",
     "role_id": "1519958050",
     "role_name": "觉得就觉得",
     "server_id": "2072311068",
     "osdk_user_id": "0060015_1234",
     "vip_grade": 12,
     "roleCreateTime": 1519958050,
     "serverInfo": {
       "first_opentime": "",
       "new_style": "",
       "op_sid": "",
       "server_id": "",
       "server_name": ")",
       "type": ""
     }
   },
   {
     "extend": "null",
     "yz_game_id": "94",
     "level": 120,
     "opid": "2443",
     "role_id": "1519958050",
     "role_name": "觉得就觉得",
     "server_id": "2072311068",
     "osdk_user_id": "0060015_1234",
     "vip_grade": 12,
     "roleCreateTime": 1519958050,
     "serverInfo": {
       "first_opentime": "",
       "new_style": "",
       "op_sid": "",
       "server_id": "",
       "server_name": ")",
       "type": ""
     }
   }
 ]
}

Entergame (required)

Interface Description: Entergame event, recording the time of when each character enters the game, use it to sort the list and upload those times.

Interface invoke:

Dictionary<string, object> enterMap = new Dictionary<string, object>();
enterMap.Add("opid", opId);
enterMap.Add("yz_game_id", gameId);
enterMap.Add("osdk_user_id", userIds[mUserView.getSelectedItemPosition()]);
enterMap.Add("extend", extend);                //可选               
enterMap.Add("level", roleLevel);
enterMap.Add("role_id", roleId);
enterMap.Add("role_name", roleName);
enterMap.Add("server_id", serverId);
enterMap.Add("vip_grade", roleVip);
enterMap.Add("roleCreateTime", roleCreateTime);//创角必传,游戏客户端可取服务端的时间戳,作为创角时间
SuperSDK.getInstance().Invoke("xsdk", "enterGame", enterMap);

Createrole (required)

Interface description: invoking after the user creates a role.

Interface invoke:

Dictionary<string, object> creatRoleMap = new Dictionary<string, object>();
creatRoleMap.Add("opid", opId);
creatRoleMap.Add("yz_game_id", gameId);
creatRoleMap.Add("osdk_user_id", userId);
creatRoleMap.Add("extend", "");              //可选 
creatRoleMap.Add("level", roleLevelExtra);
creatRoleMap.Add("role_id", roleIdExtra);
creatRoleMap.Add("role_name", roleNameExtra);
creatRoleMap.Add("server_id", serverId);
creatRoleMap.Add("vip_grade", roleVipExtra);
creatRoleMap.Add("roleCreateTime", timeStap);//创角必传,游戏客户端可取服务端的时间戳,作为创角时间, 10位
SuperSDK.getInstance().Invoke("xsdk", "createRole", creatRoleMap);

Update role (required)

Interface description: invoking when the user role is updated.

Interface invoke:

Dictionary<string, object> updataMap = new Dictionary<string, object>();   
updataMap.Add("opid", opId);
updataMap.Add("yz_game_id", gameId);
updataMap.Add("osdk_user_id", userId);
updataMap.Add("extend", "");                    //可选
updataMap.Add("level", grade);
updataMap.Add("role_id", roleId);
updataMap.Add("role_name", roleN);
updataMap.Add("server_id", serverId);
updataMap.Add("vip_grade", vip);
updataMap.Add("roleCreateTime", roleCreateTime);//创角必传,游戏客户端可取服务端的时间戳,作为创角时间
SuperSDK.getInstance().Invoke("xsdk", "updateRole", updataMap);

Delete role (optional)

Interface Description: invoking when a created role is deleted.

Interface invoke:

Dictionary<string, object> deleteMap = new Dictionary<string, object>();
deleteMap.Add("opid", opId);
deleteMap.Add("yz_game_id", gameId);
deleteMap.Add("osdk_user_id", userId);
deleteMap.Add("extend", "");                    //可选
deleteMap.Add("level", grade);
deleteMap.Add("role_id", roleId);
deleteMap.Add("role_name", roleN);
deleteMap.Add("server_id", serverId);
deleteMap.Add("vip_grade", vip);
deleteMap.Add("roleCreateTime", roleCreateTime);//创角必传,游戏客户端可取服务端的时间戳,作为创角时间
SuperSDK.getInstance().Invoke("xsdk", "deleteRole", deleteMap);

Interface callback:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    //平台模块回调
    if (moduleName.Equals("xsdk"))
    {
        if (funcName.Equals("deleteRole"))
        {
            //处理登录回调
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            if (code == SuperSDKConstants.SUCCESS)
            {
                //删除角色成功            }
            else
            {
                //删除角色失败
            }
        }
    }
}
数据返回格式:
{
 "code": 1,
 "msg": "删除角色成功:success"
}

Set the update interval (optional)

Interface Description: Sets the interval for updating the reported role information. The default value is 60 seconds. Transit 0 represents that each update must be reported.

Interface invoke:

Dictionary<string, object> updateMap = new Dictionary<string, object>();
updateMap.Add("seconds", 10);//必传,为大于等于0的整形数字,最小为0,最大600,单位/秒
SuperSDK.getInstance().Invoke("xsdk", "setUpdateInterval", updateMap)

Appendix

Constant string Description
socket_domain Socket domain name
socket_port Socket port
op_sid Operator District Server ID
is_active whether it is actived
is_recommend Whether to recommend
server_url District server address
recharge_url Recharge address
recharge_opentime Recharge open time
notice_opentime notification of opening time
fcm_time Anti-addiction time