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 | ValueListenable<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
void addLiveAudienceListener(LiveAudienceListener listener);
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
listener | Required | Listener. |
removeLiveAudienceListener
Remove audience event listener
void removeLiveAudienceListener(LiveAudienceListener listener);
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
listener | Required | Listener. |
Audience Management
fetchAudienceList
Fetch audience list
Future<CompletionHandler> fetchAudienceList();
Version
Supported since version 3.5.
setAdministrator
Set administrator
Future<CompletionHandler> setAdministrator(String userID);
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
userID | String | Required | User ID to be set as administrator. |
revokeAdministrator
Revoke administrator
Future<CompletionHandler> revokeAdministrator(String userID);
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
userID | String | Required | User ID to revoke administrator permission. |
kickUserOutOfRoom
Kick user out of room
Future<CompletionHandler> kickUserOutOfRoom(String userID);
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
userID | String | Required | User ID to be kicked out. |
disableSendMessage
Disable/enable user message sending
Future<CompletionHandler> disableSendMessage({required String userID,required bool isDisable,});
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. |
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 | ValueListenable<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.
void Function(LiveUserInfo audience)? onAudienceJoined;
Parameter | Type | Description |
audience | Information of the joined audience. |
onAudienceLeft: Audience left event.
void Function(LiveUserInfo audience)? onAudienceLeft;
Parameter | Type | Description |
audience | Information of the left audience. |
onAudienceMessageDisabled: Audience message disabled event.
void Function(LiveUserInfo audience, bool isDisable)? onAudienceMessageDisabled;LiveAudienceListener({this.onAudienceJoined, this.onAudienceLeft, this.onAudienceMessageDisabled});
Parameter | Type | Description |
audience | Audience information. | |
isDisable | bool | Whether message sending is disabled. |