LiveAudienceStore
Introduction
LiveAudienceStore provides a complete set of audience management APIs, including fetching audience list, setting administrators, kicking users, muting, etc.
Through this class, you can implement audience management functions in live rooms.
Important:
Use the create(liveID:) factory method to create a LiveAudienceStore instance, which requires a valid live room ID.
Note:
Audience state updates are delivered through the state publisher. Subscribe to it to receive real-time updates of audience data in the room.
Features
Audience List:Get and manage the audience list of the current room
Permission Management:Set and revoke administrator permissions
User Management:Kick users, mute, and other operations
Event Listening:Listen for audience join, leave, and other events
Subscribable Data
LiveAudienceState fields are described below:
Property | Type | Description |
audienceList | Audience list. | |
audienceCount | UInt | Audience count. |
messageBannedUserList | List of users banned from sending messages. |
API List
Function | Description |
Create audience management instance. | |
Audience event publisher. | |
Fetch audience list. | |
Set administrator. | |
Revoke administrator. | |
Kick user. | |
Mute/unmute user. |
Creating Instance
create
Create audience management instance
public static func create(liveID: String) -> LiveAudienceStore {let store: LiveAudienceStoreImpl = StoreFactory.shared.getStore(liveId: liveID)return store}
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
liveID | String | Required | Live room ID. |
Observing State and Events
liveAudienceEventPublisher
Audience event publisher
Audience Management
fetchAudienceList
Fetch audience list
public func fetchAudienceList(completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
completion | Required | Completion callback. |
setAdministrator
Set administrator
public func setAdministrator(userID: String,completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
userID | String | Required | User ID to be set as administrator. |
completion | Required | Completion callback. |
revokeAdministrator
Revoke administrator
public func revokeAdministrator(userID: String,completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
userID | String | Required | User ID to revoke administrator permission. |
completion | Required | Completion callback. |
kickUserOutOfRoom
Kick user out of room
public func kickUserOutOfRoom(userID: String,completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
userID | String | Required | User ID to be kicked out. |
completion | Required | Completion callback. |
disableSendMessage
Disable/enable user message sending
public func disableSendMessage(userID: String,isDisable: Bool,completion: CompletionClosure?) {fatalError("\(#function) must be overridden by subclass")}
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
userID | String | Required | Target user ID. |
isDisable | Bool | Required | true to disable message sending, false to enable. |
completion | Required | Completion callback. |
Data Structures
Role
User role.
Enum Value | Description |
owner | Room owner. |
admin | Administrator. |
generalUser | General user. |
LiveUserInfo
Live user information
Property | Type | Description |
userID | String | User unique identifier ID. |
userName | String | User name. |
avatarURL | String | User avatar URL. |
LiveAudienceState
Live audience state
Property | Type | Description |
audienceList | Audience list. | |
audienceCount | UInt | Audience count. |
messageBannedUserList | List of users banned from sending messages. |
LiveAudienceListener
Live audience events
This listener is used to receive audience dynamic events in the live room.
Methods
onAudienceJoined: Audience joined event.
case onAudienceJoined(audience: LiveUserInfo)
Parameter | Type | Description |
audience | Information of the joined audience. |
onAudienceLeft: Audience left event.
case onAudienceLeft(audience: LiveUserInfo)
Parameter | Type | Description |
audience | Information of the left audience. |
onAudienceMessageDisabled: Audience message disabled event.
case onAudienceMessageDisabled(audience: LiveUserInfo, isDisable: Bool)
Parameter | Type | Description |
audience | Audience information. | |
isDisable | Bool | Whether message sending is disabled. |