接口文档
接口列表
环境准备相关
云渲染使用WebRTC和Media来传输和播放游戏画面,所以只有支持WebRTC的浏览器才能够正常进入游戏,可以通过调用如下方法判断当前环境是否能够正常进行游戏。
接口名称 | 说明 |
---|---|
GamePlayer.CheckWebRtcSupport() | 返回布尔值,判断当前浏览器环境是否支持WebRTC |
画面相关
画面质量
在游戏进行过程中,SDK支持实时更改画面质量,可以通过调用如下方法来进行画面质量的调整。
接口名称 | 说明 |
---|---|
GamePlayer.changeGameQuality(quality) | quality可选值:GameQuality.LOW_QUALITY、GameQuality.MEDIUM_QUALITY、GameQuality.HIGH_QUALITY。或者传入数字0、1、2,分别表示低、中、高画质 |
分辨率设置
在游戏进行过程中,SDK支持实时更改分辨率,可以通过调用如下方法来进行分辨率的调整。
接口名称 | 说明 |
---|---|
GamePlayer.changeResolution(width, height) | 竖屏应用为正常显示width需要小于height |
生命周期相关
接口名称 | 说明 |
---|---|
GamePlayer.Init(htmlDivElement, clientInfo) | 初始化游戏播放器对象(可以使用new Gamelayer(htmlDivElement, clientInfo)方式初始化) |
GamePlayer.launchGame() | 启动游戏,启动异常错误信息清参考:(待补充) |
GamePlayer.stopGame() | 停止游戏 |
游戏状态相关
游戏状态变化时,Unity云渲染JS SDK采用全局事件回调的方式来进行触发。用户可以通过全局事件监听并且添加对应的处理逻辑。
事件名称 | 引用名称 | 描述 |
---|---|---|
ON_START_GAME_PLAYER | GameStatusEvent.OnStartGamePlayer | 游戏开始时产生回调 |
ON_GAME_SESSION_STATUS_CHANGED | GameStatusEvent.OnGameSessionStatusChanged | 游戏分配信息发生变化时回调 |
ON_GET_SESSION | GameStatusEvent.OnGetSession | 游戏分配成功时回调 |
ON_START_GAME_SUCCESS | GameStatusEvent.OnStartGameSuccess | 游戏启动成功时回调 |
ON_START_GAME_FAILED | GameStatusEvent.OnStartGameFailed | 游戏启动失败时回调 |
ON_GAME_STOPPED | GameStatusEvent.OnGameStopped | 游戏已经运行之后停止时回调 |
ON_GAME_INVISIBLE | GameStatusEvent.OnGameInvisible | 游戏页面被切换到后台时回调(与平台特性有关,不总是能够及时触发) |
ON_GAME_RE_VISIBLE | GameStatusEvent.OnGameReVisible | 游戏页面从后台切换回前台时回调 |
网络状态相关
网络状态变化时,Unity云渲染JS SDK采用事件回调的方式来进行触发。用户可以通过监听全局事件并且添加对应的处理逻辑。
事件名称 | 引用名称 | 描述 |
---|---|---|
ON_LATENCY_UPDATE | NetQualityEvent.OnLatencyUpdate | 包含网络延时信息,固定时间间隔回调 |
ON_QP_UPDATE | NetQualityEvent.OnQpUpdate | 包含QP信息,固定时间间隔回调 |
接口描述
生命周期相关
GamePlayer.Init(htmlDivElement, clientInfo)
参数名称 | 参数类型 | 二级参数名称 | 二级参数类型 | 三级参数名称 | 三级参数类型 | 是否必填 | 参数解释 |
---|---|---|---|---|---|---|---|
htmlDivElement | HTMLDivElement | 是 | 用于插入播放器的HTMLDivElement对象,对应HTML的<div> 标签 | ||||
clientInfo | Object | 是 | 开始游戏时的客户端信息 | ||||
appId | string | 是 | 应用ID | ||||
frameRate | number | 否 | 游戏帧率 | ||||
videoAvgBps | number | 否 | 游戏平均码率 | ||||
resolution | Resolution | 否 | 游戏分辨率 | ||||
width | number | 否 | 游戏分辨率-宽度 | ||||
height | number | 否 | 游戏分辨率-宽度 | ||||
rcSessionId | string | 否 | 重新连接游戏的SessionId | ||||
launchParams | string | 否 | 游戏启动参数 | ||||
shareKey | string | 否 | 游戏分享码 | ||||
password | string | 否 | 游戏分享密码 | ||||
multipleIdentities | string | 否 | 用于复用的SessionKey,避免创建新GameSession,可以控制GameSession数量 | ||||
isReconnect | boolean | 否 | 是否重连 | ||||
ignoreVisibleCheck | boolean | 否 | 是否忽略对播放器页面visibility的事件监听,在监听的情况下进行页面切换会导致游戏重连 | ||||
customerTagsMap | map | 否 | 自定义标签功能,详见高级功能自定义标签和查询 | ||||
customerAuthToken | string | 否 | 访问用户服务端进行鉴权时所需的token,详见高级功能自定义鉴权 | ||||
disableAutoRotate | boolean | 否 | 是否禁用自动旋转,默认为false,即默认会根据屏幕当前宽度和高度自动旋转画面 | ||||
gameOrientation | string | 否 | 可选值:Orientation.LANDSCAPE、Orientation.PORTRAIT,即string类型”landscape“和”portrait“,游戏默认方向。默认为横屏方向,此设置会影响自动旋转的判断。 请注意。如果方向横屏,请保证传入的分辨率宽度大于高度;反之如果方向为竖屏,请保证传入的分辨率宽度小于高度。否则画面将无法铺满上层容器。 | ||||
gameQuality | number | 否 | 可选值:GameQuality.LOW_QUALITY、GameQuality.MEDIUM_QUALITY、GameQuality.HIGH_QUALITY。或者传入数字0、1、2,分别表示低、中、高画质 |
GamePlayer.launchGame()
无参数,需要先调用GamePlayer.Init(htmlDivElement, clientInfo)进行初始化
GamePlayer.StopGame(gameSessionId)
参数名称 | 参数类型 | 二级参数名称 | 二级参数类型 | 三级参数名称 | 三级参数类型 | 是否必填 | 参数解释 |
---|---|---|---|---|---|---|---|
gameSessionId | string | 否 | 云游戏id,传入时会结束游戏,为空时仅停止流传输 |
游戏状态相关
GameStatusEvent.OnStartGamePlayer
触发点:游戏未成功启动前,调用launchGame时
事件详细信息:无
GameStatusEvent.OnGameSessionStatusChanged
触发点:游戏分配信息发生变化时
事件详细信息:
字段 | 类型 | 描述 |
---|---|---|
detail.rank | int | 排队序号,当status为assigned或queuing时有效 |
detail.progress | float | 进度提示,取值范围(0,1),当status为downloading或extracting时有效 |
detail.status | string | 取值范围:{'created', 'assigned', 'queuing', 'downloading', 'extracting', 'install_finished'} |
GameStatusEvent.OnGetSession
触发点:游戏分配成功时
事件详细信息:
字段 | 类型 | 描述 |
---|---|---|
detail.sessionId | string | 创建游戏时生成的会话ID |
GameStatusEvent.OnStartGameSuccess
触发点:游戏启动成功并且第一帧画面已经到达
事件详细信息:无
GameStatusEvent.OnStartGameFailed
触发点:游戏启动失败时
事件详细信息:
字段 | 类型 | 描述 |
---|---|---|
detail.code | int | 错误码 |
detail.error | string | 错误信息 |
错误码表格:
错误码 | 枚举 | 描述 |
---|---|---|
1000 | ErrorCode.APPID_NOT_FOUND | APPID无效,请检查APPID |
1001 | ErrorCode.PARAMS_ERROR | 参数非法 |
1002 | ErrorCode.AUTH_ERROR | 鉴权失败,可能是STS未配置或者已经过期 |
1003 | ErrorCode.NETWORK_ERROR | 网络错误 |
1004 | ErrorCode.BROWSER_NOT_SUPPORT | 浏览器不支持webrtc |
1005 | ErrorCode.RTC_ERROR | webrtc连接错误 |
1006 | ErrorCode.RESOURCE_ERROR | 资源耗尽 |
1007 | ErrorCode.CORS_ERROR | 跨域错误,请在安全设置页添加包含当前域名的应用源站点URL并与APP绑定 |
1008 | ErrorCode.CUSTOMER_AUTH_ERROR | 自定义鉴权错误,请检查安全设置中应用鉴权URL与代码中配置的鉴权token是否正确 |
1009 | ErrorCode.UNKNOWN_ERROR | 未知错误 |
1010 | ErrorCode.LICENSE_ERROR_INVALID | 许可证非法 |
1011 | ErrorCode.LICENSE_ERROR_EXPIRED | 许可证过期 |
1012 | ErrorCode.LICENSE_ERROR_LIMIT | 达到许可数量上限 |
1013 | ErrorCode.WRONG_PASSWORD | 分享密码错误 |
GameStatusEvent.OnGameStopped
触发点:游戏已经运行之后停止时
事件详细信息:无
GameStatusEvent.OnGameInvisible
触发点:游戏页面被切换到后台时(与平台特性有关,不总是能够及时触发)
注意项:当游戏页面被切换到后台时,游戏会被关闭
事件详细信息:无
GameStatusEvent.OnGameReVisible
触发点:游戏页面从后台切换回前台时
注意项:当游戏页面被切换到前台时,游戏将被新建
事件详细信息:无
网络状态相关
NetQualityEvent.OnLatencyUpdate
触发点:固定时间间隔
事件详细信息:
字段 | 类型 | 描述 |
---|---|---|
detail.latency | string | 网络延时 |
NetQualityEvent.OnQpUpdate
触发点:固定时间间隔
事件详细信息:
字段 | 类型 | 描述 |
---|---|---|
detail.qp | string | QP信息 |