Skip to content

高级功能

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;
    }
}

版权所有© 2021-2030 上海丞诺网络科技有限公司