更新时间:2021-07-27 GMT+08:00
分享

启动云游戏

接口介绍

CloudApp的静态方法isSupport见获取当前环境是否满足SDK运行章节

if(CloudApp.isSupport()) {
	const cloudApp = new CloudApp(containerId, params);
}

功能描述

开启云游戏。

参数介绍

@param {string} containerId:渲染游戏视图的DOM元素id,必选

@param {object} params:启动相关配置,必选,详见表1

表1 参数说明

参数

是否必选

参数类型

描述

约束

ip

String

接入游戏使用的IP地址,即云手游服务器的EIP

可以通过“查询云手机详情”API获取,即响应消息中“public_ip”参数的取值。

说明:

如果对云手游服务器的EIP配置了域名,则使用域名代替EIP。

非空

port

String

接入游戏使用的端口

可以通过“查询云手机详情”API获取,即响应消息中“access_port”参数的取值。

非空

connect_uri

String

默认值为${ip}:${port}

如果业务有域名规划,可以在这里设置独立的连接uri

20.5.0-r1版本新增

-

package_name

String

要启动的游戏包名

非空

launcher_activity

String

要启动的游戏启动页名

非空

说明:20.6.0版本之后可以为空

app_id

String

云游戏唯一id

32位长度

session_id

String

用户本次接入游戏的会话id

32位长度

game_timeout

String

用户玩游戏时home的时长,单位是秒

非空

available_playtime

String

用户可以玩游戏的时长,单位是秒

大于等于0

0表示不启用该功能。

ticket

String

256位随机数

非空

aes_key

String

对称密钥,32位16进制字符串

32位长度

auth_ts

String

验签使用的时间戳

非空

token

String

玩家登录云端游戏的账号信息

非空

input_options

Object

用户支持外设的配置,默认为null,此时不支持鼠标键盘操作游戏,说明见表2,示例见调用示例中的inputOptions变量

-

touch_timeout

String

无操作超时的时长,单位是秒

说明:20.6.0版本新增此参数

大于等于0

0表示不开启该功能

说明:20.6.0版本约束为大于等于120

user_id

String

备用参数。

说明:20.6.0版本新增此参数

-

auto_rotate

Boolean

是否根据真机方向和游戏方向自适应旋转游戏画面

说明:

20.7.0版本新增此参数

若该参数设置为true,将根据真机方向和游戏方向自适应旋转显示游戏画面,而不跟随系统方向显示。

旋转后,containerId对应的DOM的宽高为浏览器可视区的宽高减去containerId父节点left/top值。

旋转后,containerId对应的DOM相对于原位置偏移,所以其外围不能显示其他内容,否则会被覆盖。

containerId对应的DOM须在首屏。

remote_ime

Boolean

是否使用真机输入法

说明:20.12.0版本新增此参数

-

表2 input_options说明

参数

是否必选

参数类型

描述

约束

keyboard

Object

键盘操作的配置,详情见表3,示例见调用示例中的inputOptions.keyboard变量

-

表3 keyboard说明

参数

是否必选

参数类型

描述

约束

${key}

Object

除WASD按键外其他按键对应屏幕的触控位置及滑动半径,相对于游戏视图左上角的偏移量百分比值,{left: 0.01, top: 0.09},如调用示例示例代码中inputOptions.keyboard的j,k,l配置项,表示按j键时触发屏幕按压

不能为w、a、s、d,${key}忽略大小写

wasd

Object

方向键对应屏幕的触控位置及滑动半径,相对于游戏视图左上角的偏移量百分比值,{left: 0.01, top: 0.09, radius: 0.1},固定使用键盘w、a、s、d键触发上、左、下、右

wasd忽略大小写

调用示例

以启动王者荣耀为例(要保证页面已经存在id为game-container的DOM元素),启动云游戏:

let inputOptions = {
	keyboard: {
		wasd: {
			left: 0.14,
			top: 0.79,
			radius: 0.3
		},
		j: {
			left: 0.58,
			top: 0.892
		},
		k: {
			left: 0.652,
			top: 0.892
		},
		l: {
			left: 0.742,
			top: 0.875
		}
	}
};
let session_id = "123e7654e89b12d3a412345655440000"; // 用户业务后台生成
let params = {
	ip: "117.3.111.4",
	port: "12345",
	connect_uri: "xxx.com:12345/abc",
	package_name: "com.tencent.tmgp.sgame",
	launcher_activity: "com.tencent.tmgp.sgame.SGameActivity",
	app_id: "123e7654e89b12d3a412345655440000",
	session_id: sessionId,
	game_timeout: "60",
	available_playtime: "6000",
	ticket: "123e7654e89b12d3a412345655440000123e7654e89b12d3a412345655440000123e7654e89b12d3a412345655440000123e7654e89b12d3a412345655440000123e7654e89b12d3a412345655440000123e7654e89b12d3a412345655440000123e7654e89b12d3a412345655440000123e7654e89b12d3a412345655440000",
	aes_key: "36728337b89f22122af4a6e08bb1e7c0",
	auth_ts: "123456789",
	token: "user_token",
	input_options: inputOptions
};
let cloudapp = new CloudApp("game-container", params);
分享:

    相关文档

    相关产品

close