LiveAudienceStore

简介

LiveAudienceStore 提供了一套完整的观众管理 API,包括获取观众列表、设置管理员、踢出用户、禁言等功能。
通过该类,可以在直播间内实现观众管理功能。
重要:
使用 LiveAudienceStore.create 工厂方法创建 LiveAudienceStore 实例,需要传入有效的直播间 ID。
说明:
观众状态更新通过 liveAudienceState 发布者传递。订阅它以接收房间内观众数据的实时更新。

功能特性

观众列表:获取和管理当前房间的观众列表。
权限管理:设置和撤销管理员权限。
用户管理:踢出用户、禁言等操作。
事件监听:监听观众加入、离开等事件。

可订阅数据

LiveAudienceState 的字段描述如下:
属性名
类型
描述
audienceList
StateFlow<List<LiveUserInfo>>
观众列表。
audienceCount
StateFlow<Int>
观众数量。
messageBannedUserList
StateFlow<List<LiveUserInfo>>
消息被禁言的用户列表。

API 列表

函数名
描述
创建观众管理实例。
观众事件回调。
观众事件回调。
获取观众列表。
设置管理员。
撤销管理员。
踢出用户。
禁言/解禁用户。

创建实例

LiveAudienceStore.create

创建观众管理实例。

观察状态和事件

addLiveAudienceListener

添加观众事件监听器
abstract fun addLiveAudienceListener(listener: LiveAudienceListener)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
listener
必填
监听器。

removeLiveAudienceListener

移除观众事件监听器
abstract fun removeLiveAudienceListener(listener: LiveAudienceListener)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
listener
必填
监听器。

观众管理

fetchAudienceList

获取观众列表
abstract fun fetchAudienceList(completion: CompletionHandler?)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
completion
必填
完成回调。

setAdministrator

设置管理员
abstract fun setAdministrator(userID: String?, completion: CompletionHandler?)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
userID
String?
必填
要设置为管理员的用户ID。
completion
必填
完成回调。

revokeAdministrator

撤销管理员
abstract fun revokeAdministrator(userID: String?, completion: CompletionHandler?)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
userID
String?
必填
要撤销管理员权限的用户ID。
completion
必填
完成回调。

kickUserOutOfRoom

将用户踢出房间
abstract fun kickUserOutOfRoom(userID: String?, completion: CompletionHandler?)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
userID
String?
必填
要踢出的用户ID。
completion
必填
完成回调。

disableSendMessage

禁用/解禁用户发送消息
abstract fun disableSendMessage(
userID: String?,
isDisable: Boolean,
completion: CompletionHandler?
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
userID
String?
必填
目标用户ID。
isDisable
Boolean
必填
true 表示禁用发送消息,false 表示解禁。
completion
必填
完成回调。

数据结构

Role

用户角色。
枚举值
说明
OWNER
房主。
ADMIN
管理员。
GENERAL_USER
普通用户。

LiveUserInfo

直播用户信息。
属性
类型
说明
userID
String
用户唯一标识ID。
userName
String
用户名称。
avatarURL
String
用户头像URL。

LiveAudienceState

直播观众状态。
属性
类型
说明
audienceList
StateFlow<List<LiveUserInfo>>
观众列表。
audienceCount
StateFlow<Int>
观众数量。
messageBannedUserList
StateFlow<List<LiveUserInfo>>
消息被禁言的用户列表。

LiveAudienceListener

直播观众事件。
此监听器用于接收直播间内的观众动态事件。
方法
onAudienceJoined: 观众加入事件。
open fun onAudienceJoined(audience: LiveUserInfo) {}
参数名
类型
说明
audience
加入的观众信息。
onAudienceLeft: 观众离开事件。
open fun onAudienceLeft(audience: LiveUserInfo) {}
参数名
类型
说明
audience
离开的观众信息。
onAudienceMessageDisabled: 观众被禁止发言事件。
open fun onAudienceMessageDisabled(audience: LiveUserInfo, isDisable: Boolean) {}
参数名
类型
说明
audience
观众信息。
isDisable
Boolean
是否被禁止发言。