LiveAudienceStore
简介
LiveAudienceStore 提供了一套完整的观众管理 API,包括获取观众列表、设置管理员、踢出用户、禁言等功能。
通过该类,可以在直播间内实现观众管理功能。
重要:
使用 LiveAudienceStore.create 工厂方法创建 LiveAudienceStore 实例,需要传入有效的直播间 ID。
说明:
观众状态更新通过 liveAudienceState 发布者传递。订阅它以接收房间内观众数据的实时更新。
功能特性
观众列表:获取和管理当前房间的观众列表。
权限管理:设置和撤销管理员权限。
用户管理:踢出用户、禁言等操作。
事件监听:监听观众加入、离开等事件。
可订阅数据
LiveAudienceState 的字段描述如下:
属性名 | 类型 | 描述 |
audienceList | 观众列表。 | |
audienceCount | ValueListenable<int> | 观众数量。 |
messageBannedUserList | 消息被禁言的用户列表。 |
API 列表
函数名 | 描述 |
创建观众管理实例。 | |
观众事件回调。 | |
观众事件回调。 | |
获取观众列表。 | |
设置管理员。 | |
撤销管理员。 | |
踢出用户。 | |
禁言/解禁用户。 |
创建实例
LiveAudienceStore.create
创建观众管理实例。
观察状态和事件
addLiveAudienceListener
添加观众事件监听器
void addLiveAudienceListener(LiveAudienceListener listener);
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
listener | 必填 | 监听器。 |
removeLiveAudienceListener
移除观众事件监听器
void removeLiveAudienceListener(LiveAudienceListener listener);
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
listener | 必填 | 监听器。 |
观众管理
fetchAudienceList
获取观众列表
Future<CompletionHandler> fetchAudienceList();
版本信息
从 3.5 版本开始支持。
setAdministrator
设置管理员
Future<CompletionHandler> setAdministrator(String userID);
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 要设置为管理员的用户ID。 |
revokeAdministrator
撤销管理员
Future<CompletionHandler> revokeAdministrator(String userID);
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 要撤销管理员权限的用户ID。 |
kickUserOutOfRoom
将用户踢出房间
Future<CompletionHandler> kickUserOutOfRoom(String userID);
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 要踢出的用户ID。 |
disableSendMessage
禁用/解禁用户发送消息
Future<CompletionHandler> disableSendMessage({required String userID,required bool isDisable,});
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 目标用户ID。 |
isDisable | bool | 必填 | true 表示禁用发送消息,false 表示解禁。 |
数据结构
Role
用户角色。
枚举值 | 说明 |
owner | 房主。 |
admin | 管理员。 |
generalUser | 普通用户。 |
LiveUserInfo
直播用户信息。
属性 | 类型 | 说明 |
userID | String | 用户唯一标识ID。 |
userName | String | 用户名称。 |
avatarURL | String | 用户头像URL。 |
LiveAudienceState
直播观众状态。
属性 | 类型 | 说明 |
audienceList | 观众列表。 | |
audienceCount | ValueListenable<int> | 观众数量。 |
messageBannedUserList | 消息被禁言的用户列表。 |
LiveAudienceListener
直播观众事件。
此监听器用于接收直播间内的观众动态事件。
方法
onAudienceJoined: 观众加入事件。
void Function(LiveUserInfo audience)? onAudienceJoined;
参数名 | 类型 | 说明 |
audience | 加入的观众信息。 |
onAudienceLeft: 观众离开事件。
void Function(LiveUserInfo audience)? onAudienceLeft;
参数名 | 类型 | 说明 |
audience | 离开的观众信息。 |
onAudienceMessageDisabled: 观众被禁止发言事件。
void Function(LiveUserInfo audience, bool isDisable)? onAudienceMessageDisabled;LiveAudienceListener({this.onAudienceJoined, this.onAudienceLeft, this.onAudienceMessageDisabled});
参数名 | 类型 | 说明 |
audience | 观众信息。 | |
isDisable | bool | 是否被禁止发言。 |