虎牙开放平台文档

互动指令

4.5.1、功能介绍

平台提供了一套完整的互动指令能力,使开发者能快速实现一个观众端快捷互动指令面板

0b9cfe9b-6eda-4ccb-8f2a-47fb2fa79e88 图1:APP观众端

image-20240807173139402

图2:WEB观众端指令面板

image-20240807172059690 图3:WEB观众端指令面板

4.5.2、接入流程

4.5.2.1、配置指令

访问开发者中心找到对应的小程序,进入“互动指令”菜单。
如图下所示:

配置后台 图4:开发者中心配置后台

指令设置,支持两种不同指令:
弹幕指令:支持配置指令图片,弹幕描述和实际发送的弹幕内容,用户点击后将发送弹幕
礼物指令:支持配置指令图片,礼物描述和实际送出的礼物,礼物成组升级配置可指定批量送礼和描述,用户点击后将赠送对应数量的礼物
配置和实际效果如图下所示:

image-20240807174534663

图5:礼物配置

image-20240808144225126

图6:弹幕配置

image-20240808144146355

图7:配置效果

4.5.2.2、唤起指令面板

完成对局状态的对接
在startBattle接口调用时,传入申请并配置好的指令id(commandUuid)

4.5.2.3、报名状态同步

当指令配置勾选了报名流程后,可在游戏内用户报名成功后,同步状态到平台侧,平台侧处理用户指令面板的状态切换。
调用HTTP接口,同步状态。

接口调用说明

对局报名状态同步接口
http请求方式:POST
https://apiext.huya.com/interactive/signUp

生成签名

按照统一鉴权说明生成对应的鉴权sToken(即JWT token)

注意:其中Payload需要做以下调整

payload参数:
参数名称类型备注
iatnumbertoken生成时间戳(秒)
expnumber过期时间戳(秒)
appIdstring开发者appid 如何查找
extUuidstring小程序id 如何查找
profileIdstring主播unionId 如何获取
roomIdstring主播房间号 如何获取
userIdstring用户unionId 如何获取
payload样例
{ "iat": 1555921691, "exp": 1555928891, "appId": "appId", "extUuid": "extUuid", "profileId": "unImSOHlQBsY", "roomId": "1134" }

发送请求

  • 通过https方式发送请求
  • 上面生成的签名通过设置http Header参数authorization进行传输
Header参数:
参数名称类型备注
authorizationstring请求的签名凭证
get参数
参数名称类型备注
appIdstring必填,开发者appId 如何查找
extUuidstring必填,小程序id 如何查找
post参数,是用json格式提交
参数名称类型备注
battleIdstring必填,对局id
barrageContentstring必填,报名弹幕内容
HTTP响应
参数名称类型备注
codeint业务状态码 通用业务状态码说明
msgstring响应描述

4.5.2.4、监听点赞事件

完成开放API里的WS接口对接
监听getUserDoButtonLikeNotice事件