虎牙开放平台文档

小程序宿主环境

跟微信小程序不一样,虎牙小程序必须依附在某个直播间中才能发挥所有的技术能力,包括获取弹幕、礼物、直播间、主播、观众等相关信息和图层、连麦等内容生产相关的操作。首先我们来了解一下虎牙直播平台有哪些终端及其具体的功能。

虎牙直播平台终端类型

这里仅讨论支持虎牙小程序平台的终端。首先虎牙直播平台提供的终端有主播观众使用的两个大分类,每个大分类下面有不同平台的终端,包括但不限于:

小程序和终端的关系

这些不同的终端类型职责和UI交互都是不一样的。由于虎牙小程序是与直播间强烈耦合在一起的,所以虎牙小程序在不同的终端上面会有若干种不同的交互,总体可以分成两种:

  • 面板类型:抽象成一个入口 + 一个面板,用户通过点击入口打开小程序面板;
  • 浮窗类型:抽象成一个可以在指定容器中自由布局的面板,业务自行决定这个小程序面板展示/隐藏;

然而并不是所有终端都支持上面两种小程序的交互模式,所以虎牙小程序平台抽象了小程序类型规范小程序在直播间中的交互行为,每一个小程序类型对应了一个终端及其交互模式,如:

  • 虎牙主站-面板:运行在虎牙直播WEB主站,交互行为是入口 + 面板的小程序类型;
  • 虎牙直播APP-浮窗:运行在虎牙直播APP,交互行为是自由布局的小程序类型;

至于一个小程序,最终能支持在哪些终端的哪些交互行为,就是由这个小程序支持哪些小程序类型决定的。虎牙小程序平台对于这个限制有如下两个规则:

这个小程序做哪些小程序类型?

在创建小程序之后可以通过开发者中心上面,小程序版本设置中的程序设置中查看:

2021 11 02 15 39 56

如上图表示这个小程序做的类型有:

  • PC观众端-面板
  • 虎牙助手APP-面板
  • PC主播端-面板
  • 虎牙直播APP-面板
  • 虎牙主站-面板

这个小程序哪些小程序类型?

仍然以上图为例,可以看到每个小程序类型前有一个复选框:

2021 11 02 15 42 23

其中选中的就是这个小程序版本关联到直播间中的小程序类型了:

  • 虎牙直播APP-面板
  • 虎牙主站-面板

这个选中与否就是跟您的小程序项目中project.config.jsonbuildConfig里面支持了哪些小程序类型了:

{ /* ... */ "builder": { "name": "@hyext/builder-beyond", "config": { /* ... */ "buildConfig": { "H5": [ { "entry": "index.js", "extType": "web_video_com", /* 支持虎牙主站-面板 */ "platform": "web" }, { "entry": "index.js", "extType": "app_panel_h5", /* 支持虎牙直播APP-面板 */ "platform": "web" } ] }, /* ... */ } } }

所以最终决定一个小程序什么小程序类型能出现在直播间,是由虎牙小程序平台虎牙小程序项目共同决定的。

小程序和主播的关系

由于小程序是跟直播间耦合在一起的,这个小程序出现在什么直播间,是通过一个“添加”关系绑定的(参考在直播间预览)。所以,要您的小程序能出现在某个终端的某个直播间,需要:

  • 该小程序对应终端支持的小程序类型
  • 某个主播添加了这个小程序

同时满足上面两个条件,您的小程序就能出现在这个主播的直播间了!