API说明及外部监听事件

更新时间:

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

API方法及说明描述

API

描述

init

初始化SDK,需要将accessKey/accessSecret字段传入,内部有鉴权逻辑,鉴权失败会返回101030

prepare

将游戏相关参数传入,开始启动前的资源调度

stopPreparing

停止排队

start

将游戏容器交给SDK,开始启动游戏(游戏页内调用)

stop

关闭游戏页时需要调用该方法,通知游戏服务器销毁实例

pause

退到后台时调用该方法暂停游戏

resume

返回前台时调用该方法恢复游戏

customGamepadEvent

customKeyboardEvent

customMouseEvent

自定义手柄事件

自定义键盘事件

自定义鼠标事件

setDefaultGamepadIndex

defaultGenericMotionEvent

defaultKeyDown

defaultKeyUp

defaultTouchEvent

设置SDK中内置手柄的index

使用SDK来处理物理手柄、键鼠事件

使用SDK来处理物理手柄、键鼠事件

使用SDK来处理物理手柄、键鼠事件

使用SDK来处理touch事件

sendTextToGame

发送文字或信息到游戏

setHidConfig

设置当前某个配置项的启用状态(true表示启用)配置项参考CGHid

getHidConfig

获取当前某个配置项的启用状态(true表示启用)配置项参考CGHid

requestRegionList

请求当前游戏可以连接的服务器节点

getCurrentRegion

游戏页中,获取当前游戏连接的服务器节点

getVersion

获取SDK的版本号

loadPlugin

加载远程游戏插件

getGameSession

获取当前游戏会话(用于联机)

外部监听事件说明及示例

eventType

eventCode

eventMessage

10

101030

101040

101099

102010

102030

租户鉴权出错

请求服务超时

请求服务异常

绑定长连接设备失败

绑定用户失败

20

201010

可以启动游戏页Activity

30

301010

301020

301030

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

远程游戏插件包加载成功

远程游戏插件包加载失败

40

401010

401020

402010

402020

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

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

json数据(试玩时长相关字段)

json数据(游戏中试玩通知)

50

501010

501020

501030

501040

502010

502020

502030

502040

502050

502060

503010

503020

503030

503040

503050

503060

503070

504010

504020

504030

505010

509010

509099

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

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

游戏启动失败

联机会话已过期

游戏数据异常

游戏未上线

不是租户的游戏

不是项目的游戏

租户项目并发数为0

租户游戏服务器维护中

租户错误

租户ak为空

租户项目为空

用户ID为空

同一个用户同时频繁点击

无可用游戏实例

游戏未对用户授权

系统出错

服务不可用

参数解析异常

试玩结束

调度异常(ip/port为空)

其它未知调度异常

60

601010

601020

601030

601040

609010

上次退出游戏存档失败

上次退出游戏未知异常

游戏容器初始化失败

游戏容器初始化超时

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

70

701010

701020

因试玩结束停止游戏

因长时间未操作导致停止游戏

200

2001011

2001012

2001013

2001020

2001030

2001040

2001041

2001050

2001060

2001070

2001071

2001080

2001090

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

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

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

连接服务器用户鉴权失败

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

连接服务器失败

服务器连接断开

服务器停止了游戏

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

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

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

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

该用户被踢出游戏

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(CGGameConstants.ACTION_ACG_GAMEEVENT)) { 
            Bundle bundle = intent.getExtras(); 
            int eventType = bundle.getInt(CGGameConstants.EVENT_TYPE); 
            String eventCode = bundle.getString(CGGameConstants.EVENT_CODE); 
            String eventMessage = bundle.getString(CGGameConstants.EVENT_MESSAGE); 
            //todo your code 
        }
     }
 }

CGHid

手柄模式信息

public enum CGHid

常量参数

名称(含声明参数)

说明

HID_VIRTUAL("virtualGamePadEnabled",1)

虚拟手柄模式

HID_TOUCH("touchEventEnabled",2)

触摸屏模式

HID_PHYSICAL("physicalGamePadEnabled",3)

物理手柄模式

HID_MOUSE("mouseEnable",4)

鼠标模式

HID_KEYBOARD("keyboardEnable",5)

键盘模式