BarrageStore
Introduction
BarrageStore provides a complete set of barrage management APIs, including sending text barrages, sending custom barrages, and adding local tip messages.
Through this class, you can implement barrage interaction functionality in live rooms.
Important:
Use the create factory method to create a BarrageStore instance, which requires a valid live room ID.
Note:
Barrage state updates are delivered through the barrageState publisher. Subscribe to it to receive real-time updates of barrage data in the room.
Features
Text Barrage:Supports sending plain text barrage messages
Custom Barrage:Supports sending custom format barrages (such as barrages with special effects)
Local Tips:Supports adding tip messages visible only locally
Subscribable Data
BarrageState fields are described below:
Property | Type | Description |
messageList | Barrage message list of the current room, supports real-time updates and can be subscribed to. |
API List
Function | Description |
Create barrage management instance. | |
Send text barrage. | |
Send custom barrage. | |
Add local tip message. |
Creating Instance
create
Barrage management core class for handling barrage related business logic in live rooms/voice chat rooms.
static BarrageStore create(String liveID) {return StoreFactory.shared.getStore<BarrageStore>(liveID: liveID);}
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
liveID | String | Required | Live room ID. |
Sending Barrage
sendTextMessage
Send text type barrage.
Future<CompletionHandler> sendTextMessage({required String text,Map<String, String>? extensionInfo,});
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
text | String | Required | Text barrage content. |
extensionInfo | Map<String, String>? | Required | Extension information, can contain custom fields (such as specifying barrage color, font size, etc.). |
sendCustomMessage
Send custom type barrage.
Future<CompletionHandler> sendCustomMessage({required String businessID,required String data,});
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
businessID | String | Required | Business identifier ID, used to distinguish custom barrages from different business scenarios. |
data | String | Required | Custom data content, usually JSON format string, used to pass business custom data. |
Local Messages
appendLocalTip
Add local tip message (add tip or operation feedback message locally, visible only to the current client).
void appendLocalTip(Barrage message);
Version
Supported since version 3.5.
Notes
Note:
This message is only displayed locally and will not be sent to other users through the network.
Parameters
Parameter | Type | Required | Description |
message | Required | Local barrage message (such as system tips, operation feedback, etc., visible only to the current user). |
Data Structures
BarrageType
Barrage type enumeration, used to distinguish different barrage message types.
Enum Value | Value | Description |
text | 0 | Text type barrage, contains plain text content. |
custom | 1 | Custom type barrage, supports business custom data format (such as barrages with special effects, interactive messages, etc.). |
Barrage
Barrage data model, containing complete attribute information of a single barrage.
Property | Type | Description |
liveID | String | Unique identifier ID of the live room/voice chat room the barrage belongs to. |
sender | User information of the barrage sender (such as user ID, nickname, avatar, etc.). | |
sequence | int | Unique sequence ID of the barrage message, used for message sorting and deduplication. |
timestampInSecond | int | Barrage sending timestamp (unit: seconds), used to display sending time order. |
messageType | Barrage message type (text or custom). | |
textContent | String | Message content of text type barrage, i.e., the text content of the barrage. |
extensionInfo | Map<String, String> | Barrage extension information, customizable fields (such as display style, priority, etc.). Valid when messageType is TEXT. |
businessID | String | Business identifier ID of custom type barrage, used to distinguish custom barrages from different business scenarios. |
data | String | Specific data content of custom type barrage (usually JSON format string), valid when messageType is CUSTOM. |
BarrageState
Barrage state, managing the barrage data state of the current room.
Property | Type | Description |
messageList | Barrage message list of the current room, supports real-time updates and can be subscribed to. |