跳到主要内容

接口文档

接口列表

环境准备相关

云渲染使用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_PLAYERGameStatusEvent.OnStartGamePlayer游戏开始时产生回调
ON_GAME_SESSION_STATUS_CHANGEDGameStatusEvent.OnGameSessionStatusChanged游戏分配信息发生变化时回调
ON_GET_SESSIONGameStatusEvent.OnGetSession游戏分配成功时回调
ON_START_GAME_SUCCESSGameStatusEvent.OnStartGameSuccess游戏启动成功时回调
ON_START_GAME_FAILEDGameStatusEvent.OnStartGameFailed游戏启动失败时回调
ON_GAME_STOPPEDGameStatusEvent.OnGameStopped游戏已经运行之后停止时回调
ON_GAME_INVISIBLEGameStatusEvent.OnGameInvisible游戏页面被切换到后台时回调(与平台特性有关,不总是能够及时触发)
ON_GAME_RE_VISIBLEGameStatusEvent.OnGameReVisible游戏页面从后台切换回前台时回调

网络状态相关

网络状态变化时,Unity云渲染JS SDK采用事件回调的方式来进行触发。用户可以通过监听全局事件并且添加对应的处理逻辑。

事件名称引用名称描述
ON_LATENCY_UPDATENetQualityEvent.OnLatencyUpdate包含网络延时信息,固定时间间隔回调
ON_QP_UPDATENetQualityEvent.OnQpUpdate包含QP信息,固定时间间隔回调

接口描述

生命周期相关

GamePlayer.Init(htmlDivElement, clientInfo)

参数名称参数类型二级参数名称二级参数类型三级参数名称三级参数类型是否必填参数解释
htmlDivElementHTMLDivElement用于插入播放器的HTMLDivElement对象,对应HTML的<div>标签
clientInfoObject开始游戏时的客户端信息
appIdstring应用ID
frameRatenumber游戏帧率
videoAvgBpsnumber游戏平均码率
resolutionResolution游戏分辨率
widthnumber游戏分辨率-宽度
heightnumber游戏分辨率-宽度
rcSessionIdstring重新连接游戏的SessionId
launchParamsstring游戏启动参数
shareKeystring游戏分享码
passwordstring游戏分享密码
multipleIdentitiesstring用于复用的SessionKey,避免创建新GameSession,可以控制GameSession数量
isReconnectboolean是否重连
ignoreVisibleCheckboolean是否忽略对播放器页面visibility的事件监听,在监听的情况下进行页面切换会导致游戏重连
customerTagsMapmap自定义标签功能,详见高级功能自定义标签和查询
customerAuthTokenstring访问用户服务端进行鉴权时所需的token,详见高级功能自定义鉴权
disableAutoRotateboolean是否禁用自动旋转,默认为false,即默认会根据屏幕当前宽度和高度自动旋转画面
gameOrientationstring可选值:Orientation.LANDSCAPE、Orientation.PORTRAIT,即string类型”landscape“和”portrait“,游戏默认方向。默认为横屏方向,此设置会影响自动旋转的判断。
请注意。如果方向横屏,请保证传入的分辨率宽度大于高度;反之如果方向为竖屏,请保证传入的分辨率宽度小于高度。否则画面将无法铺满上层容器。
gameQualitynumber可选值:GameQuality.LOW_QUALITY、GameQuality.MEDIUM_QUALITY、GameQuality.HIGH_QUALITY。或者传入数字0、1、2,分别表示低、中、高画质

GamePlayer.launchGame()

无参数,需要先调用GamePlayer.Init(htmlDivElement, clientInfo)进行初始化

GamePlayer.StopGame(gameSessionId)

参数名称参数类型二级参数名称二级参数类型三级参数名称三级参数类型是否必填参数解释
gameSessionIdstring云游戏id,传入时会结束游戏,为空时仅停止流传输

游戏状态相关

GameStatusEvent.OnStartGamePlayer

触发点:游戏未成功启动前,调用launchGame时

事件详细信息:无

GameStatusEvent.OnGameSessionStatusChanged

触发点:游戏分配信息发生变化时

事件详细信息:

字段类型描述
detail.rankint排队序号,当status为assigned或queuing时有效
detail.progressfloat进度提示,取值范围(0,1),当status为downloading或extracting时有效
detail.statusstring取值范围:{'created', 'assigned', 'queuing', 'downloading', 'extracting', 'install_finished'}

GameStatusEvent.OnGetSession

触发点:游戏分配成功时

事件详细信息:

字段类型描述
detail.sessionIdstring创建游戏时生成的会话ID

GameStatusEvent.OnStartGameSuccess

触发点:游戏启动成功并且第一帧画面已经到达

事件详细信息:无

GameStatusEvent.OnStartGameFailed

触发点:游戏启动失败时

事件详细信息:

字段类型描述
detail.codeint错误码
detail.errorstring错误信息

错误码表格:

错误码枚举描述
1000ErrorCode.APPID_NOT_FOUNDAPPID无效,请检查APPID
1001ErrorCode.PARAMS_ERROR参数非法
1002ErrorCode.AUTH_ERROR鉴权失败,可能是STS未配置或者已经过期
1003ErrorCode.NETWORK_ERROR网络错误
1004ErrorCode.BROWSER_NOT_SUPPORT浏览器不支持webrtc
1005ErrorCode.RTC_ERRORwebrtc连接错误
1006ErrorCode.RESOURCE_ERROR资源耗尽
1007ErrorCode.CORS_ERROR跨域错误,请在安全设置页添加包含当前域名的应用源站点URL并与APP绑定
1008ErrorCode.CUSTOMER_AUTH_ERROR自定义鉴权错误,请检查安全设置中应用鉴权URL与代码中配置的鉴权token是否正确
1009ErrorCode.UNKNOWN_ERROR未知错误
1010ErrorCode.LICENSE_ERROR_INVALID许可证非法
1011ErrorCode.LICENSE_ERROR_EXPIRED许可证过期
1012ErrorCode.LICENSE_ERROR_LIMIT达到许可数量上限
1013ErrorCode.WRONG_PASSWORD分享密码错误

GameStatusEvent.OnGameStopped

触发点:游戏已经运行之后停止时

事件详细信息:无

GameStatusEvent.OnGameInvisible

触发点:游戏页面被切换到后台时(与平台特性有关,不总是能够及时触发)

注意项:当游戏页面被切换到后台时,游戏会被关闭

事件详细信息:无

GameStatusEvent.OnGameReVisible

触发点:游戏页面从后台切换回前台时

注意项:当游戏页面被切换到前台时,游戏将被新建

事件详细信息:无

网络状态相关

NetQualityEvent.OnLatencyUpdate

触发点:固定时间间隔

事件详细信息:

字段类型描述
detail.latencystring网络延时

NetQualityEvent.OnQpUpdate

触发点:固定时间间隔

事件详细信息:

字段类型描述
detail.qpstringQP信息