Appearance
高级功能
IMPORTANT
本文档中所述的接口,均为可选接口。 游戏可以根据自己的需求进行调用
获取当前渠道号
如果游戏层需要获取当前渠道包的渠道号, 可以调用如下API。 对应聚合SDK后台->渠道配置中,设置的渠道号。
java
U8SDK.getInstance().getCurrChannel();
展示隐私协议
如果打包工具中配置了自动隐私协议弹窗, 配置了用户协议和隐私政策URL, 那么游戏层后续也可以直接调用下面API,再次展示:
java
U8Platform.getInstance().showProtocol(MainActivity.this, 1); //0:隐私政策;1:用户协议
也可以直接指定URL:
java
U8Platform.getInstance().showProtocol(MainActivity.this, "https://xxxx/privacy");
重启游戏
如果游戏层需要有重启游戏的场景, 可以调用下面的API:
java
U8Platform.getInstance().restartGame(MainActivity.this);
使用内置webview打开URL
如果游戏层需要使用Android内置webview打开一个自定义的URL,可以调用如下API:
java
U8Platform.getInstance().showWebView(MainActivity.this, "title", "url");
获取当前账号的角色列表
本接口依赖角色信息上报,如果没有正确调用角色信息上报接口, 那本接口功能会异常。
java
U8Platform.getInstance().fetchMyRoles();
获取成功或失败, 会触发初始化监听器U8InitListener->onResult回调:
java
@Override
public void onResult(int code, String msg) {
switch (code){
case U8Code.CODE_MY_ROLES_FETCHED:
// 当前玩家的角色列表获取成功
// msg是json array格式,格式如下:
// [
// {
// "roleID":"1",
// "roleName":"test_11",
// "roleLevel":"1",
// "serverID":"1",
// "serverName":"测试1服",
// "vip":"1",
// "createTime":"2024-04-03 10:36:42",
// "lastLevelUpTime":"2024-04-03 10:36:42",
// "lastGameTime":"2024-04-03 10:36:42",
// "extraData":"111,222,333",
// "deviceID":"",
// "ip":"172.261.122.27"
// },
// {...}
// ]
// U8Platform.getInstance().fetchMyRoles(); 该接口对应的回调
Log.d("U8SDK", "fetch my roles success:"+msg);
break;
case U8Code.CODE_MY_ROLES_FETCH_FAILED:
Log.d("U8SDK", "fetch my roles failed:"+msg);
break;
}
}
获取服务器列表
为了提效游戏研发,我们在聚合SDK后台,增加了游戏服务器列表的管理。 游戏层可以将服务器列表托管在聚合SDK后台。
如果要获取后台配置的服务器列表,可以调用如下分页拉取接口:
java
U8Platform.getInstance().fetchServers(currPage, pageSize); //currPage:当前页,pageSize:每页拉取的服务器条目数量(单页最大不超过2000条)
获取成功或失败, 会触发初始化监听器U8InitListener->onResult回调:
java
@Override
public void onResult(int code, String msg) {
switch (code){
case U8Code.CODE_SERVERS_FETCHED:
// 服务器列表获取成功
// msg是json array格式,格式如下:
// [
// {
// "autoCloseTime":"",
// "autoOpenTime":"2024-04-03 00:00:00",
// "createTime":"2024-04-03 10:36:46",
// "extra":"",
// "internalID":"abcdefgh",
// "mergeServerIDs":"",
// "openTime":"2024-04-03 10:36:42",
// "payNotifyUrl":"",
// "serverAddr":"172.16.3.200:5000",
// "serverID":"2",
// "serverName":"青山绿水2服",
// "serverTags":"热门,新",
// "sortIndex":"0",
// "status":0
// },
// {...}
// ]
// U8Platform.getInstance().fetchServers(1, 10); 该接口对应的回调
Log.d("U8SDK", "fetch servers success:"+msg);
break;
case U8Code.CODE_SERVERS_FETCH_FAILED:
// 服务器列表获取失败
Log.d("U8SDK", "fetch servers failed:"+msg);
break;
}
}
获取公告消息列表
聚合SDK后台,支持配置公告消息。 游戏服务器可以通过API拉取公告消息进行展示:
java
MessageManager.getInstance().fetchAllMessages(0); //参数固定为0
获取成功或失败, 会触发初始化监听器U8InitListener->onResult回调:
java
@Override
public void onResult(int code, String msg) {
switch (code){
case U8Code.CODE_MESSAGE_FETCHED:
//公告消息获取成功,msg中是消息列表
// msg是json array格式,格式如下:
// [
// {
// "id":"1",
// "title":"连续登录有奖活动",
// "content":"<p>连续7日登录,可以获得如下奖励...</p>",
// "popupPos":"0",
// "customInfo":"{xx:xx}",
// "sortIndex":"1",
// "createTime":"2024-04-03 10:36:42"
// },
// {...}
// ]
Log.d("U8SDK", "fetch messages success:"+msg);
break;
case U8Code.CODE_MESSAGE_FETCH_FAILED:
//公告消息获取失败
Log.d("U8SDK", "fetch messages failed:"+msg);
break;
}
}