Xsdk provides the function of extracting servers lists and saving game server-role list.
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.
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"/>
导入iOS需要的系统库
Foundation.framework
UIKit.framework
AdSupport.framework(optional)
SystemConfigration.framework
libsqlite3.0.tbd
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"
}]
},
}
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": ""
}
}
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": ""
}
}
]
}
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);
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);
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);
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"
}
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)
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 |