WEB_RTC SDK 参考手册
1 WEB SDK 参考手册
1.1 Cloudplay对象
| 方法 | 描述 | 方法 | 描述 |
|---|---|---|---|
| initSDK | 初始化SDK | startSDK | 启动游戏 |
| stopSDK | 停止游戏 | stopAll | 停止所有游戏 |
| bringUpApp | 将游戏切换成前台 | showKeyboardSet | 显示/隐藏键位设置菜单 |
| webPageFullScreenFn | 网页内全屏/退出网页内全屏 | fullScreenFn | 全屏/退出全屏 |
| showDelayData | 隐藏/显示丢包率 | switchResolution | 切换分辨率 |
1.2 initSDK
调用方法
Cloudplay.initSDK({
accessKeyID: '',
channelId: '',
pkg_name: '',
isHideToolBar: '',
onSceneChanged: function(sceneId, extraInfo) {
console.log('sceneId:'+sceneId,extraInfo);
if(sceneId == 'play') {
alert('游戏开始了');
}
},
MessageHandler: function(message) {
console.log('got message:',message);
}
});参数说明
| 参数 | 类型 | 必选 | 说明 |
|---|---|---|---|
| accessKeyID | string | 是 | 接入商唯一ID |
| channelId | string | 是 | 接入方自行定义,主要方便接入方推广需要,如一个APK,发布到不同的推广平台时用不同channelId |
| pkg_name | string | 是 | 游戏包名称 |
| isHideToolBar | boolean | 否 | 是否隐藏toolbar:false:不隐藏(默认值);true:隐藏 |
| onSceneChanged | function | 是 | 场景切换回调函数:参考本文档中的“onSceneChanged回调函数说明” |
| MessageHandler | function | 否 | 支付消息的回调函数:参考本文档中的“MessageHandler回调函数说明” |
onSceneChanged回调函数说明
| sceneId | sceneId说明 | extraInfo类型 | extraInfo属性名 | extraInfo属性说明 |
|---|---|---|---|---|
| init | 初始化中 | null | ~ | ~ |
| play | 开始游戏 | object | cid | 本次游戏的cid |
| ~ | ~ | ~ | cur_rate | 游戏当前码率 |
| vibf | 游戏画面第一帧 | null | ~ | ~ |
| stop | 游戏结束 | object | interval | 当次游戏时间,单位:秒 |
| ~ | ~ | ~ | reason | time_limit:本次游戏时间已到 no_operation:无操作超时,默认20分钟,可联系运营人员修改配置 instance_err:云端实例出错 multi_inst:超过实例数的申请上限 queue_limit:排队人数过多,禁止排队 network_off:网络断开 token_expire:token鉴权失败 normal:正常调用stopSDK主动停止游戏 low_bitrate:网速太慢 log_off:注销 request_error:ajax请求报错 load_game_failed:游戏加载失败 verify_failed:验证失败 internal_error:内部错误 |
| mait | 服务器维护 | object | progress | soon:维护进度即将开始 start:维护开始 done:维护完成 |
| timeout | 游戏时间结束,但不结束游戏 | object | interval | 本次游戏时间,单位:秒 |
| ~ | ~ | ~ | reason | 提示信息 |
| wait | 排队 | null | ~ | ~ |
| aljs | 开始异步加载js文件 | null | ~ | ~ |
| alfn | 异步加载js文件结束 | object | result | 1:成功 0:失败 |
| evnt | 事件id | object | eventId | 事件id |
| clst | 发送countly日志 | object | info | countly日志内容 |
| qqup | 云上调起了QQ应用 | null | ~ | ~ |
| flsc | Flash加载 | object | result | 1:成功 0:失败 |
| askn | 询问是否排队 | null | ~ | ~ |
| spdn | 测速 | object | speed | 0:失败 非0数字:测得的网速 |
| alfn | 异步加载js文件结束 | object | result | 1:成功 0:失败 |
| vibf | videoPlayer Frame Ready | null | ~ | ~ |
| crtp | 显示自动降低码率tips | object | minimum | 当前码率是否最低码率 0:否 1:是 |
| ~ | ~ | ~ | delay_less_minimum | 是否低于最低码率 0:否; 1:是 |
| crst | 切换码率开始 | object | source | 当前码率 |
| ~ | ~ | ~ | des | 目标码率 |
| cred | 切换码率完成 | object | result | 0:失败; 1:成功 |
| ~ | ~ | ~ | cur_rate | 当前码率 |
| ~ | ~ | ~ | method | 自动手动模式; 0:手动; 1:自动 |
| resolutionList | 清晰度列表 | object | list | ist:数组 [{id:,name:}…] |
| ~ | ~ | ~ | selected | 当前选中清晰度id |
| delay | 延迟数据 | object | value | 当前延迟数据,单位:MS |
| packetsLost | 丢包率 | object | value | 当前丢包率,单位:百分比 |
说明:’~’ 意思为同上
MessageHandler回调函数说明
| 属性 | 类型 | 必选 | 说明 |
|---|---|---|---|
| userId | string | 否 | 目标userId |
| from | string | 是 | 消息发送方标识 |
| to | string | 是 | 消息接收方标识 |
| mid | string | 是 | 消息ID |
| type | int | 是 | 消息类型:固定值为1 |
| ack | int | 是 | 应答类型:固定值为0 |
| payload | string | 是 | 消息内容 |
1.3 startSDK
调用方法
Cloudplay.startSDK ('#example',{
userinfo: {
uId: '',
utoken: ''
uType:’’
},
pkg_name: '',
appChannel: '',
c_token: '',
rotate: '',
playingtime: '',
configinfo: '',
priority: 0,
isArchive: '',
extraId: '',
protoData: '',
payStr: ''
});参数说明
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| uId | string | 是 | 自行定义32位以内a-z,0-9字符串 |
| utoken | string | 是 | 自行定义32位以内a-z,0-9字符串 |
| uType | int | 是 | 0:默认值, 5:超级账号 |
| pkg_name | string | 是 | 游戏包名称 |
| appChannel | string | 否 | 游戏渠道号 |
| c_token | string | 是 | 用来校验参数的有效性:生成算法详见本文档中的“cToken生成算法” |
| rotate | boolean | 是 | 游戏的横竖屏属性:true为竖屏游戏;false为横屏游戏 |
| playingtime | int | 是 | 用户可以玩的总游戏时间,单位:毫秒,可联系营运人员配置 |
| configinfo | string | 是 | 免登录功能所需信息,如不使用,传任意非空字符串 |
| priority | int | 是 | 申请游戏服务的优先级;默认设置为0;值越大优先级越高 |
| isArchive | boolean | 否 | 是否存档:默认为true;true存档;false不存档; |
| extraId | string | 否 | 预留字段,传空字符串 |
| protoData | string | 否 | 透传字段,服务器端状态同步接口透传使用 |
| payStr | string | 否 | 支付相关参数,默认为空字符串 |
1.4 stopSDK
调用方法
Cloudplay.stopSDK();1.5 stopAll
调用方法
Cloudplay.stopAll()1.6 bringUpApp
调用方法
Cloudplay.bringUpApp();1.7 showKeyboardSet
调用方法
Cloudplay.showKeyboardSet ();1.8 webPageFullScreenFn
调用方法
Cloudplay.webPageFullScreenFn ();1.9 fullScreenFn
调用方法
Cloudplay.fullScreenFn ();1.10 showDelayData
调用方法
Cloudplay.showDelayData ();1.11 switchResolution
调用方法
Cloudplay.switchResolution (id);参数说明
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| id | string | 是 | 需要切换到的清晰度id |