您尚未登录

登录

您尚未登录

登录

推荐您使用PC浏览器访问

确定
  • 开发者中心
  • >
  • 云游戏
  • >
  • SDK开发指南
  • >
  • 云游戏基础SDK
  • >
  • WEB
  • >
  • v6.41

文档版本号:20231223-118

变更历史:

版本号 日期 更新内容
master-6.40 2023/12/23 1、切换清晰度方法Cloudplay.switchResolution()增加参数videoStreamWidth, videoStreamHeight。videoStreamWidth:视频流的宽度,videoStreamHeight:视频流的高度
2、全屏/退出全屏方法Cloudplay.fullScreenFn()增加参数isFullScreen。true:进入全屏,false:退出全屏
master-6.26 2023/8/8 1、新增启动参数isIgonreKeyboardEvent,屏蔽sdk内置按键功能
2、新增启动参数isIgonreMouseEvent,屏蔽sdk内置鼠标功能
3、新增Cloudplay.removeCacheCid()方法
master-6.19 2023/5/23 1、onSceneChanged回调函数中新增sensorList场景
2、新增Cloudplay.sendSensorData()发送sensor信息
3、onSceneChanged回调函数中新增noInputTimeRemind场景
4、新增Cloudplay.resetInputTimer()重置无操作超时计时器
5、新增 startGame启动参数onlyApply,当前页面仅申请游戏
6、onSceneChanged回调函数中新增playReady场景,标识播流地址已准备就绪
7、新增api调用,Cloudplay.startPlayer(),当前页面启动游戏播流(方法名称修改)
8、onSceneChanged回调函数中新增inputFocusNotify场景,云游戏中输入框获取焦点和失去焦点通知
9、onSceneChanged回调函数中play场景新增参数,cid、videoState、videoId
master-6.18 2023/3/22 1、新增Cloudplay.sendMessageToRom(),发送操作指令到实例
2、新增场景回调 resizeDone 标识sdk resize 结束
master-6.17 2023/1/12 1、onSceneChanged回调函数中新增intent场景,intent消息拦截回调
2、发送GPS坐标信息功能扩展,变更为发送消息到云游戏
master-6.16 2022/12/22 1、onSceneChanged回调函数中新增storage场景,云游戏中磁盘空间状态通知
master-6.14 2022/11/22 1、新增 Cloudplay.getCapture() arm游戏截图
master-6.10.1 2022/9/23 1、新增更新用户信息和游戏时长方法
2、启动游戏时增加richData字段,供接入方业务控制透传
3、新增国际化
4、新增安卓、微信、QQ、微博分享场景回调agentShare,新增分享事件返回json字段介绍
5、新增 Cloudplay.startHangUp() 开始下载保活
6、新增 Cloudplay.stopHangUp() 结束保活
7、新增 Cloudplay.getBigFileList() 获取文件列表
8、新增 Cloudplay.updateGameUID() 更新用户信息和游戏时长
9、新增 Cloudplay.requestVideoFrameCallback() 注册监听帧变化
10、新增 Cloudplay.removeRequestVideoFrameCallback() 移除监听帧变化
11、新增自定义工具栏参数toolbarDomId
12、videoStreamInfo场景新增frameWidth、frameHeight字段
master-6.7.1 2022/7/25 1、排队场景新增排队总人数
2、sendMessage、getFileList、downLoadFile、cancelDownLoadFile等方法,新增true/false返回值
master-6.6 2022/6/29 1、支持X86游戏播流
2、新增 Cloudplay.captureGameImage() 游戏截图方法
3、新增 Cloudplay.controlPowerDistribute() 控制权分配方法
4、新增 Cloudplay.controlPowerQuery() 控制权查询方法
5、新增 Cloudplay.sendInputSwitch() 输入法切换方法
6、新增 Cloudplay.setMouseMoveRatio() 设置鼠标移动速度方法
master-3.30 2021/11/23 1、WASD等功能键支持随窗口大小变化而改
master-3.27 2021/9/5 1、键位配置说明
2、sdk支持下载功能
3、新增场景回调 newFileAppear、fileList、downLoadFileInfo、cancelDownLoadFail
4、新增接口 获取可下载文件列表 Cloudplay.getFileList(option)
5、新增接口 文件下载Cloudplay.downLoadFile(name,callback)
6、新增接口 取消文件下载 Cloudplay.cancelDownLoadFile(name)
7、新增接口 重置无操作时长计时器 Cloudplay.resetInputTimer()
8、新增启动参数 noInputTimeout
master-3.21.1 2021/7/2 1、获取授权码
2、开启直播
3、关闭直播
4、检测是否支持直播
5、获取控制权

1 产品简介

欢迎使用海马云游戏服务,本文档主要介绍云游戏Web端SDK的接入流程及提供支持的API详情,开发者通过接入海马云游戏SDK,可以实现云游戏的播放、停止、状态回调等各类控制操作和数据交互,在海马云游戏端到端全栈云服务能力基础上,为用户带来顺畅的云游戏体验。在开始接入SDK前,请确认您已经拥有海马云游戏平台接入方ID并创建了渠道号,并已经完成了在海马云游戏平台上传游戏包等相关准备工作。

