GiftStore

最近更新时间:2026-02-13 14:12:32

我的收藏

简介

GiftStore 提供了一套完整的礼物管理 API,包括发送礼物、刷新礼物列表、设置语言和监听礼物事件。 通过该类,可以在直播间内实现礼物互动功能。
重要:
使用 create(liveID:) 工厂方法创建 GiftStore 实例,需要传入有效的直播间 ID。
说明:
礼物状态更新通过 state 发布者传递。订阅它以接收房间内礼物数据的实时更新。

功能特性

礼物发送:支持向当前房间发送指定礼物。
礼物列表:获取和刷新当前房间可用的礼物列表。
语言设置:设置礼物信息的展示语言。
事件监听:监听礼物接收事件。

可订阅数据

GiftState 的字段描述如下:
属性名
类型
描述
usableGifts
当前房间可用的所有礼物分类及礼物列表。

API 列表

函数名
描述
创建礼物管理实例。
礼物事件发布者。
发送礼物。
刷新可用礼物列表。
设置展示语言。

创建实例

create

创建礼物管理实例。
public static func create(liveID: String) -> GiftStore {
let store: GiftStoreImpl = StoreFactory.shared.getStore(liveId: liveID)
return store
}
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
liveID
String
必填
直播间ID。

观察状态和事件

giftEventPublisher

礼物事件发布者

礼物操作

sendGift

向当前房间发送指定礼物
public func sendGift(giftID: String,
count: UInt,
completion: CompletionClosure?) {
fatalError("\\(#function) must be overridden by subclass")
}
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
giftID
String
必填
要发送的礼物唯一标识 ID。
count
UInt
必填
单次发送的礼物数量。
completion
必填
完成回调(成功/失败状态)。

refreshUsableGifts

手动刷新当前房间的可用礼物列表。
public func refreshUsableGifts(completion: CompletionClosure?) {
fatalError("\\(#function) must be overridden by subclass")
}
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
completion
必填
完成回调(成功时可通过 state 获取最新礼物列表,失败时返回错误信息)。

setLanguage

设置礼物信息的展示语言。
public func setLanguage(_ language: String) {
fatalError("\\(#function) must be overridden by subclass")
}
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
language
String
必填
语言代码("zh-CN" 表示中文,"en" 表示英文),设置完成展示界面刷新后礼物名称、描述等会同步更新为对应语言。

数据结构

Gift

礼物数据模型,包含单个礼物的完整属性信息。
属性
类型
说明
giftID
String
礼物ID。
name
String
礼物名称。
desc
String
礼物描述。
iconURL
String
礼物图标图片的网络 URL,用于加载礼物缩略图。
resourceURL
String
礼物动效资源文件的网络 URL,用于加载礼物展示动效。
level
UInt
礼物等级,用于区分礼物稀有度或价值层级。
coins
UInt
礼物价格(金币)。
extensionInfo
[String: String]
礼物扩展信息,可自定义字段(如特效类型、赠送限制等)。

GiftCategory

礼物分类。
属性
类型
说明
categoryID
String
分类唯一标识 ID,用于区分不同礼物分类。
name
String
分类展示名称,用于 UI 分类显示(如 "热门礼物","高级礼物")。
desc
String
分类描述信息,用于说明该分类的特点。
extensionInfo
[String: String]
分类扩展信息,包含自定义字段(如排序权重、显示样式等)。
giftList
当前分类下的所有礼物列表。

GiftState

礼物状态,管理当前房间的礼物数据状态,支持实时更新并可被订阅监听。
属性
类型
说明
usableGifts
当前房间可用的所有礼物分类及礼物列表。

GiftListener

礼物事件,用于接收直播间/语音聊天房内的礼物动态。
方法
onReceiveGift: 收到新礼物消息的事件回调。当直播间/语音聊天房内有其他观众发送礼物时,会触发该事件并返回相关信息。
case onReceiveGift(liveID: String, gift: Gift, count: UInt8, sender: LiveUserInfo)
参数名
类型
说明
liveID
String
直播间ID。
gift
礼物信息。
count
UInt8
礼物数量。
sender
礼物发送者信息。