LiveAudienceStore
简介
LiveAudienceStore 提供了一套完整的观众管理 API,包括获取观众列表、设置管理员、踢出用户、禁言等功能。
通过该类,可以在直播间内实现观众管理功能。
重要:
使用 create(liveID:) 工厂方法创建 LiveAudienceStore 实例,需要传入有效的直播间 ID。
说明:
观众状态更新通过 state 发布者传递。订阅它以接收房间内观众数据的实时更新。
功能特性
观众列表:获取和管理当前房间的观众列表。
权限管理:设置和撤销管理员权限。
用户管理:踢出用户、禁言等操作。
事件监听:监听观众加入、离开等事件。
可订阅数据
LiveAudienceState 的字段描述如下:
属性名 | 类型 | 描述 |
audienceList | 观众列表。 | |
audienceCount | UInt | 观众数量。 |
messageBannedUserList | 消息被禁言的用户列表。 |
API 列表
函数名 | 描述 |
创建观众管理实例。 | |
观众事件发布者。 | |
获取观众列表。 | |
设置管理员。 | |
撤销管理员。 | |
踢出用户。 | |
禁言/解禁用户。 |
创建实例
create
创建观众管理实例
public static func create(liveID: String) -> LiveAudienceStore {let store: LiveAudienceStoreImpl = StoreFactory.shared.getStore(liveId: liveID)return store}
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
liveID | String | 必填 | 直播间ID。 |
观察状态和事件
liveAudienceEventPublisher
观众事件发布者
观众管理
fetchAudienceList
获取观众列表
public func fetchAudienceList(completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
completion | 必填 | 完成回调。 |
setAdministrator
设置管理员
public func setAdministrator(userID: String,completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 要设置为管理员的用户ID。 |
completion | 必填 | 完成回调。 |
revokeAdministrator
撤销管理员
public func revokeAdministrator(userID: String,completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 要撤销管理员权限的用户ID。 |
completion | 必填 | 完成回调。 |
kickUserOutOfRoom
将用户踢出房间
public func kickUserOutOfRoom(userID: String,completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 要踢出的用户ID。 |
completion | 必填 | 完成回调。 |
disableSendMessage
禁用/解禁用户发送消息
public func disableSendMessage(userID: String,isDisable: Bool,completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
userID | String | 必填 | 目标用户ID。 |
isDisable | Bool | 必填 | true 表示禁用发送消息,false 表示解禁。 |
completion | 必填 | 完成回调。 |
数据结构
Role
用户角色。
枚举值 | 说明 |
owner | 房主。 |
admin | 管理员。 |
generalUser | 普通用户。 |
LiveUserInfo
直播用户信息。
属性 | 类型 | 说明 |
userID | String | 用户唯一标识ID。 |
userName | String | 用户名称。 |
avatarURL | String | 用户头像URL。 |
LiveAudienceState
直播观众状态。
属性 | 类型 | 说明 |
audienceList | 观众列表。 | |
audienceCount | UInt | 观众数量。 |
messageBannedUserList | 消息被禁言的用户列表。 |
LiveAudienceListener
直播观众事件。
此监听器用于接收直播间内的观众动态事件。
方法
onAudienceJoined: 观众加入事件。
case onAudienceJoined(audience: LiveUserInfo)
参数名 | 类型 | 说明 |
audience | 加入的观众信息。 |
onAudienceLeft: 观众离开事件。
case onAudienceLeft(audience: LiveUserInfo)
参数名 | 类型 | 说明 |
audience | 离开的观众信息。 |
onAudienceMessageDisabled: 观众被禁止发言事件。
case onAudienceMessageDisabled(audience: LiveUserInfo, isDisable: Bool)
参数名 | 类型 | 说明 |
audience | 观众信息。 | |
isDisable | Bool | 是否被禁止发言。 |