全部产品

API说明及外部监听事件

更新时间:2020-07-29 14:31:15

Android端阿里云游戏平台PaaS SDK目前提供了以下API调用方法及外部监听事件的说明示例。

API方法及说明描述

API描述
init初始化SDK,需要将accessKey/accessSecret字段传入,内部有鉴权逻辑,鉴权失败会返回101030
prepare将游戏相关参数传入,开始启动前的资源调度
stopPreparing停止排队
start将游戏容器交给sdk,开始启动游戏(游戏页内调用)
stop关闭游戏页时需要调用该方法,通知游戏服务器销毁实例
pause退到后台时调用该方法暂停游戏
resume返回前台时调用该方法恢复游戏
customGamepadEvent自定义手柄事件
defaultGenericMotionEvent使用sdk来处理物理手柄、键鼠事件
defaultKeyDown使用sdk来处理物理手柄、键鼠事件
defaultKeyUp使用sdk来处理物理手柄、键鼠事件
defaultTouchEvent使用sdk来处理touch事件
sendTextToGame发送文字或信息到游戏
setHidConfig设置当前某个配置项的启用状态(true表示启用)配置项参考CGHid
getHidConfig获取当前某个配置项的启用状态(true表示启用)配置项参考CGHid
requestRegionList请求当前游戏可以连接的服务器节点
getCurrentRegion游戏页中,获取当前游戏连接的服务器节点
setBitrate游戏页中设置码率,可设置的码率请参考401040事件
getVersion获取sdk的版本号

外部监听事件说明及示例

eventType

eventCode

eventMessage

10

101030

101040

101099

102010

102020

102030

租户鉴权出错

请求服务超时

请求服务异常

绑定长连接设备失败

绑定长连接服务失败

绑定用户失败

20

201010

可以启动游戏页Activity

30

301010

301020

301030

远程游戏插件包未加载成功

远程游戏插件包加载成功

远程游戏插件包加载失败

40

401010

401020

401040

json数据(节点列表返回数据:RegionObj)

json数据(排队接口返回数据,包括排队中、取消排队和排队完成:CGSlotObj)

json数据(允许切换的码率列表:GameBitRateObj)

50

501010

501020

502010

502020

502030

502040

502050

502060

503010

503020

503030

503040

503050

503060

503070

504010

504020

504030

509010

509099

退出游戏中(正在存档和资源清理)

调度失败(端侧决定发起重新调度)

游戏数据异常

游戏未上线

不是租户的游戏

不是项目的游戏

租户项目并发数为0

租户游戏服务器维护中

租户错误

租户ak为空

租户项目为空

用户ID为空

同一个用户同时频繁点击

无可用游戏实例

游戏未对用户授权

系统出错

服务不可用

参数解析异常

调度异常(ip/port为空)

其它未知调度异常

60

601010

601020

601030

601040

609010

上次退出游戏存档失败

上次退出游戏未知异常

游戏容器初始化失败

游戏容器初始化超时

容器初始化异常(ip/port为空)

200

2001011

2001012

2001013

2001020

2001030

2001040

2001041

2001050

2001060

2001070

2001071

2001080

其它

玩家在游戏内点击了退出游戏

因长时间未操作导致踢出游戏

因账户在其它设备登录而被踢出游戏

连接服务器用户鉴权失败

启动过程中,回到后台导致游戏启动失败

连接服务器失败

服务器连接断开

服务器停止了游戏

游戏启动超过加载时间了而断开

游戏卡住,服务器运行环境出问题

游戏异常退出导致服务中断

尝试连接的游戏服务器正在中止

服务停止

220

2201010

网络断开,游戏进入重连状态

230

2301010

游戏重连成功

250

2501010

游戏重连失败

270

2701010

2701011

2701012

2701040

开始启动游戏实例

服务器连接成功

启动鉴权成功

游戏画面准备就绪(启动完毕)

280

2801010

2801020

2801030

message值为码率

message值为帧率

message值为网络延迟

示例:外部如何监听sdk的通知

private BroadcastReceiver mLocalBroadcastReceiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Constants.ACTION_ACG_GAMEEVENT)) { 
            Bundle bundle = intent.getExtras(); 
            int eventType = bundle.getInt(Constants.EVENT_TYPE); 
            String eventCode = bundle.getString(Constants.EVENT_CODE); 
            String eventMessage = bundle.getString(Constants.EVENT_MESSAGE); 
            //todo your code 
        }
     }
 }