GiftStore
简介
GiftStore 提供了一套完整的礼物管理 API,包括发送礼物、刷新礼物列表、设置语言和监听礼物事件。
通过该类,可以在直播间内实现礼物互动功能。
重要:
使用 GiftStore.create 工厂方法创建 GiftStore 实例,需要传入有效的直播间 ID。
说明:
礼物状态更新通过 giftState 发布者传递。订阅它以接收房间内礼物数据的实时更新。
功能特性
礼物发送:支持向当前房间发送指定礼物。
礼物列表:获取和刷新当前房间可用的礼物列表。
语言设置:设置礼物信息的展示语言。
事件监听:监听礼物接收事件。
可订阅数据
GiftState 的字段描述如下:
属性名 | 类型 | 描述 |
usableGifts | 当前房间可用的所有礼物分类及礼物列表。 |
API 列表
函数名 | 描述 |
创建礼物管理实例。 | |
礼物事件回调。 | |
礼物事件回调。 | |
发送礼物。 | |
刷新可用礼物列表。 | |
设置展示语言。 |
创建实例
GiftStore.create
创建礼物管理实例。
观察状态和事件
addGiftListener
礼物事件回调
removeGiftListener
礼物事件回调
礼物操作
sendGift
向当前房间发送指定礼物
Future<CompletionHandler> sendGift({required String giftID,required int count,});
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
giftID | String | 必填 | 要发送的礼物唯一标识 ID。 |
count | int | 必填 | 单次发送的礼物数量。 |
refreshUsableGifts
手动刷新当前房间的可用礼物列表。
Future<CompletionHandler> refreshUsableGifts();
版本信息
从 3.5 版本开始支持。
setLanguage
设置礼物信息的展示语言。
void setLanguage(String language);
版本信息
从 3.5 版本开始支持。
参数说明
参数名 | 类型 | 是否必填 | 描述 |
language | String | 必填 | 语言代码("zh-CN" 表示中文,"en" 表示英文),设置完成展示界面刷新后礼物名称、描述等会同步更新为对应语言。 |
数据结构
Gift
礼物数据模型,包含单个礼物的完整属性信息。
属性 | 类型 | 说明 |
giftID | String | 礼物ID。 |
name | String | 礼物名称。 |
desc | String | 礼物描述。 |
iconURL | String | 礼物图标图片的网络 URL,用于加载礼物缩略图。 |
resourceURL | String | 礼物动效资源文件的网络 URL,用于加载礼物展示动效。 |
level | int | 礼物等级,用于区分礼物稀有度或价值层级。 |
coins | int | 礼物价格(金币)。 |
extensionInfo | Map<String, String> | 礼物扩展信息,可自定义字段(如特效类型、赠送限制等)。 |
GiftCategory
礼物分类。
属性 | 类型 | 说明 |
categoryID | String | 分类唯一标识 ID,用于区分不同礼物分类。 |
name | String | 分类展示名称,用于 UI 分类显示(如 "热门礼物","高级礼物")。 |
desc | String | 分类描述信息,用于说明该分类的特点。 |
extensionInfo | Map<String, String> | 分类扩展信息,包含自定义字段(如排序权重、显示样式等)。 |
giftList | 当前分类下的所有礼物列表。 |
GiftState
礼物状态,管理当前房间的礼物数据状态,支持实时更新并可被订阅监听。
属性 | 类型 | 说明 |
usableGifts | 当前房间可用的所有礼物分类及礼物列表。 |
GiftListener
礼物事件,用于接收直播间/语音聊天房内的礼物动态。
方法
onReceiveGift: 收到新礼物消息的事件回调。当直播间/语音聊天房内有其他观众发送礼物时,会触发该事件并返回相关信息。
void Function(String liveID, Gift gift, int count, LiveUserInfo sender)? onReceiveGift;GiftListener({this.onReceiveGift});
参数名 | 类型 | 说明 |
liveID | String | 直播间ID。 |
gift | 礼物信息。 | |
count | int | 礼物数量。 |
sender | 礼物发送者信息。 |