组织结构
本章节阐述一下虎牙直播平台各个组成要素和虎牙小程序之间的关系,让大家能更深入理解虎牙小程序在虎牙直播平台中能起到什么作用。
小程序内部结构
先了解一下开发者、小程序、小程序版本、小程序类型之间的关系:
- 一个开发者可以创建多个小程序;
- 开发者可以为一个小程序创建多个开发版本;
- 一个小程序版本可以支持多个小程序类型,视平台权限和业务而定,决定了这个小程序支持哪些终端并具有哪些交互;
- 开发者可以同时对多个开发版本进行提交测试的操作,即一个小程序可以同时存在多个测试版本;
- 开发者可以同时对多个测试版本进行提交审核的操作,即一个小程序可以同时存在多个审核版本;
- 开发者可以把一个审核版本发布成正式版本,即一个小程序仅可存在一个正式版本;
- 开发者可以用之前任意一个通过审核的版本回滚成正式版本;
小程序和直播间的关系
主播可以通过PC主播端/虎牙助手APP或者WEB商店添加某个小程序,这两种添加方式有一些区别:
- PC主播端/虎牙助手APP打开各自的小程序列表,直接点击即可使用,终端会为当前主播自动进行关联操作。这时候关联的一定是这个小程序的正式版本;
- 在开发者中心,小程序版本卡片的右上角菜单中会有一个“安装”的按钮,点击后跳转到这个版本的添加页面,主播/开发者可以访问这个页面,点击右上角“添加”按钮进行关联操作。根据这个版本的类型不同:
- 如果当前版本是正式版本,访问页面点击“添加”即可完成关联操作;
- 否则:
- 如果当前版本的白名单设置中的内测版本主播白名单(虎牙号)里面包含当前主播,则有权限访问这个页面并可以通过点击“添加”进行关联操作;
- 否则会弹出“没有权限”的错误页面,需要开发者在对应版本的白名单设置中的内测版本主播白名单(虎牙号)加入该主播的虎牙号;
- 如果一个主播账号同时添加了同一个小程序的正式版本和测试版本,会下发测试版本;
- 如果一个主播账号已经添加了一个小程序的测试版本,再添加别的测试版本会取消前者的关联关系,即一个主播同时仅可添加同一个一个小程序的一个测试版本;
小程序和终端/用户的关系
当某个主播的直播间跟某个小程序的某个版本建立关系后,根据访问终端的不同,用户进入直播间之后:
- 虎牙小程序平台会获取到当前直播间添加了哪些小程序的具体版本;
- 首先根据终端标识,把不支持这个终端的小程序(根据这个小程序版本支持的小程序类型决定)过滤掉;
- 然后根据版本类型不同:
- 如果是正式版本,则直接下发到对应的直播间供用户使用;
- 否则:
- 如果当前版本的白名单设置中的内测版本观众白名单(虎牙号)里面包含当前用户,则也会下发供用户使用;
- 否则用户进入这个直播间不会看到任何关于这个小程序的内容;
举个例子,以快速开始里面创建的小程序为例,有两个版本:
- 1.0.0:正式版本;
- 1.0.1:测试版本,白名单设置默认包含了这个小程序的创建者的虎牙号;
两个版本均支持两个小程序类型:
- 虎牙主站-面板;
- 虎牙直播APP-面板;
即:
- 这个创建者:
- 可以添加1.0.0版本
- 可以添加1.0.1版本(同时添加以1.0.1为准)
- 访问虎牙主站自己的直播间,能看到小程序(1.0.1)入口;
- 访问虎牙直播APP自己的直播间,能看到小程序(1.0.1)入口;
- 访问虎牙PC主播端,在小程序列表中不能看到入口,因为当前小程序版本并不支持PC主播端的小程序类型;
- 访问虎牙助手APP,在小程序列表中同样看不到入口;
- 非这个创建者:
- 可以添加1.0.0版本
- 不能添加1.0.1版本,因为当前版本的主播白名单中没有包含这个用户的虎牙号;
- 访问虎牙主站自己的直播间,能看到小程序(1.0.0)入口;
- 访问虎牙直播APP自己的直播间,能看到小程序(1.0.0)入口;
- 访问虎牙PC主播端,在小程序列表中不能看到入口,因为当前小程序版本并不支持PC主播端的小程序类型;
- 访问虎牙助手APP,在小程序列表中同样看不到入口;
有了这个机制,开发者可以创建任意多个开发/测试版本,分发给不同的测试用户进行测试,同时不影响线上运行的业务。