tencent cloud

实时音视频

动态与公告
产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
产品简介
产品概述
基本概念
产品功能
产品优势
应用场景
性能数据
购买指南
计费概述
免费时长说明
月订阅
现收现付
TRTC 逾期与暂停政策
常见问题解答
退款说明
新手指引
Demo 体验
视频通话 SDK
组件介绍
开通服务
跑通 Demo
快速接入
离线唤醒
会话聊天
云端录制
AI 降噪
界面定制
Chat 集成通话能力
更多特性
无 UI 集成
服务端 API
客户端 API
解决方案
错误码表
发布日志
常见问题
视频会议 SDK
组件介绍(TUIRoomKit)
开通服务(TUIRoomKit)
跑通 Demo(TUIRoomKit)
快速接入(TUIRoomKit)
屏幕共享(TUIRoomKit)
预定会议(TUIRoomKit)
会中呼叫(TUIRoomKit)
界面定制(TUIRoomKit)
虚拟背景(TUIRoomKit)
会议控制(TUIRoomKit)
云端录制(TUIRoomKit)
AI 降噪(TUIRoomKit)
会中聊天(TUIRoomKit)
机器人推流(TUIRoomKit)
更多特性(TUIRoomKit)
客户端 API(TUIRoomKit)
服务端 API(TUIRoomKit)
常见问题(TUIRoomKit)
错误码 (TUIRoomKit)
SDK更新日志(TUIRoomKit)
直播与语聊 SDK
Live 视频直播计费说明
组件介绍
开通服务(TUILiveKit)
跑通 Demo
无 UI 集成
UI 自定义
直播监播
视频直播
语聊房
高级功能
客户端 API
服务端 API
错误码
发布日志
常见问题
RTC Engine
开通服务
SDK 下载
API-Example
接入指引
API-参考手册
高级功能
AI 集成
概述
MCP 配置
Skills 配置
集成指南
常见问题
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
控制台指南
应用管理
套餐包管理
用量统计
监控仪表盘
开发辅助
解决方案
实时合唱
常见问题
迁移指南
计费相关
功能相关
UserSig 相关
应对防火墙限制相关
缩减安装包体积相关
Andriod 与 iOS 相关
Web 端相关
Flutter 相关
Electron 相关
TRTCCalling Web 相关
音视频质量相关
其他问题
旧版文档
RTC RoomEngine SDK(旧)
集成 TUIRoom (Web)
集成 TUIRoom (Android)
集成 TUIRoom (iOS)
集成 TUIRoom (Flutter)
集成 TUIRoom (Electron)
TUIRoom API 查询
实现云端录制与回放(旧)
监控仪表盘计费(旧)
协议与策略
安全合规认证
安全白皮书
信息安全说明
服务等级协议
苹果隐私策略:PrivacyInfo.xcprivacy
TRTC 政策
隐私协议
数据处理和安全协议
词汇表

礼物系统

PDF
聚焦模式
字号
最后更新时间: 2026-03-26 16:39:26
TUILiveKit 提供了一套点赞送礼系统解决方案,涵盖礼物素材管理、礼物扣费回调、礼物特效播放、礼物数据统计等功能。通过本文档,您可快速实现直播间礼物互动功能,并支持深度定制以满足业务需求。
说明:
本文将针对含 UI 的接入方式介绍礼物系统;若您使用的接入方式为无 UI 集成,请参考以下接入方式:
视频直播:请参考 无 UI 集成 > 礼物(视频直播)
语聊房:请参考 无 UI 集成 > 礼物(语聊房)

核心功能

礼物素材配置:通过服务端 API 管理礼物信息、礼物分类和多语言配置。
礼物列表展示:客户端提供开箱即用的礼物面板和播放组件,支持完整的用户交互流程。
礼物扣费回调:可与您的计费系统无缝对接,完成余额校验和扣费流程。
礼物特效播放:提供基础和高级两种特效播放器,满足不同性能需求。
PK分数联动:支持礼物价值与主播 PK 分数的实时联动。
礼物数据统计:提供完整的礼物数据统计和查询能力。


效果演示

礼物面板
弹幕礼物
全屏礼物










快速接入

本部分将介绍如何将礼物系统接入到您的项目中,以实现具备礼物列表展示、发送礼物、礼物特效播放的能力。

步骤 1:开通服务

参考 开通服务 文档开通 TUILiveKit,使用礼物系统要求开通体验版专业版。不同套餐中关于可配置的礼物数量有所不同,详见 功能与计费说明 中的【礼物系统】说明。

步骤 2:代码集成