2 集成指引

在页面上引入 js 和 css 文件即可开始使用。

<!-- 引入样式 -->
<link rel="stylesheet" href="./saas-sdk.css">
<!-- 引入SDK -->
<script src="./saas-sdk.js"></script>

文件说明

文件名 说明
saas-sdk.css 云游戏SDK的css样式
saas-sdk.js 云游戏SDK的js插件
flowplayer RTMP播放器
language 云游戏SDK的多国语言包
images 云游戏SDK使用的图片资源

3 快速开始

示例代码:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" type="text/css" href="./saas-sdk.css">
    <title>云游戏</title>
</head>
<body>
    <div id="example"></div>
</body>
</html>
<script src="./saas-sdk.js"></script>
<script>
    var initSDK = {
        accessKeyId: "",
        channelId: "",
        onSceneChanged: function (sceneId, extraInfo) {
        },
        MessageHandler: function (message) {
        }
    };
    var startSDK = {
        userinfo: {
            uId: "",
            utoken: "",
        },
        pkgName: "",
        playingtime: 0,
        configinfo: 'configinfo',
        cToken: "",
        rotate: true,
        appChannel: ""
    };

    Cloudplay.initSDK(initSDK);
    Cloudplay.startSDK("#example", startSDK);
</script>

4 国际化

云游戏默认使用中文,若希望使用其他语言,则需要进行多语言设置。以英文为例,在html文件中:

<!-- 引入语言包 -->
<script src="./language/saas-sdk-en-US.js"></script>

5 场景回调

5.1 通用场景

参数说明

sceneId sceneId说明 extraInfo类型 extraInfo属性名 extraInfo属性说明
init 初始化 null - -
play 游戏开始 Object cid 本次云玩的cid
videoState 当前播放状态
videoId 播放器domId(使用非WebRTC为空)
stop 游戏结束 Object interval 本次游戏时间,单位为s
reason time_limit:本次游戏时间已到
no_operation:无操作超时
instance_err:云端实例出错
instance_limit:超过实例数的申请上限
queue_limit:排队人数过多,禁止排队
network_off:网络断开
token_expire:token鉴权失败
normal:正常调用
stopSDK:主动停止游戏
low_bitrate:网速太慢
log_off:注销
request_error:ajax请求报错
load_game_failed:游戏加载失败
verify_failed:验证失败
internal_error:内部错误
message 提示信息
stateChangeReason 通过调用服务端接口释放游戏时,透传的reason
errorCode 错误码(包含cid)
timeout 游戏时长到,但不结束游戏 Object interval 本次游戏时长,单位为s
message 提示信息
remainingTime 游戏剩余时长 Object time 剩余可用游戏时长,单位为s
countDown true:需要倒计时
false:不需要倒计时
wait 排队 Object reason showQueueInfo:显示当前的排队信息
applyGame:排队完成,正在进入游戏
whetherToQueue:是否进入排队,如果进入排队调用Cloudplay.enterQueue(),否则调用Cloudplay.outQueue()
message 提示信息
waitingPeople 等待人数
waitingTotalNum 等待总人数
waitingTime 预计等待时间,单位为s
totalTime 可用游戏时长 Object time 游戏时长,单位为s
message 提示信息
reconnectingStatus SDK重连状态提示 Object message 提示信息
offline 网络断开 Object message 提示信息
warning 出错提示 Object message 提示信息
loadPlayer 加载播放器 Object result true:成功
false:失败
crst 切换清晰度开始 Object source 当前清晰度id
des 目标清晰度id
cred 切换清晰度完成 Object result 0:失败
1:成功
cur_rate 当前清晰度id
method 0:手动
1:自动
resolutionList 清晰度列表 Object list list:数组 [{id:"", name:""}...]
selected 当前清晰度id
applyPinCode 获取授权码 Object result 0:失败
1:成功
cid 本次云玩的cid
pinCode 授权码
msg 提示信息
videoStreamInfo 视频流信息 Object videoFps 视频帧率,取不到为-1
bitRate 视频码率,取不到为-1
packetsLostRate 丢包率,取不到为-1
currentDelayMs 帧网络耗时,取不到为-1
decodeDelay 帧解码耗时,取不到为-1
renderDelay 帧渲染耗时,取不到为-1
frameSize 帧大小,取不到为-1
jitterBuffer 抖动,取不到为-1
framesReceived 收到的总帧数,取不到为-1
receiveFrameSize 收到帧的总大小,取不到为-1
delay 网络延迟,取不到为-1
codecImplementationName 编解码器名称,取不到为空字符串
codecName 解码器名称,取不到为空字符串
frameWidth 视频宽度,取不到为-1
frameHeight 视频高度,取不到为-1
gameScreenInfo 视频流的宽高 Object width 视频流宽
height 视频流高
playReady 播流地址已准备就绪 Object cid 本次云玩的cid
noInputTimeRemind 无操作超时即将到 Object noInputRemainingTime 无操作超时所剩时长,单位为s
message 提示信息
inputFocusNotify 输入框获取焦点和失去焦点通知 String - startIM:0.0000,0.9000:获取焦点及坐标
stopIM:失去焦点
startLiveState 开始直播通知 Object result 0:失败
1:成功
msg 提示信息
endLiveState 结束直播通知 Object result 0:失败
1:成功
msg 提示信息

