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 LiveAudienceStore.create factory method to create a LiveAudienceStore instance, which requires a valid live room ID.
Note:
Audience state updates are delivered through the liveAudienceState 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 | StateFlow<Int> | Audience count. |
messageBannedUserList | List of users banned from sending messages. |
API List
Function | Description |
Create audience management instance. | |
Audience event callbacks. | |
Audience event callbacks. | |
Fetch audience list. | |
Set administrator. | |
Revoke administrator. | |
Kick user. | |
Mute/unmute user. |
Creating Instance
LiveAudienceStore.create
Create audience management instance
Observing State and Events
addLiveAudienceListener
Add audience event listener
abstract fun addLiveAudienceListener(listener: LiveAudienceListener)
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
listener | Required | Listener. |
removeLiveAudienceListener
Remove audience event listener
abstract fun removeLiveAudienceListener(listener: LiveAudienceListener)
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
listener | Required | Listener. |
Audience Management
fetchAudienceList
Fetch audience list
abstract fun fetchAudienceList(completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
completion | Required | Completion callback. |
setAdministrator
Set administrator
abstract fun setAdministrator(userID: String?, completion: CompletionHandler?)
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
abstract fun revokeAdministrator(userID: String?, completion: CompletionHandler?)
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
abstract fun kickUserOutOfRoom(userID: String?, completion: CompletionHandler?)
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
abstract fun disableSendMessage(userID: String?,isDisable: Boolean,completion: CompletionHandler?)
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
userID | String? | Required | Target user ID. |
isDisable | Boolean | 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. |
GENERAL_USER | 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 | StateFlow<Int> | 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.
open fun onAudienceJoined(audience: LiveUserInfo) {}
Parameter | Type | Description |
audience | Information of the joined audience. |
onAudienceLeft: Audience left event.
open fun onAudienceLeft(audience: LiveUserInfo) {}
Parameter | Type | Description |
audience | Information of the left audience. |
onAudienceMessageDisabled: Audience message disabled event.
open fun onAudienceMessageDisabled(audience: LiveUserInfo, isDisable: Boolean) {}
Parameter | Type | Description |
audience | Audience information. | |
isDisable | Boolean | Whether message sending is disabled. |