虎牙开放平台文档

虎牙小游戏 - JS API

功能接口

登录

hy.login(Object object)

调用接口获取登录凭证(code),通过凭证进而换取用户登录态信息。
虎牙小游戏登录流程

参数

请求参数

参数类型:object

参数类型必填说明
timeoutnumber超时时间,默认为 0
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

参数类型:object

参数类型说明
codestring临时登录凭证

fail 回调函数参数

参数类型:object

参数类型说明
errMsgstring错误信息

示例

hy.login({ success(res) { if(res.code) { console.log('code:' res.code) } }, fail(res) { console.log('未登录或登录失效!' + res.errMsg) } })

检查登录态

hy.checkSession(Object object)

检查登录态是否过期。

参数

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

示例

hy.checkSession({ success() { // 未过期 }, fail() { // 已过期 } })

获取用户信息

hy.getUserInfo(Object object)

获取用户昵称和头像

参数

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

参数类型:object

参数类型说明
nickNamestring用户昵称
userAvatarUrlstring用户头像地址
userLevelnumber用户等级
userUnionIdstring用户的unionId

示例

hy.getUserInfo({ success(res) { console.log('用户昵称', res.nickName) }, fail(res) { console.log(res.errMsg) } })

获取主播信息

hy.getStreamerInfo(Object object)

获取主播昵称和头像

参数

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

参数类型:object

参数类型说明
streamerNickstring主播昵称
streamerAvatarUrlstring主播头像地址
streamerSexnumber主播性别;取值说明: 1 表示男; 2 表示女
streamerLevelnumber主播等级
streamerRoomIdnumber房间Id
streamerUnionIdstring主播unionId,没有则为空

示例

hy.getStreamerInfo({ success(res) { console.log('主播昵称', res.userNick) }, fail(res) { console.log(res.errMsg) } })

支付

hy.requestPayment(Object object)

支付有可能存在延迟到账问题,建议游戏在收到回调后,向游戏服务端轮询发货结果,间隔 3 秒,持续约 1 ~ 2 分钟。 同时也存在一些异常情况,导致充值成功后结果回调失败,因此建议游戏在启用游戏时主动查询余额,并且提供给用户主动刷新的功能。

参数

请求参数

参数类型:object

参数类型必填说明
timeStampnumber时间戳
nonceStrstring随机字符串,长度为32个字符以下
packagestring下单接口返回
signTypestring签名算法类型,默认值:'MD5'
paySignstring签名 - 签名需使用开发者密钥,为了密钥安全,建议在请求服务端预下单时,由服务端返回相关的请求参数,具体签名规则请查看服务端接入文档
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

示例

hy.requestPayment({ timeStamp: '', package: '', nonceStr: '', signType: 'MD5', paySign: '', success() { // 调用成功 }, fail(res) { // 调用失败 console.log(res.errMsg) } });

发起网络请求

hy.request(Object object)

发起网络请求,底层基于 window.fetch 实现,因此服务端接口需要支持跨域请求
小游戏前端域名:*.vip.hyext.com

参数

请求参数

参数类型:object

参数类型必填说明
urlstring请求地址
method'GET'|'POST'|'PUT'|'DELETE'|'HEAD'|'OPTIONS'|'PATCH'请求方法
headersobject请求头
datastring/Object/Arraybuffer请求的参数
timeoutnumber超时时间,单位为毫秒。默认值为 60000
mode"cors"|"navigate"|"no-cors"|"same-origin"请求模式
credentials"include"|"omit"|"same-origin"凭证
cache"default"|"force-cache"|"no-cache"|"no-store"|"only-if-cached"|"reload"缓存模式
referrerstring请求来源
referrerPolicy""|"no-referrer"|"no-referrer-when-downgrade"|"origin"|"origin-when-cross-origin"|"same-origin"|"strict-origin"|"strict-origin-when-cross-origin"|"unsafe-url"请求来源策略
keepaliveboolean保持连接
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

参数类型:object

参数类型说明
datastring/Object/Arraybuffer开发者服务器返回的数据
statusCodenumber开发者服务器返回的 HTTP 状态码
headerObject开发者服务器返回的 HTTP Response Header

fail 回调函数参数

参数类型:object

参数类型说明
errMsgstring错误信息
errCodenumber错误码:1-请求失败,2-请求超时

示例

hy.request({ url: 'https://example.com/api', data: { id: 123 }, header: { 'content-type': 'application/json' // 默认值 }, success(res) { console.log(res.data) }, fail(res) { console.log(res.errMsg) } })

获取窗口信息

hy.getWindowInfo()

获取窗口信息

返回值

返回值类型:object

参数类型说明
screenWidthnumber屏幕宽度
screenHeightnumber屏幕高度
isLandscapeboolean屏幕是否是横屏
windowWidthnumber可使用窗口宽度,单位 px
windowHeightnumber可使用窗口高度,单位 px
pixelRationumber设备像素比
statusBarHeightnumber状态栏的高度,单位 px
screenTopnumber窗口上边缘的 y 值
safeAreaobject在竖屏正方向下的安全区域。部分机型没有安全区域概念,则不返回 safeArea 字段
safeArea.leftnumber安全区域左上角横坐标
safeArea.rightnumber安全区域右下角横坐标
safeArea.topnumber安全区域左上角纵坐标
safeArea.bottomnumber安全区域右下角纵坐标
safeArea.widthnumber安全区域的宽度,单位逻辑像素
safeArea.heightnumber安全区域的高度,单位逻辑像素

示例

const windowInfo = hy.getWindowInfo(); console.log('屏幕宽度:', windowInfo.screenWidth);

获取系统信息(deprecated)

hy.getSystemInfoAsync(Object object)

获取系统信息(已抛弃),请使用hy.getSystemInfo接口。

参数

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

参数类型:object

参数类型说明
platformstring示例:"android","ios"
versionstring虎牙直播app版本
baseVersionstring虎牙直播app基础包版本
screenWidthnumber屏幕宽度
screenHeightnumber屏幕高度
isLandscapeboolean屏幕是否是横屏
windowWidthnumber可使用窗口宽度,单位 px
windowHeightnumber可使用窗口高度,单位 px
pixelRationumber设备像素比
statusBarHeightnumber状态栏的高度,单位 px
screenTopnumber窗口上边缘的 y 值
safeAreaobject在竖屏正方向下的安全区域。部分机型没有安全区域概念,则不返回 safeArea 字段
safeArea.leftnumber安全区域左上角横坐标
safeArea.rightnumber安全区域右下角横坐标
safeArea.topnumber安全区域左上角纵坐标
safeArea.bottomnumber安全区域右下角纵坐标
safeArea.widthnumber安全区域的宽度,单位逻辑像素
safeArea.heightnumber安全区域的高度,单位逻辑像素

示例

hy.getSystemInfoAsync({ success(res) { console.log(res.screenWidth) } })

获取系统信息

hy.getSystemInfo(Object object)

获取系统信息。

参数

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

参数类型:object

字段类型说明
brandstring设备品牌
modelstring设备型号
pixelRationumber设备像素比
screenWidthnumber屏幕宽度,单位px
screenHeightnumber屏幕高度,单位px
windowWidthnumber可使用窗口宽度,单位px
windowHeightnumber可使用窗口高度,单位px
statusBarHeightnumber状态栏的高度,单位px
languagestring设置的语言
versionstring虎牙版本号
systemstring操作系统及版本
platformstring客户端平台枚举
fontSizeSettingnumber用户字体大小(单位px)
SDKVersionstring客户端基础库版本
safeAreaObject在竖屏正方向下的安全区域。部分机型没有安全区域概念,也不会返回 safeArea 字段,开发者需自行兼容。
deviceOrientationstring设备方向
hostObject当前小程序运行的宿主环境

其中客户端平台枚举的取值范围为

说明
iosiOS,iPadOS
androidAndroid
ohosHarmonyOS
windowsWindows
macmacOS

其中safeArea数据结构为:

参数类型说明
leftnumber安全区域左上角横坐标
rightnumber安全区域右下角横坐标
topnumber安全区域左上角纵坐标
bottomnumber安全区域右下角纵坐标
widthnumber安全区域的宽度,单位逻辑像素
heightnumber安全区域的高度,单位逻辑像素

其中deviceOrientation数据结构为:

参数类型说明
portraitstring竖屏
landscapestring横屏

其中host数据结构为:

参数类型说明
appIdstring虎牙小程序id

示例

hy.getSystemInfo({ success(res) { console.log(res.screenWidth) } })

同步获取冷启动时的参数

hy.getLaunchOptionsSync()

参数

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

字段类型说明
scenenumber启动小游戏的场景值
queryMap启动小游戏的 query 参数
referrerInfoObject来源信息。从另一个小程序 或 App 进入小程序时返回。否则返回 {}。

其中scene的数据结构为:

字段类型说明
1000number其他

其中referrerInfo的数据结构为:

字段类型说明
appIdnumber来源小程序或 App 的 appId
extraDataMap来源小程序传过来的数据

示例

const res = hy.getLaunchOptionsSync()

获取网络类型

hy.getNetworkType(Object object)

参数

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

字段类型说明
networkTypestring网络类型枚举
hasSystemProxyboolean设备是否使用了网络代理

其中的networkType取值范围为

说明
wifiwifi 网络
2g2g 网络
3g3g 网络
4g4g 网络
5g5g 网络
unknownAndroid 下不常见的网络类型
none无网络

示例

const res = hy.getNetworkType({ success(rsp) { console.log(rsp.networkType) } })

将数据存储在本地缓存指定的 key 中。

会覆盖掉原来该 key 对应的内容.

hy.setStorage(Object object)

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
keystring本地缓存中指定的 key
dataany需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象
encryptboolean是否开启加密存储,默认为false

success 回调函数参数

示例

hy.setStorage({ key: 'foo', data: '1', success() { console.log('设置缓存功') } })

从本地缓存中异步获取指定 key 的内容

hy.getStorage(Object object)

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
keystring本地缓存中指定的 key
encryptboolean是否开启加密存储,默认为false

success 回调函数参数

字段类型说明
dataanykey对应的内容

示例

hy.getStorage({ key: 'foo', success(rsp) { console.log(rsp.data) } })

从本地缓存中移除指定 key

hy.removeStorage(Object object)

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
keystring本地缓存中指定的 key

success 回调函数参数

示例

hy.removeStorage({ key: 'foo', success() { console.log('删除缓存成功') } })

清理本地所有数据缓存

hy.clearStorage(Object object)

参数

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

示例

hy.clearStorage()

异步获取当前storage的相关信息

hy.getStorageInfo(Object object)

请求参数

参数类型:object

参数类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数参数

字段类型说明
keysArray.<string>当前 storage 中所有的 key
currentSizenumber当前占用的空间大小, 单位 KB
limitSizenumber限制的空间大小,单位 KB

示例

hy.getStorageInfo({ success(rsp) { console.log(rsp.keys) } })

联运运营接口

以下接口为虎牙小游戏联运接口,接口入参请根据游戏实际存在的字段值提供

开始游戏

hy.startGame()

开始游戏的上报时机可以厂商自行决定,建议进入区服或者开始游戏进度时上报,虎牙侧会在厂商上报该事件之后统计游戏时长。 上架联运游戏必须接入hy.statrGame接口​。

参数

请求参数

示例

hy.startGame();