GiftStore
Introduction
GiftStore provides a complete set of gift management APIs, including sending gifts, refreshing gift lists, setting language, and listening to gift events.
Through this class, gift interaction features can be implemented in live rooms.
Important:
Use the GiftStore.create factory method to create a GiftStore instance, passing a valid live room ID.
Note:
Gift state updates are delivered through the giftState publisher. Subscribe to it to receive real-time updates of gift data in the room.
Features
Gift Sending:Support sending specified gifts to the current room
Gift List:Get and refresh the available gift list in the current room
Language Setting:Set the display language for gift information
Event Listening:Listen to gift receiving events
Subscribable Data
GiftState fields are described below:
Property | Type | Description |
usableGifts | All gift categories and gift lists available in the current room. |
API List
Function | Description |
Create gift management instance. | |
Gift event callbacks. | |
Gift event callbacks. | |
Send gift. | |
Refresh available gift list. | |
Set display language. |
Creating Instance
GiftStore.create
Create gift management instance
Observing State and Events
addGiftListener
Gift event callbacks
removeGiftListener
Gift event callbacks
Gift Operations
sendGift
Send a specified gift to the current room
Future<CompletionHandler> sendGift({required String giftID,required int count,});
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
giftID | String | Required | Unique identifier ID of the gift to send. |
count | int | Required | Number of gifts to send at once. |
refreshUsableGifts
Manually refresh the available gift list in the current room.
Future<CompletionHandler> refreshUsableGifts();
Version
Supported since version 3.5.
setLanguage
Set the display language for gift information.
void setLanguage(String language);
Version
Supported since version 3.5.
Parameters
Parameter | Type | Required | Description |
language | String | Required | Language code ("zh-CN" for Chinese, "en" for English). After setting, gift names, descriptions, etc. will be updated to the corresponding language when the display interface is refreshed. |
Data Structures
Gift
Gift data model, containing complete attribute information of a single gift.
Property | Type | Description |
giftID | String | Gift ID. |
name | String | Gift name. |
desc | String | Gift description. |
iconURL | String | Network URL of the gift icon image, used to load gift thumbnails. |
resourceURL | String | Network URL of the gift animation resource file, used to load gift display animations. |
level | int | Gift level, used to distinguish gift rarity or value tier. |
coins | int | Gift price (coins). |
extensionInfo | Map<String, String> | Gift extension information, customizable fields (such as effect type, sending restrictions, etc.). |
GiftCategory
Gift category.
Property | Type | Description |
categoryID | String | Category unique identifier ID, used to distinguish different gift categories. |
name | String | Category display name, used for UI category display (such as "Popular Gifts", "Premium Gifts"). |
desc | String | Category description information, used to explain the characteristics of this category. |
extensionInfo | Map<String, String> | Category extension information, containing custom fields (such as sorting weight, display style, etc.). |
giftList | All gifts under the current category. |
GiftState
Gift state, managing the gift data state of the current room, supporting real-time updates and subscription listening.
Property | Type | Description |
usableGifts | All gift categories and gift lists available in the current room. |
GiftListener
Gift event, used to receive gift dynamics in live rooms/voice chat rooms.
Methods
onReceiveGift: Event callback when receiving a new gift message. This event is triggered when other viewers send gifts in the live room/voice chat room, returning relevant information.
void Function(String liveID, Gift gift, int count, LiveUserInfo sender)? onReceiveGift;GiftListener({this.onReceiveGift});
Parameter | Type | Description |
liveID | String | Live room ID. |
gift | Gift information. | |
count | int | Gift count. |
sender | Gift sender information. |