您需要首先完成 TUILiveKit 代码集成,目前提供多种接入方式,具体差异可见 接入方式说明。接入完成后,在对应的主播页和观众页将默认包含礼物列表页与礼物特效播放能力。
接入方式
配置方式
视频直播
平台
Android:参考 准备工作 接入TUILiveKit。
iOS: 参考 准备工作 接入TUILiveKit。
版本限制: TUILiveKit >= 3.2.0
语聊房
平台
Android:参考 准备工作 接入TUILiveKit。
iOS: 参考 准备工作 接入TUILiveKit。
版本限制: TUILiveKit >= 3.2.0
UI 自定义
平台
Android: 参考直播送礼组件 接入礼物选择面板组件礼物播放组件
iOS: 参考 直播送礼组件 接入礼物选择面板组件礼物播放组件

功能使用

在直播场景中,礼物系统需要与您的计费系统和数据统计等业务紧密结合。本部分将详细介绍如何根据您的业务需求进行深度定制。

一、配置自定义礼物

通过 TUILiveKit 服务端 REST API,可对礼物清单进行全面管理,实现礼物系统的个性化定制,满足不同业务场景需求。
注意:
礼物自定义配置仅支持服务端 REST API 调用,更多配置详情可参考 礼物配置指引文档

配置时序图



涉及 REST API 接口一览

接口分类
接口
请求示例
​礼物管理​
添加礼物信息
删除礼物信息
查询礼物信息
礼物​分类管理​
添加礼物分类信息
删除指定礼物分类信息
获取指定礼物分类信息
​礼物关系管理​
添加指定礼物分类和礼物间的关系
删除指定礼物分类和礼物间的关系
获取指定礼物分类下的礼物关系
​礼物多语言​管理
添加礼物多语言信息
删除指定礼物多语言信息
获取礼物多语言信息
添加礼物分类多语言信息
删除指定礼物分类多语言信息
获取礼物分类多语言信息

二、计费与送礼扣费流程

TUILiveKit 不内置计费系统,需与您的自建计费系统对接,完成 “用户送礼 → 余额校验 → 扣费 → 结果同步” 全流程。

调用流程图



关键流程说明

1. 客户端发起送礼​:用户在直播间客户端的 GiftListPanel 组件上,完成发送礼物的交互操作。
2. TUILiveKit 触发回调​:TUILiveKit 后台调用您配置的回调 URL,将送礼信息(例如礼物 Coins、用户标识等)传递给您的后台。
3. ​计费系统余额扣费校验​:您的后台系统调用您的客户计费系统,校验用户余额是否充足,并执行实际扣费操作。
4. 扣费结果返回 TUILiveKit​:您的后台向 TUILiveKit 后台返回扣费结果(成功 / 失败)。
5. ​TUILiveKit 后台同步到客户端:若扣费成功,TUILiveKit 后台向房间内所有客户端广播送礼结果,并触发礼物特效动画播放;若扣费失败,TUILiveKit 后台通知发起送礼的客户端 “送礼请求失败”。

涉及 REST API 接口一览

接口
说明
请求示例
回调配置 - 发送礼物之前回调
客户后台可以通过该回调决定是否通过送礼前校验等场景。

三、数据统计​

提供完整的礼物数据统计能力,帮助您了解礼物发放情况、用户行为趋势和业务运营效果。

调用流程图



关键流程说明

1. TUILiveKit 收集存储数据​:TUILiveKit 后台自动收集所有礼物相关数据,并安全存储礼物发放记录和统计信息。
2. 查询数据​:您的后台服务可以调用 TUILiveKit REST API 接口,查询礼物的统计数据。
3. TUILiveKit 返回结果​:TUILiveKit 后台向您的后台返回格式化后的统计结果。

涉及的 REST API 接口一览

接口
说明
请求示例
主动接口 - 查询礼物统计
通过该接口获取某个用户的收礼统计。

四、PK 分数联动(可选)

通常在直播主播 PK 场景下,需将主播收到的礼物价值与 PK 数值挂钩(例:观众送 “火箭” 礼物,主播 PK 分数增加 500 分),通过礼物互动提升 PK 竞技性与直播氛围。
重要说明:
TUILiveKit 后台的 PK 分数系统采用纯数值计算和累加机制,所以您需要根据自身的运营策略和业务需求,调用更新接口前完成 PK 分数的计算,您可以参考如下的PK 分数计算示例:
礼物类型
分数计算规则
示例
​基础礼物​
礼物价值 × 5
10元礼物 → 50分
​中级礼物​
礼物价值 × 8
50元礼物 → 400分
​高级礼物​
礼物价值 × 12
100元礼物 → 1200分
​特效礼物​
固定高分数
520元礼物 → 1314分


调用流程图



关键流程说明