5.2 ARM游戏

参数说明

sceneId sceneId说明 extraInfo类型 extraInfo属性名 extraInfo属性说明
qqup 云上调起了QQ应用 null
openGallery 打开相册 null
openCamera 打开摄像头 null
share 分享 null
storage 云游戏中磁盘空间状态通知 Object action 当前Action
usablePercentage 当前可用空间占用百分比
gps 请求gps信息 null - -
intent intent消息拦截通知 null - -
sensorList sensor通知 Array cmd 1:开启
0:关闭
samplingPeriodUs sensor采样频率,单位为μs
sendPeriodMs 发送sensor数据频率,单位为ms
sensorType sensor对应的type。参考: https://developer.android.google.cn/reference/android/hardware/Sensor
seizingControl 获取控制权事件 Object result 0:失败
1:成功
cid 控制权抢夺者cid
msg 失败提示语
getControl 获取控制权结果通知 Object result 0:失败
1:成功
newFileAppear 新的可下载文件 Object image_name 文件名称
fileList 可下载文件列表 Object list 可下载文件列表 [name1,name2...] 排序为倒序
downLoadFileInfo 下载文件状态 Object success true:成功
false:失败
msg 失败时为错误信息描述
fileBold 文件二进制流
fileType 文件的类型
fileSize 文件的大小
fileName 文件名称
cancelDownLoadFail 取消下载失败原因 Object msg 失败原因描述
newBigFile



新文件通知 Object



fileState 0:文件开始创建
1:文件创建完成
name 文件名称
url 文件下载地址
type 文件
duration 文件时长,单位为s。(文件类型为视频格式时该属性生效)
size 文件大小,单位为Byte
agentShare 状态通知,安卓分享、微信分享、QQ分享、微博分享等 Object fileList 当分享图片的时候,由fileList返回,包含了每张图片的绝对路径信息,支持多张图片信息
scene 微信分享的类型。好友分享、朋友圈分享,不是微信分享则为空。
friend:好友分享
moment:为朋友圈分享
android:分享无需传值
type android_share:安卓系统分享事件
weixin_share:微信分享事件
weibo_share:微博分享事件
qq_shareQQ:分享事件
shareType SHARE_IMAGE_WITH_TEXT:图文
SHARE_IMAGE_ONLY:纯图片
SHARE_TEXT:纯文本
SHARE_VIDEO:视频
share_link:链接
content 分享的文本内容
title 分享的标题
extraInfo webUrl:链接分享
mimeType:系统分享
videoUrl:视频分享
share_qq_ext_str:扩展字段
action 分享事件的action
mediaDeviceRequestNotify 请求打开摄像机、麦克风通知 Object action Camera:摄像机
Microphone:麦克风
data op:0 设备关闭
op:1 设备开启
distanceLimit 用户与机房距离超过限制 Object minDistance 用户与机房距离,单位为m
appNotForeground app当前不在前台运行 - - -
appCrash app崩溃 - - -

5.3 X86游戏

参数说明

sceneId sceneId说明 extraInfo类型 extraInfo属性名 extraInfo属性说明
gameControl 控制权状态通知 Object
state loses:失去
got:获得
cid 本次云玩的cid
gameExtraData 云端透传到客户端的消息 Object
sdkData 消息内容
cursorInfo 当前鼠标信息 Object
showOrHide true:显示鼠标指针
false:隐藏鼠标指针
gameCursorData 鼠标指针图片数据,图片为png格式
cursorWidth 鼠标指针图片宽
cursorHeight 鼠标指针图片高
cursorPos 初始鼠标位置
gameCursorData CURSOR_DEFAULT: 默认
CURSOR_CUSTOM: 自定义
CURSOR_ARROW: 箭头
CURSOR_HAND: 小手
CURSOR_HELP: 帮助
CURSOR_APPSTARTING: 箭头和沙漏
CURSOR_CROSS: 十字准线
CURSOR_IBEAM: 输入
clipBoard 透传云端剪切板数据 Object
data 数据内容

6 消息回调

参数说明

参数 类型 说明
message Object 消息内容,详见message属性说明

message属性说明

属性名 类型 说明
userId string 目标userId
from string 消息发送方标识
to string 消息接收方标识
mid string 消息ID
type int 消息类型,固定值为1
ack int 应答类型,固定值为0
payload string 消息内容

7 API说明

7.1 通用API

7.1.1 游戏流程管理

7.1.1.1 初始化

函数原型 :

Cloudplay.initSDK(opitons);

opitons属性说明

