游戏运营sdk接入,手游渠道对接平台
区域服务模块提供获取服务器列表、角色列表的功能。
注意事项
注意1 :区域服务模块必须申请参数并由打包工具组成。 访问完成后,需要确认访问是否成功。
注意二:区服模块获取的信息仅显示玩家的历史角色、服务器、等级信息。
注意3 :区服模块提供的信息不能作为游戏活动的依据。
添加Android权限
根据接口的不同,需要按以下方式添加权限:
uses-permission Android:name=& amp; #039; Android.permission.internet & amp; #039; /
uses-permission Android:name=& amp; #039; Android.permission.write _ external _ storage & amp; #039; /
JavaCopy
获取区服列表
界面描述:获取区域衣服列表。
接口调用:
MapString,objectqueryservermap=newhashmapstring,object (;
查询servermap.put ( & amp; #039; opid&; #039; opid );
查询servermap.put ( & amp; #039; opGameId&; #039; opgameid );
queryservermap.put(yz_game_id ),gameId ); //开服系统gameId
查询servermap.put ( & amp; #039; 包id & amp; #039; packageid ); //包ID (选传) )
查询servermap.put ( & amp; #039; pageno&; #039;&; #039; 1&; #039; ); //区服分页、第几页、值必须为1以上的int类型。 非必需参数
查询servermap.put ( & amp; #039; 页面&映射; #039;&; #039; 1&; #039; ); //分区分页、每页的数据数和值必须为1或更大的int类型。 不是必需参数,而是、
查询servermap.put ( & amp; #039; backcolums&; #039;&; #039; [] ); //分区必须返回字段,并且值必须为JSONArray字符串。 参数不是必需的。 如果不传递,则缺省情况下返回列。 具体字段请参照附录
CYU100SDK.invoke(&; #039; XSDK&; #039;&; #039; 查询服务器& amp; #039;queryServerMap );
JavaCopy
接口召回:
privateonsdklistenermsdklistener=newonsdklistener {
@Override
publicvoidonsdk ( string modulename,String funcName,String result ) {
if(XSDK ).equals(modulename )、queryservers ).equals )、funcname ) {
try {
jsonobjectserverqueryjson=newjsonobject ( result );
string code=serverqueryjson.getstring ( & amp; #039; 代码);
string msg=serverqueryjson.getstring ( & amp; #039; msg );
if (! code.equals(&; #039; 1&; #039; ) ) ) }
log.d(tag ),)调查区服务失败,msg为) msg );
} else {
log.d(tag ),)查询区服务器成功。 返回的数据是) serverqueryjson.getjsonarray ),) data )。
}
}catch(JSONexceptione ) {
e .打印任务跟踪(;
}
}
}
(;
JavaCopy
日志打印:
{
&; #039; 代码& amp; #039; 1,
“msg”:“地区服装搜索成功”
&; #039; 数据和映射; #039; {
&; #039; 总计数& amp; #039; 2,
&; #039; list&; #039; [
{
&; #039; op_sid&; #039; &; #039; 1516440002&; #039;
&; #039; type&; #039; &; #039; 44&; #039;
&; #039; server_name&; #039; &; #039; 测试服2&; #039;
&; #039; is_recommend&; #039; &; #039; 1&; #039;
&; #039; first_opentime&; #039; &; #039; 1537372800&; #039;
&; #039; server_id&; #039; &; #039; 1516440002&; #039;
&; #039; new_style&; #039; &; #039; 3&; #039;
&; #039; is_active&; #039; &; #039; 1&; #039;
&; #039; server_URL&; #039; &; #039; s 1516440002-sbzh.c yu100.com & amp; #039;
(,
{
&; #039; op_sid&; #039; &; #039; 1516440001&; #039;
&; #039; type&; #039; &; #039; 44&; #039;
&; #039; server_name&; #039; &; #039; 测试服1&; #039;
&; #039; is_recommend&; #039; &; #039; 1&; #039;
&; #039; first_opentime&; #039; &; #039; 1537372800&; #039;
&; #039; server_id&; #039; &; #039; 1516440001&; #039;
&; #039; new_style&; #039; &; #039; 3&; #039;
&; #039; is_active&; #039; &; #039; 1&; #039;
&; #039; server_URL&; #039; &; #039; s 1516440001-sbzh.c yu100.com & amp; #039;
() ) ]
(,
}
JavaCopy
获取推荐衣服列表(可选) ) ) )。
界面说明:获取推荐衣服的列表。
接口调用:
MapString,objectqueryservermap=newhashmapstring,object (;
查询servermap.put ( & amp; #039; opid&; #039; opid );
查询servermap.put ( & amp; #039; opGameId&; #039; opgameid );
queryservermap.put(yz_game_id ),gameId ); //开服系统gameId
查询servermap.put ( & amp; #039; 包id & amp; #039; packageid ); //包ID (选传) )
查询servermap.put ( & amp; #039; pageno&; #039;&; #039; 1&; #039; ); //推荐分页,必须是第几页、值大于等于1的int类型。 非必需参数
查询servermap.put ( & amp; #039; 页面&映射; #039;&; #039; 1&; #039; ); //建议分页,每页的数据数必须为1或更大的int类型。 不是必需参数,而是、
查询servermap.put ( & amp; #039; iscache&; #039;&; #039; 1&; #039; ); //是否使用缓存数据:1:使用、0、不使用、非必需参数,默认使用缓存
查询servermap.put ( & amp; #039; backcolums&; #039;&; #039; [&; #039; cover_style&; #039; ] ); //建议的服务器必须返回字段,并且值必须为JSONArray字符串。 参数不是必需的。 如果不传递,则缺省情况下返回列。 具体字段请参照附录
SDK.invoke(XSDK,) queryRecoServers,queryServerMap );
JavaCopy
接口召回:
privateonsdklistenermsdklistener=newonsdklistener {
@Override
publicvoidonsdk ( string modulename,String funcName,String result ) {
if(XSDK ).equals(modulename ) queryrecoservers ).equals ) {
try {
jsonobjectserverqueryjson=newjsonobject ( result );
string code=serverqueryjson.getstring ( & amp; #039; 代码);
string msg=serverqueryjson.getstring ( & amp; #039; msg );
if (! code.equals(&; #039; 1&; #039; ) ) ) }
log.d(&; #039; tag )、&; #039; 推荐衣服的咨询失败了。 msg是&; #039; msg );
} else {
log.d(&; #039; tag&; #039;&; #039; 查询推荐服务器成功,返回的数据为&; #039; serverqueryjson.getjsonarray ) &; #039; 数据) );
}
}catch(JSONexceptione ) {
e .打印任务跟踪(;
}
}
}
(;
JavaCopy
日志打印:
{
&; #039; 代码& amp; #039; 1,
“msg”:“推荐服查询成功”、
&; #039; 数据和映射; #039; {
&; #039; 总计数& amp; #039; 2,
&; #039; list&; #039; [
{
&; #039; op_sid&; #039; &; #039; 1516440002&; #039;
&; #039; type&; #039; &; #039; 44&; #039;
&; #039; server_name&; #039; &; #039; 测试服2&; #039;
&; #039; is_recommend&; #039; &; #039; 1&; #039;
&; #039; first_opentime&; #039; &; #039; 1537372800&; #039;
&; #039; server_id&; #039; &; #039; 1516440002&; #039;
&; #039; new_style&; #039; &; #039; 3&; #039;
&; #039; is_active&; #039; &; #039; 1&; #039;
&; #039; cover_style&; #039; &; #039; 1&; #039;
&; #039; server_URL&; #039; &; #039; s 1516440002-sbzh.c yu100.com & amp; #039;
(,
{
&; #039; op_sid&; #039; &; #039; 1516440001&; #039;
&; #039; type&; #039; &; #039; 44&; #039;
&; #039; server_name&; #039; &; #039; 测试服1&; #039;
&; #039; is_recommend&; #039; &; #039; 1&; #039;
&; #039; first_opentime&; #039; &; #039; 1537372800&; #039;
&; #039; server_id&; #039; &; #039; 1516440001&; #039;
&; #039; new_style&; #039; &; #039; 3&; #039;
&; #039; is_active&; #039; &; #039; 1&; #039;
&; #039; cover_style&; #039; &; #039; 1&; #039;
&; #039; server_URL&; #039; &; #039; s 1516440001-sbzh.c yu100.com & amp; #039;
() ) ]
(,
}
JavaCopy
获取最近的登录角色信息(可选) ) )。
接口说明:获取最近登录的角色的信息。
接口调用:
MapString,objectqueryrolemap=newhashmapstring,object (;
queryrolemap.put(&; #039; opid&; #039; opid );
queryrolemap.put(&; #039; yz_game_id&; #039; gameId ); //开服系统gameId
queryrolemap.put(&; #039; OSDK_user_id&; #039; userId );
queryrolemap.put(&; #039; opgameId&; #039; opgameid );
查询servermap.put ( & amp; #039; 包id & amp; #039; packageid ); //包ID (选传) )
queryrolemap.put(&; #039; backcolums&; #039;&; #039; [op_sid] ); //分区必须返回字段,并且值必须为JSONArray字符串。 参数不是必需的。 如果不传递,则缺省情况下返回列。 具体字段请参照附录
SDK.invoke(XSDK,) queryLastRole,queryRoleMap );
JavaCopy
接口召回:
privateonsdklistenermsdklistener=newonsdklistener {
@Override
publicvoidonsdk ( string modulename,String funcName,String result ) {
if(XSDK ).equals(modulename )、querylastrole (.equals )、funcname ) {
try {
jonobjectrolequeryjson=newjsonobject ( result );
string code=rolequeryjson.getstring ( & amp; #039; 代码);
string msg=rolequeryjson.getstring ( & amp; #039; msg );
if (! code.equals(&; #039; 1&; #039; ) ) ) }
log.d(&; #039; tag )、&; #039; 角色询问失败了。 msg是&; #039; msg );
} else {
log.d(&; #039; tag&; #039;&; #039; 查询角色成功。 返回的数据是&; #039; rolequeryjson.getjsonarray ) &; #039; 数据) )。
}
}catch(JSONexceptione ) {
e .打印任务跟踪(;
}
}
}
(;
JavaCopy
日志打印:
{
&; #039; 代码& amp; #039; 1,
msg :“最后的角色信息查询成功”、
&; #039; 数据和映射; #039; {
&; #039; 扩展和映射; #039; &; #039; 在、
&; #039; yz_game_id&; #039; &; #039; 在、
&; #039; level&; #039;
&; #039; opid&; #039; &; #039; 在、
&; #039; role_id&; #039; &; #039; 在、
&; #039; role_name&; #039; &; #039; 在、
&; #039; server_id&; #039; &; #039; 在、
&; #039; osdk_user_id&; #039; &; #039; 在、
&; #039; vip_grade&; #039;
&; #039; roleCreateTime&; #039;
&; #039; 服务器信息& amp; #039; {
&; #039; first_opentime&; #039; &; #039; 在、
&; #039; is_active&; #039; &; #039; 在、
&; #039; new_style&; #039; &; #039; 在、
&; #039; server_id&; #039; &; #039; 在、
&; #039; server_name&; #039; &; #039; 在、
&; #039; type&; #039; &; #039; &; #039;
}
}
JavaCopy
获取角色列表
接口说明:获取角色列表。
接口调用:
MapString,objectqueryrolemap=newhashmapstring,object (;
queryrolemap.put(&; #039; opid&; #039; opid );
queryrolemap.put(&; #039; yz_game_id&; #039; gameId ); //开服系统gameId
queryrolemap.put(&; #039; OSDK_user_id&; #039; userId );
queryrolemap.put(&; #039; opgameId&; #039; opgameid );
查询servermap.put ( & amp; #039; 包id & amp; #039; packageid ); //包ID (选传) )
queryrolemap.put(&; #039; backcolums&; #039;&; #039; [op_sid] ); //分区必须返回字段,并且值必须为JSONArray字符串。 参数不是必需的。 如果不传递,则缺省情况下返回列。 具体字段请参照附录
SDK.invoke(&; #039; XSDK&; #039;&; #039; 查询角色& amp; #039; queryRoleMap );
JavaCopy
接口召回:
privateonssdklistenermsdklistener=newonsdklistener {
@Override
publicvoidonsdk ( string modulename,String funcName,String result ) {
if(XSDK ).equals(modulename )、queryroles ).equals )、funcname ) }
try {
jonobjectrolequeryjson=newjsonobject ( result );
string code=rolequeryjson.getstring ( & amp; #039; 代码);
string msg=rolequeryjson.getstring ( & amp; #039; msg );
if (! code.equals(&; #039; 1&; #039; ) ) ) }
log.d(&; #039; tag )、&; #039; 角色询问失败
&; #039; role_name&; #039; &; #039; 我觉得&; #039; 在、
&; #039; server_id&; #039; &; #039; 2072311068&; #039;
&; #039; osdk_user_id&; #039; &; #039; 0060015_1234&; #039;
&; #039; vip_grade&; #039; 12,
&; #039; roleCreateTime&; #039; 1519958050、
&; #039; 服务器信息& amp; #039; {
&; #039; first_opentime&; #039; &; #039; 在、
&; #039; new_style&; #039; &; #039; 在、
&; #039; op_sid&; #039; &; #039; 在、
&; #039; server_id&; #039; &; #039; 在、
&; #039; server_name&; #039; &; #039; ) &; #039;
&; #039; type&; #039; &; #039; &; #039;
}
(,
{
&; #039; 扩展和映射; #039; &; #039; 空& amp; #039;
&; #039; yz_game_id&; #039; &; #039; 94&; #039;
&; #039; level&; #039; 120、
&; #039; opid&; #039; &; #039; 2443&; #039;
&; #039; role_id&; #039; &; #039; 1519958050&; #039;
&; #039; role_name&; #039; &; #039; 我觉得&; #039; 在、
&; #039; server_id&; #039; &; #039; 2072311068&; #039;
&; #039; osdk_user_id&; #039; &; #039; 0060015_1234&; #039;
&; #039; vip_grade&; #039; 12,
&; #039; roleCreateTime&; #039; 1519958050、
&; #039; 服务器信息& amp; #039; {
&; #039; first_opentime&; #039; &; #039; 在、
&; #039; new_style&; #039; &; #039; 在、
&; #039; op_sid&; #039; &; #039; 在、
&; #039; server_id&; #039; &; #039; 在、
&; #039; server_name&; #039; &; #039; ) &; #039;
&; #039; type&; #039; &; #039; &; #039;
}
(,
{
&; #039; 扩展和映射; #039; &; #039; 空& amp; #039;
&; #039; yz_game_id&; #039; &; #039; 94&; #039;
&; #039; level&; #039; 120、
&; #039; opid&; #039; &; #039; 2443&; #039;
&; #039; role_id&; #039; &; #039; 1519958050&; #039;
&; #039; role_name&; #039; &; #039; 我觉得&; #039; 在、
&; #039; server_id&; #039; &; #039; 2072311068&; #039;
&; #039; osdk_user_id&; #039; &; #039; 0060015_1234&; #039;
&; #039; vip_grade&; #039; 12,
&; #039; roleCreateTime&; #039; 1519958050、
&; #039; 服务器信息& amp; #039; {
&; #039; first_opentime&; #039; &; #039; 在、
&; #039; new_style&; #039; &; #039; 在、
&; #039; op_sid&; #039; &; #039; 在、
&; #039; server_id&; #039; &; #039; 在、
&; #039; server_name&; #039; &; #039; ) &; #039;
&; #039; type&; #039; &; #039; &; #039;
}
}
]
}
JavaCopy
进入游戏
界面说明:进入游戏事件,统计每个角色进入游戏的时间,用于获取列表时的排序,上传进入游戏的时间。
接口调用:
MapString,objectentermap=newhashmapstring,object (;
entermap.put(&; #039; opid&; #039; opid );
entermap.put(yz_game_id ),gameId ); //开服系统gameId
entermap.put(OSDK_user_id (,userids [ muser view.getselecteditemposition ) ];
entermap.put(&; #039; 扩展和映射; #039;extend ); //选项
entermap.put(&; #039; level&; #039;roleLevel );
entermap.put(role_id ),roleId );
entermap.put(role_name ),roleName );
entermap.put(server_id ),serverId );
entermap.put(VIP_grade ),roleVip );
entermap.put(roleCreateTime,rolecreatetime ); //创角必传,游戏客户端取服务端时间戳作为创角时间
SDK.invoke(&; #039; XSDK&; #039;&; #039; enterGame&; #039;enterMap );
JavaCopy
创建角色
接口说明:在用户创建角色后调用。
接口调用:
MapString,objectcreatrolemap=newhashmapstring,object (;
creatrolemap.put(&; #039; opid&; #039; opid );
creatrolemap.put(&; #039; yz_game_id&; #039; gameId ); //开服系统gameId
creatrolemap.put(&; #039; OSDK_user_id&; #039; userId );
creatrolemap.put(&; #039; 扩展和映射; #039;&; #039; &; #039; ); //选项
creatrolemap.put(&; #039; level&; #039; roleLevelExtra;
creatrolemap.put(&; #039; role_id&; #039; roleIdExtra );
creatrolemap.put(&; #039; role_name&; #039;roleNameExtra );
creatrolemap.put(&; #039; server_id&; #039; serverId );
creatrolemap.put(VIP_grade ),roleVipExtra );
creatrolemap.put(&; #039; rolecreatetime&; #039;timeStap ); //创角必传,游戏客户端获取客户端时间戳,创角时间排名第10
SDK.invoke(&; #039; XSDK&; #039;&; #039; 创建角色& amp; #039; creatRoleMap );
JavaCopy
更新角色
接口说明:如果用户的角色信息发生更改,将调用。 例如,角色级别、角色名称等。
接口调用:
MapString,objectupdatamap=newhashmapstring,object (;
udatamap.put(opid )、opid );
udatamap.put(yz_game_id ),gameId ); //开服系统gameId
udatamap.put(OSDK_user_id ),userId );
udatamap.put(&; #039; 扩展和映射; #039;&; #039; &; #039; ); //选项
udatamap.put(level ),grade );
udatamap.put(role_id ),roleId );
udatamap.put(role_name ),roleN );
udatamap.put(server_id ),serverId );
udatamap.put(vip_grade ),VIP );
udatamap.put(roleCreateTime,rolecreatetime ); //创角必传,游戏客户端取服务端时间戳作为创角时间
SDK.invoke(XSDK )、updateRole (更新角色)和updataMap );
JavaCopy
删除角色(选择) )
接口描述:删除已经创建的角色。
接口调用:
MapString,objectdeletemap=newhashmapstring,object (;
eletemap.put(opid ),opid );
eletemap.put(yz_game_id ),gameId ); //开服系统gameId
deletemap.put(OSDK_user_id ),userId );
eletemap.put(&; #039; 扩展和映射; #039;&; #039; &; #039; ); //选项
eletemap.put(level ),grade;
eletemap.put(role_id ),roleId );
eletemap.put(role_name ),roleN );
deletemap.put(server_id ),serverId );
eletemap.put(vip_grade ),VIP );
eletemap.put(roleCreateTime,rolecreatetime ); //创角必传,游戏客户端取服务端时间戳作为创角时间
publicvoidonsdk ( string modulename,String funcName,String result ) {
if(XSDK ).equals(modulename ) deleterolenew ).equals
try {
jsonobjectroledeletejson=newjsonobject ( result );
string code=roledeletejson.getstring ( & amp; #039; 代码);
string msg=roledeletejson.getstring ( & amp; #039; msg );
if (! code.equals(&; #039; 1&; #039; ) ) ) }
log.d(&; #039; tag&; #039;&; #039; 删除角色失败: &; #039; msg );
} else {
log.d(&; #039; tag )、&; #039; 角色删除成功)、&; #039; msg );
}
}catch(JSONexceptione ) {
e .打印任务跟踪(;
}
}
}
(;
JavaCopy
日志打印:
{
&; #039; 代码& amp; #039; 1,
&; #039; msg&; #039; &; #039; 成功删除角色: success&; #039;
}
JavaCopy
设置上报间隔(可选)
界面说明:设置更新提升角色信息的时间间隔。 默认值为60秒。 传0表示每次更新时都一定要报告。
接口调用:
MapString,Long map=new HashMapString,Long (;
map.put(seconds ),10 ); //必传,为0以上的整形数字,最小为0,最大为600,单位/秒
SDK.invoke(XSDK )、) setUpdateInterval ( )和map ) )。
常见问题解答
问:接口返回无数据。
答:如果要在浏览器中访问请求链接,然后返回到无数据,则必须在服务启动系统的后台配置。
问:浏览器访问的数据与游戏界面返回的数据不一致。
检查opid、opgameid等参数是否正确,查看后台配置中是否存在内部网限制。