1. 获取 PK 状态​
回调配置​:您可以通过配置 PK 状态回调,由 TUILiveKit 后台在 PK 开始、结束时,主动通知您的系统 PK 状态。
主动查询​:您的后台服务可主动调用 PK 状态查询 接口,随时查询当前 PK 状态。
2. PK 分数计算​:您的后台服务根据业务规则(如上述示例),计算 PK 分数增量。
3. PK 分数更新​:您的后台服务调用 修改 PK 分数 接口,向 TUILiveKit 后台更新 PK 分数。
4. TUILiveKit 同步客户端​:TUILiveKit 后台自动将更新后的 PK 分数同步到所有客户端。

涉及的 REST API 接口一览

接口
说明
请求示例
主动接口 - 查询 PK 状态
可根据此接口查询当前房间是否在 PK。
主动接口 - 修改 PK 分数
将计算后的 PK 数值通过此接口更新。
回调配置 - PK 开始时回调
客户后台可以通过该回调及时知晓 PK 开启。
回调配置 - PK 结束时回调
客户后台可以通过该回调及时知晓 PK 结束。

五、礼物动画特效 SDK​ (可选)

TUILiveKit 提供了两种礼物特效播放器:基础特效播放器(内置)礼物动画特效 SDK​(需额外集成)
对比项
基础特效播放器
礼物动画特效 SDK​
计费
免费
付费,请参考 付费指引
集成方式
默认内置
需额外集成,可参考 礼物动画特效 SDK​ 集成指引
动画支持
点赞动画
弹幕动画
全屏动画
点赞动画
弹幕动画
全屏动画
动画格式
仅支持SVGA
SVGA、WebP、PAG、Lottie、PNG、MP4、VAP等。
性能
支持 <=10MB SVGA文件
支持更大的动画文件,在播放复杂特效时,性能占用更低,确保多动画同时播放流畅,尤其在低端设备上表现优异。

礼物动画特效 SDK​集成

Android
iOS
1. 下载组件:下载并解压 TUILiveKit,把Android/tceffectplayerkit 文件夹拷贝到自己的工程中,和 app 同级目录。



2. 集成组件:编辑您自己工程的 settings.gradle 文件,添加下面的代码:
include ':tceffectplayerkit'
3. 初始化鉴权:在您的应用初始化位置,调用 TCMediaXBase 的方法进行鉴权,LicenseUrlLicenseKey 获取方式请查看 License 指引
TCMediaXBase.getInstance().setLicense(context,
"LicenseUrl", // 请替换 LicenseUrl
"LicenseKey", // 请替换 LicenseKey
new ILicenseCallback() {
@Override
public void onResult(int error, String message) {
Log.i("TCMediaXBase", "setLicense result: " + error + " " + message);
}
});
4. 完成上述步骤后,TUILiveKit 会自动切到高级特效播放器,您无需做其它操作。
1. 下载组件:下载并解压 TUILiveKit,把iOS/TCEffectPlayerKit 文件夹拷贝到自己的工程中,和 Podfile 同级目录。



2. 集成组件:编辑 Podfile 文件,添加下面的代码并在终端执行 pod install 命令:
pod 'TCEffectPlayerKit',:podspec => './TCEffectPlayerKit/TCEffectPlayerKit.podspec'
3. 初始化鉴权:在您的应用初始化位置,调用 TCMediaXBase 的方法进行鉴权,LicenseUrlLicenseKey 获取方式请查看 License 指引
//
// AppDelegate.swift
//

import TCMediaX

func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
TCMediaXBase.getInstance().setDelegate(self)
TCMediaXBase.getInstance().setLicenceURL("LicenseURL", key: "LicenseKEY")
return true
}

func onLicenseCheckCallback(_ errcode: Int32, withParam param: [AnyHashable : Any]) {
debugPrint("[TCMediaXBase] setLicense result: errcode:\\(errcode), param:\\(param)")
}
4. 完成上述步骤后,TUILiveKit 会自动切到高级特效播放器,您无需做其它操作。

常见问题

计费系统需要我自己开发吗?

是的。TUILiveKit 通过回调机制与您的计费系统对接,您需要自行实现用户账户系统、处理扣费验证回调、并管理积分发放规则。

我需要关心 PK 联动吗?它是如何工作的?

您需要关心。TUILiveKit 提供的 PK 分数系统是基于纯数值的累加机制,您需要根据自己的业务需求计算每次送礼所增加的 PK 分数,然后调用 TUILiveKit 的接口来更新分数,TUILiveKit 会自动将分数同步到客户端。

没有服务端,只有客户端,如何配置礼物?

如果您没有自己的服务端,可以使用 PostmanApifox 等 API 工具,直接调用 TUILiveKit 提供的 REST API 来配置礼物列表。

送礼通知会被禁言或频控拦截吗?

不会。送礼通知不受禁言或频控影响,确保可靠投递。

特效播放卡顿怎么办?

请检查您的 SVGA 文件大小是否小于 10MB。如果文件过大,您可以考虑升级到礼物动画特效 SDK​ 以获得更优的性能。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