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
ValueListenable<List<LiveUserInfo>>
Audience list.
audienceCount
ValueListenable<int>
Audience count.
messageBannedUserList
ValueListenable<List<LiveUserInfo>>
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
ValueListenable<List<LiveUserInfo>>
Audience list.
audienceCount
ValueListenable<int>
Audience count.
messageBannedUserList
ValueListenable<List<LiveUserInfo>>
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.