属性名 类型 必填项 说明
accessKeyId String 接入方唯一id
channelId String 接入方自行定义,主要方便接入方推广。如一个APK,发布到不同的推广平台时用不同channelId
isHideToolBar Boolean 是否隐藏toolbar,默认:false
true:隐藏
false:不隐藏
toolbarDomId String 自定义工具栏节点id,(自定义dom需在#example内为子元素,否则窗口缩放时工具栏位置将无法跟随),SDK不处理工具栏位置,需接入方自行调整全屏非全屏工具栏位置
onSceneChanged Function 场景切换回调函数,详见场景回调
MessageHandler Function 消息透传回调函数,详见场景透传

示例代码:

Cloudplay.initSDK({
    accessKeyId: "",
    channelId: "",
    onSceneChanged: function (sceneId, extraInfo) {
    },
    MessageHandler: function (message) {
    }
});

7.1.1.2 申请游戏

函数原型 :

Cloudplay.startSDK(domId, options);

参数说明

参数 类型 必填项 说明
domId Strings DOM节点id
options Object 申请游戏所需参数,详见options参数说明

options属性说明

属性名 类型 必填项 说明
userinfo Object 用户信息,详见userinfo属性说明
pkgName String 游戏包名称
appChannel String 游戏渠道号
cToken String 用来校验参数的有效性
playingtime String 本次可玩的总游戏时长,单位为s
configInfo String 免登录功能所需信息,如不使用,传任意非空字符串
rotate Boolean 游戏的横竖屏属性
true:竖屏游戏
false:横屏游戏
noInputTimeout Number 用户无操作断开时长,单位为s
onlyApply Boolean 仅申请游戏不播流
viewResolutionWidth Number 云端游戏画面宽
viewResolutionHeight Number 云端游戏画面高
isIgonreMouseEvent Boolean 是否禁用SDK鼠标事件处理,默认:false
true:禁用
false:不禁用
isIgonreKeyboardEvent Boolean 是否禁用SDK键盘事件处理,默认:false
true:禁用
false:不禁用
payStr String 支付相关参数,默认为空字符串
cid Number 在保活期内的cid。如果使用控制权转移功能,cid为被转移者的cid
priority Number 申请游戏服务的优先级,默认设置为0,值越大优先级越高
isArchive Boolean 是否存档,默认为false
true:存档
false:不存档
autoPlayAudio Boolean 是否自动播放音频,默认:false
true:是
false:否
pinCode Number 控制权被转移者的授权码
bitRate Number 清晰度码率,单位为KB(如:200、500、800)
protoData String 透传字段,服务器端状态同步方法透传使用
resolutionId Number 清晰度id
richData Object 接入方业务控制透传参数
extraId String 预留字段,传空字符串
archiveFromUserId String 被读取文档用户id
archiveFromBid String 被读取文档bid
componentType Number 组件类型
0:activity
1:service
2:broadcast
componentName String 指定的组件名, 格式(packageName/componentName),如(快手开心消消乐):com.happyelements.AndroidAnimal.kuaishou/com.happyelements.hellolua.MainActivity
action String 组件对应的action
extraData Object 免登参数,详见extraData属性说明

userInfo属性说明

属性名 类型 必填项 说明
uId String 自行定义32位以内a-z、0-9字符串
utoken String 自行定义32位以内a-z、0-9字符串
uType Number 用户类型,默认为0
0:普通用户
5:超级用户

extraData属性说明

属性名 类型 必填项 说明
booleanExtra boolean 向Intent中添加Boolean
integerExtra number 向Intent中添加Integer
integerArrayExtra array 向Intent中添加Integer数组
integerListExtra array 向Intent中添加Integer List
stringExtra string 向Intent中添加String
stringArrayExtra array 向Intent中添加String数组
stringListExtra array 向Intent中添加String List
floatExtra number 向Intent中添加Float
floatArrayExtra array 向Intent中添加Float数组
floatListExtra array 向Intent中添加Float List
longExtra number 向Intent中添加Long
longArrayExtra array 向Intent中添加Long数组
longListExtra array 向Intent中添加Long List
componentNameExtra string 向Intent中添加componentName
uriExtra object 向Intent中添加uri

示例代码:

Cloudplay.startSDK("#example", {
    userinfo: {
        uId: "",
        utoken: "",
    },
    pkgName: "",
    playingtime: 0,
    configinfo: 'configinfo',
    cToken: "",
    rotate: true,
    appChannel: ""
});

7.1.1.3 更新用户信息和游戏时长

函数原型 :

Cloudplay.updateGameUID(options, callback);

参数说明

参数 类型 必填项 说明
options Object 需要更新的信息,详见options参数说明
callback Function 回调函数,详见callback参数说明

options属性说明

属性名 类型 必填项 说明
playingTime Number 游戏时长,单位为ms
userInfo Object 用户信息,详见userInfo参数说明
cToken String 更新的 cToken,用来校验参数的有效性
tip String totalTime 场景回调的提示信息

userInfo属性说明

属性名 类型 必填项 说明
uId String 申请游戏时使用的uId
uToken String 申请游戏时使用的uToken
uType Number 申请游戏时使用的uType

callback参数说明

参数名 类型 属性名 说明
result Object
code 0:成功
非0:失败
msg 提示信息
示例代码:
Cloudplay.updateGameUID({
    playingTime: "",
    userInfo: {
        uId: "",
        uToken: ""
    }
}, function (result) {

});

7.1.1.4 结束游戏

函数原型 :

Cloudplay.stopGame(callback);

参数说明

参数 类型 必填项 说明
callback Function 回调函数,详见callback参数说明

callback参数说明

参数名 类型 属性名 说明
result Object
code 0:成功
非0:失败
msg 提示信息

7.1.2 界面UI管理

7.1.2.1 显示/隐藏键位设置菜单

函数原型:

Cloudplay.showKeyboardSet();

7.1.2.2 网页内全屏/退出网页内全屏

函数原型:

Cloudplay.webPageFullScreenFn();

7.1.2.3 全屏/退出全屏

函数原型:

Cloudplay.fullScreenFn(isFullScreen);

参数说明

参数名 类型 必填项 说明
isFullScreen Boolean true:进入全屏
false:退出全屏

7.1.2.4 隐藏/显示丢包率

函数原型:

Cloudplay.showDelayData();

7.1.2.5 切换清晰度

函数原型 :

Cloudplay.switchResolution(resolutionId, videoStreamWidth, videoStreamHeight);

参数说明

参数名 类型 必填项 说明
resolutionId String 目标清晰度id
videoStreamWidth String 视频流的宽度
videoStreamHeight String 视频流的高度

7.1.3 实例管理

7.1.3.1 获取cid

函数原型 :

var result = Cloudplay.getCid();

返回值说明

返回值 类型 属性名 说明
result Object cid 本次云玩的cid

7.1.3.2 移除缓存中的cid

函数原型 :

Cloudplay.removeCacheCid();

7.1.3.3 检测未释放游戏

函数原型 :

Cloudplay.checkPlayingGame(options);

options属性说明

属性名 类型 必填项 说明
userInfo Object 用户信息,详见userInfo参数说明
playingGame Function 回调函数,详见callback参数说明

userInfo参数说明

属性名 类型 必填项 说明
uId String 申请游戏时使用的uId
uToken String 申请游戏时使用的uToken
uType Number 申请游戏时使用的uType

callback参数说明

参数名 类型 属性名 说明
result Object
code 0:成功
非0:失败
errorMessage 提示信息
playingGame 未释放的游戏信息

示例代码:

Cloudplay.checkPlayingGame({
    userInfo: {
        uId: "",
        uToken: "",
    },
    playingGame: function (result) {
    },
});

7.1.3.4 释放指定实例

函数原型 :

Cloudplay.releasePlayingGame(option,callback(data));

options属性说明

属性名 类型 必填项 说明
cid String 需要释放的实例cid
appChannel String 同需要释放cid申请参数保持一致
pkgName String 同需要释放cid申请参数保持一致
playingtime number 同需要释放cid申请参数保持一致
cToken String 同需要释放cid申请参数保持一致
userInfo object 同需要释放cid申请参数保持一致

userInfo参数说明

属性名 类型 必填项 说明
uId String 申请游戏时使用的uId
uToken String 申请游戏时使用的uToken
uType Number 申请游戏时使用的uType

callback参数说明

属性名 类型 必填项 说明
data object code:
1:成功
0:失败

示例代码:

Cloudplay.releasePlayingGame({
    cid:"",
   channelId:"",
    pkgName: "",
    cToken: "",
    userInfo: {
        uId: "",
        uToken: "",
        uType: "",
    },
},function (data) {
    // console.log(`this is stop game call data : ${JSON.stringify(data)}`);
});

7.1.4 存档管理

7.1.4.1 获取游戏存档状态

函数原型 :

Cloudplay.getGameArchiveStatus(options);

options属性说明

属性名 类型 必填项 说明
userInfo Object 用户信息,详见userInfo参数说明
pkgName String 游戏包名称
appChannel String 游戏渠道号
ifCanPlay Function 回调函数,详见callback参数说明

userInfo参数说明

属性名 类型 必填项 说明
uId String 申请游戏时使用的uId
uToken String 申请游戏时使用的uToken
uType String 申请游戏时使用的uType

callback参数说明

参数名 类型 属性名 说明
result Object
code 0:成功
非0:失败
errorMessage 提示信息
ifCanPlay true:存档完成
false:正在存档中

示例代码:

Cloudplay.getGameArchiveStatus({
    userInfo: {
        uId: "",
        uToken: ""
    },
    pkgName: "",
    appChannel: "",
    ifCanPlay: function (result) {

    }
});

7.1.4.2 查询游戏是否存在存档

函数原型 :

Cloudplay.gameArchived(options);

options属性说明

属性名 类型 必填项 说明
userInfo Object 用户信息,详见userInfo参数说明
pkgName String 游戏包名称
appChannel String 游戏渠道号
hasArchive Function 回调函数,详见callback参数说明

userInfo参数说明

属性名 类型 必填项 说明
uId String 申请游戏时使用的uId
uToken String 申请游戏时使用的uToken
uType String 申请游戏时使用的uType

callback参数说明

参数名 类型 属性名 说明
result Object
code 0:成功
非0:失败
errorMessage 提示信息
hasArchive true:有存档
false:无存档

示例代码:

Cloudplay.gameArchived({
    userInfo: {
        uId: "",
        uToken: ""
    },
    pkgName: "",
    appChannel: "",
    hasArchive: function (result) {

    }
});

7.1.5 直播管理

7.1.5.1 是否支持直播功能

函数原型 :

var result = Cloudplay.isSupportLiving();

返回值说明

返回值 类型 说明
result Boolean true:支持
false:不支持

7.1.5.2 开始直播

函数原型 :

Cloudplay.startLiving(roomId, pushStreamAddress);

参数说明

参数名 类型 必填项 说明
roomId String 房间号
pushStreamAddress String 推流地址

7.1.5.3 停止直播

函数原型 :

Cloudplay.endLiving(roomId);

参数说明

参数名 类型 必填项 说明
roomId String 房间号

7.1.6 获取SDK版本号

函数原型 :

var result = Cloudplay.version();

返回值说明

返回值 类型 说明
result String SDK版本号

7.1.7 重置无操作超时计时器

函数原型 :

Cloudplay.resetInputTimer();

7.1.8 获取云游戏状态码

函数原型 :

var result = Cloudplay.getCloudPlayStatusCode();

返回值说明

返回值 类型 说明
result Number 100999001:无流地址,cid未获取成功(初始状态)
100999002:无流地址,cid获取成功,Socket连接失败
100999003:无流地址,cid获取成功,Socket连接成功,乒乓状态异常
100999004:无流地址,cid获取成功,Socket连接成功,乒乓状态正常
100999005:有流地址,video成功
100999006:有流地址,video失败,audio成功
100999007:有流地址,video失败,audio失败,input成功
100999008:有流地址,video失败,audio失败,input失败

7.1.9 云游戏结束信息上报

函数原型 :

Cloudplay.reportFinishInfo(options);

options属性说明

属性名 类型 必填项 说明
finishCode Number 0:正常结束
1:超时结束
2:异常结束有SDK错误码
3:异常结束无SDK错误码
pkgName String 云游戏包名
appChannel String 云游戏渠道号
gameId String 云游戏id号
cid String 云游戏cid
sdkVersion String SDK版本号

示例代码:

Cloudplay.reportFinishInfo({
    finishCode: 0,
    pkgName: "",
    appChannel: "",
    gameId: "",
    cid: "",
    sdkVersion: ""
});

7.1.10 获取网络请求数据

函数原型 :

var result = Cloudplay.getNetInfo();

返回值说明

返回值 类型 属性名 说明
result Array{}
url 网络请求的url
time 请求耗时
result 请求结果
msg 结果详细描述
uid 当前用户的uid
cid 当前云游的cid
action access:长连接
input:input连接
videoUrl:视频流
audioUrl:音频流
104/108/211:actionId
transId 当前申请的唯一id
packageName 请求的游戏包名
startTime 开始请求的时间
responseTime 请求结束的时间

7.1.11 发送消息到消息SDK

函数原型 :

var result = Cloudplay.sendMessage(message);

参数说明

参数名 类型 必填项 说明
message String 发送的数据信息

7.1.12 获取视频流地址域名

函数原型 :

var result = Cloudplay.getStreamingDomain();

返回值说明

返回值 类型 说明
result String 当前云玩视频流地址域名

7.1.13 发送操作指令到游戏

函数原型 :

Cloudplay.sendMessageToRom(command);

参数说明

参数名 类型 必填项 说明
command String 操控云游戏的指令

示例代码:

Cloudplay.sendMessageToRom("mouse:1:0.7568,0.5390");

7.1.14 当前页面播流

当前页面播流

Cloudplay.startPlayer();

7.2 ARM游戏

7.2.1 图片上传下载

7.2.1.1 上传图片到游戏

函数原型 :

Cloudplay.upload(options);

options属性说明

属性名 类型 必填项 说明
file File 上传的文件
opType String 文件类型,仅支持:upload_image
onSuccess Function 上传成功回调,详见onSuccess参数说明
onError Function 上传失败回调,详见onError参数说明

onSuccess参数说明

参数名 类型 说明
file File 上传成功的原始文件
opType string 文件类型

onError参数说明

参数名 类型 说明
message File 提示信息
opType String 文件类型

示例代码:

Cloudplay.upload({
    file: file,
    opType: "upload_image",
    onSuccess: function (opType, file) {
    },
    onError: function (opType, message) {
    }
});

7.2.1.2 获取可下载图片列表

函数原型 :

Cloudplay.getFileList(options);

options属性说明

属性名 类型 必填项 说明
size Number 图片列表数量,默认为 19 (最大值为20)
offset Number 第一个图片起始位置,默认为0
callback Function 回调函数,详见callback参数说明

callback参数说明

参数名 类型 说明
result Array 图片列表

示例代码:

Cloudplay.getFileList({
    size: 20,
    offset: 2,
    callback: function (result) {
    }
});

7.2.1.3 下载指定图片

函数原型 :

Cloudplay.downLoadFile(name, callback);

参数说明

参数名 类型 必填项 说明
name String 图片名称
callback Object 回调函数,详见callback参数说明

callback参数说明

参数名 类型 属性名 说明
result Object
success true:成功
false:失败
msg 提示信息
fileBold 文件二进制流
fileType 文件类型
fileSize 文件大小
fileName 文件名称

示例代码:

Cloudplay.downLoadFile("fileName", function (result) {
});

7.2.1.4 取消下载图片

函数原型 :

Cloudplay.cancelDownLoadFile(name);

参数说明

参数名 类型 必填项 说明
name String 图片名称

7.2.2 文件下载

7.2.2.1 获取文件列表

函数原型 :

Cloudplay.getBigFileList(callback);

callback参数说明

参数名 类型 属性名 说明
result Object
name 文件名称
url 文件下载地址
type 文件类型
duration 文件时长,单位为s。(文件类型为视频格式时该属性生效)
size 文件大小,单位为Byte

7.2.2.2 开始下载保活

函数原型 :

Cloudplay.startHangUp(options, callabck);

options属性说明

属性名 类型 必填项 说明
downloadList Array 下载文件列表
hangUpTime Number 保活时长,单位为s
Cutoff Boolean true:断流
false:不断流

callabck参数说明

参数名 类型 属性名 说明
result Object
state 0:下载保活失败
1:开始下载保活
2:下载保活时间到
message 提示信息
gameTimerOver 当前游戏时长是否已耗尽
hangupTimeSeconds 当前剩余下载保活时间,单位为s

7.2.2.3 结束下载保活

函数原型 :

Cloudplay.stopHangUp(callback);

callback参数说明

参数名 类型 属性名 说明
result Object
state 0:失败
1:成功
message 提示信息
gameTimerOver 当前游戏时长是否已耗尽

7.2.3 视频帧信息

7.2.3.1 注册监听帧变化

函数原型 :

Cloudplay.requestVideoFrameCallback(callback);

callback参数说明

参数名 类型 属性名 说明
result Object
code 0:正常
1:浏览器不支持
2:当前流类型不支持
number 自增序号,number类型
timestamp 当前帧对应的时间戳
isRestart 是否重新开始播放视频
frameInfo Object
width 视频帧的宽度
height 视频帧的宽度
presentationTime 用户代理提交帧以进行合成的时间
expectedDisplayTime 用户代理期望框架可见的时间
mediaTime 媒体呈现时间戳

7.2.3.2 移除监听帧变化

函数原型 :

Cloudplay.removeRequestVideoFrameCallback();

7.2.4 控制权转移

7.2.4.1 获取授权码

函数原型 :

Cloudplay.getPinCode();

7.2.5 消息传输

7.2.5.1 发送信息到游戏

函数原型 :

Cloudplay.sendWSMessage(options);

options属性说明

属性名 类型 必填项 说明
type String clipboard:剪贴板
gps:GPS数据
intent:intent
data Array|Object 发送的内容,根据消息类型自定义
mid String 消息唯一ID
callback Function 回调函数,详见callback参数说明

callback参数说明

参数名 类型 说明
messageId String 发送时使用的消息ID
successed Boolean true:发送成功
false:发送失败
message String 提示信息

示例代码:

// 剪切板
Cloudplay.sendWSMessage({
    type: "clipboard",
    data: [{itemType: "text/plain", itemData: "abc"}],
    mid: (Math.random() * 1000000).toString().replace(".", ""),
    callback: function (messageId, successed, message) {
    }
});
// GPS数据
Cloudplay.sendWSMessage({
    type: "gps",
    data: {longitude: 116.23128, latitude: 40.22077},
    mid: (Math.random() * 1000000).toString().replace(".", ""),
});

7.2.5.2 发送传感器信息到游戏

函数原型:

Cloudplay.sendSensorData(options);

options属性说明

属性名 类型 必填项 说明
accuracy Number 精度类型,通过sensorList场景查看当前游戏需要的类型
sensorType Number sensor类型,通过sensorList场景查看当前游戏需要的类型
values Array sensor数据分别是X、Y、Z

示例代码:

Cloudplay.sendSensorData({
    accuracy:3,
    sensorType:2,
    values:[0.1563701, 0.073616914, 9.840504]
});

7.2.6 游戏截图

函数原型 :

Cloudplay.getCapture(options);

options属性说明

属性名 类型 必填项
zoom Number 图片压缩比例
callback Function 回调函数,详见callback参数说明

callback参数说明

参数名 类型 说明
result ArrayBuffer 图片数据

7.2.7 将游戏切换到前台

函数原型 :

Cloudplay.bringUpApp();

7.2.8 媒体设备

7.2.8.1 摄像机画面镜像/旋转

函数原型 :

Cloudplay.cameraRotate(options);

options属性说明

参数 类型 必填项 说明
rotate Number 旋转角度,默认:0
0:正常
1:旋转90°
2:旋转180°
3:旋转270°
flip Number 镜像翻转,默认:0
0:不镜像翻转
1:水平镜像翻转
2:垂直镜像翻转

7.2.8.2 开启摄像机/麦克风设备

函数原型 :

Cloudplay.openMediaDevices(constraints, callback);

参数说明

参数名 类型 必填项 说明
options Object 指定请求的媒体类型和相对应的参数,详见options参数说明
callback Function 回调函数,详见callback参数说明

options属性说明

属性名 类型 必填项 说明
video Object 摄像机,详见video参数说明
audio Object 麦克风,详见audio参数说明

video属性说明

属性名 类型 必填项 说明
deviceId String 设备的deviceId,使用默认设备可以传default
width String 视频画面的宽
height String 视频画面的高
frameRate String 视频画面的帧率

audio属性说明

属性名 类型 必填项 说明
deviceId Object 设备的deviceId,使用默认设备可以传default

callback参数说明

参数 类型 必填项 说明
error String 当设备开启成功时返回一个空字符串,失败返回失败原因
mediaStream MediaStream 当设备开启成功时返回一个MediaStream,失败返回一个空字符串

示例代码:

Cloudplay.openMediaDevices({
    audio: {
        deviceId:"default",
    },
    video: {
        deviceId:"default",
        width:"1280",
        height:"720",
        frameRate:"30",
    }
},(error, mediaStream)=>{
});

7.2.8.3 摄像机/麦克风指令确认

函数原型 :

Cloudplay.mediaDevicesResponseNotify(action, options);

action参数说明

参数 类型 必填项 说明
action String 媒体类型
Camera:摄像机
Microphone:麦克风

options属性说明

属性名 类型 必填项 说明
op Number 设备开关状态
1:开启
0:关闭
code Number 开启状态
0:成功
1:失败

7.2.8.4 关闭摄像机/麦克风设备

函数原型 :

Cloudplay.closeMediaDevices(action);

action参数说明

参数 类型 必填项 说明
action String 媒体类型
Camera:摄像机
Microphone:麦克风
空字符:所有设备

7.3 X86游戏

7.3.1 控制权转移

7.3.1.1 获取授权码

函数原型:

Cloudplay.getPinCode();

7.3.1.2 控制权分配

函数原型:

Cloudplay.controlPowerDistribute(options, callback);

参数说明

参数名 类型 必填项 说明
options Object 分配参数,详见options参数说明
callback Function 回调函数,详见callback参数说明

options属性说明

属性名 类型 必填项 说明
cid Number 当前云玩主控cid
controlInfos Object[] 分配数据,详见controlInfos参数说明

controlInfos属性说明

属性名 类型 必填项 说明
cid Number 云玩主控或从控cid
position Number 1:获得控制权
0:失去控制权

callback参数说明

参数名 类型 属性名 说明
result Object
code 0:成功
非0:失败
errorMsg 提示信息
controlInfos 分配结果,详见controlInfos参数说明

示例代码:

Cloudplay.controlPowerDistribute({
    cid: "",
    controlInfos: [{cid: "", position: 1}, {cid: "", position: 0}]
}, function (result) {
});

7.3.1.3 控制权查询

函数原型:

Cloudplay.controlPowerQuery(options, callback);

参数说明

参数名 类型 必填项 说明
options Object 查询参数,详见options参数说明
callback Function 回调函数,详见callback参数说明

options属性说明

属性名 类型 必填项 说明
cid Number 当前云玩主控cid

callback参数说明

参数名 类型 属性名 说明
result Object
code 0:成功
非0:失败
errorMsg 提示信息
controlInfos 分配结果

示例代码:

Cloudplay.controlPowerQuery({
    cid: ""
}, function (result) {
});

7.3.2 设置鼠标移动速度

函数原型:

Cloudplay.setMouseMoveRatio(speed);

参数说明

参数名 类型 必填项 说明
speed Number 移动速度值

7.3.3 游戏截图

函数原型:

Cloudplay.captureGameImage(options, callback);

参数说明

参数名 类型 必填项 说明
options Object 截图参数,详见options参数说明
callback Function 回调函数,详见callback参数说明

options属性说明

属性名 类型 必填项 说明
uploadUrl String 图片上传地址, 必须是post请求
cid Number 本次云玩的cid
opType Number 1:截图
2:开始周期性截图
3:停止周期性截图
txId String 事务ID,每次调用传入的值保持唯一性, 消息重发时该字段维持不变
size String 单张图片大小,单位为MB。当opType等于1或2该字段有效
interval String 指令间隔,单位为ms。默认1000,最小1000毫秒,最大60000毫秒,代表间隔n毫秒执行一次截图。 当opType等于2时该字段有效
format String 图片格式,如:png
pixel String 分辨率。默认1920X1080,当opType等于1或2该字段有效
uploadType String 图片上传协议类型,缺省为:http

callback参数说明

参数名 类型 属性名 说明
result Object
code 0:成功
非0:失败
errorMsg 提示信息

示例代码:

Cloudplay.captureGameImage({
    uploadUrl: "",
    cid: 11231,
    opType: 1,
    txId: "43242",
    size: ""
}, function (result) {
});

7.3.4 输入法切换方法

函数原型:

Cloudplay.sendInputSwitch();

7.3.5 发送数据到云端剪切板

函数原型:

Cloudplay.sendDataToClipBoard(data);

参数说明

参数名 类型 必填项 说明
data String 发送的数据内容
×

本篇文章对你是否有帮助?

更多建议

请输入您的建议