|
|
## 云直播打赏功能接入文档
|
|
|
|
|
|
[TOC]
|
|
|
|
|
|
|
|
|
|
|
|
### 结构图
|
|
|
|
|
|
![](image/iOS-结构图.png)
|
|
|
|
|
|
### 时序图
|
|
|
|
|
|
![](image/打赏功能时序图.png)
|
|
|
|
|
|
|
|
|
|
|
|
### 接入方式
|
|
|
|
|
|
#### 本地集成
|
|
|
|
|
|
| 新增依赖库(动态库) | 接入方式 | 签名选择 |
|
|
|
| ------------------------------ | ----------------------------------------------------- | ------------ |
|
|
|
| HDSGiftModule.framework | 下载zip包中 HDSGiftModule 文件夹下,拖入项目中 | Embed & Sign |
|
|
|
| HDSInteractionEngine.framework | 下载zip包中 HDSInteractionEngine 文件夹下,拖入项目中 | Embed & Sign |
|
|
|
|
|
|
|
|
|
|
|
|
#### cocoapods 集成
|
|
|
|
|
|
| 新增依赖库(动态库) | 接入方式 | 是否必须 |
|
|
|
| ------------------------------ | ------------------------------------------------ | -------- |
|
|
|
| HDSGiftModule.framework | 在Podfile文件中添加: Pod 'HDSGiftModule' | 是 |
|
|
|
| HDSInteractionEngine.framework | 在Podfile文件中添加: Pod 'HDSInteractionEngine' | 是 |
|
|
|
|
|
|
|
|
|
|
|
|
### 新增 API
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 前置条件 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 房间互动功能配置信息(代理方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ---------------------------------- | ------------ | ------------------- |
|
|
|
| (void)onInteractionFunctionConfig: | 互动功能配置 | CCSDK/RequestData.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 互动功能配置
|
|
|
/// @param configModel 配置信息
|
|
|
- (void)onInteractionFunctionConfig:(HDSInteractionFunctionModel *)configModel;
|
|
|
```
|
|
|
|
|
|
##### HDSInteractionFunctionModel
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| --------- | ----------------------- | ------------ | --------------------- |
|
|
|
| giftModel | HDSInteractionGiftModel | 打赏礼物配置 | CCSDK/PlayParameter.h |
|
|
|
|
|
|
###### HDSInteractionGiftModel
|
|
|
|
|
|
| 参数 | 注释 | 所在类文件 |
|
|
|
| ------------------ | ----------------------------------------------- | --------------------- |
|
|
|
| giftFunctionConfig | 打赏礼物功能配置 0:关闭 1:直播间配置 2:全局配置 | CCSDK/PlayParameter.h |
|
|
|
| specialEffects | 打赏礼物特效配置 0:关闭 1:左侧特效 2:全局特效 | CCSDK/PlayParameter.h |
|
|
|
|
|
|
|
|
|
|
|
|
#### 获取互动组件Token(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| --------------------------------------------------- | ------------------ | ------------------- |
|
|
|
| (void)getInteractionTokenWithClosure: tokenClosure: | 获取互动组件 token | CCSDK/RequestData.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 获取互动组件 token
|
|
|
/// @param closure 操作回调 (result 操作状态, message 信息)
|
|
|
/// @param tokenClosure token回调 " result == YES 时返回token, result == NO 时返回 @""(空字符串) "
|
|
|
- (void)getInteractionTokenWithClosure:(completeHandler)closure
|
|
|
tokenClosure:(interactionTokenClosure)tokenClosure;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 初始化打赏组件 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 初始化打赏礼物组件SDK(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ---------------------------------------------- | ------------------ | --------------------------- |
|
|
|
| (instancetype)initGiftFuncWithConfig: closure: | 初始化打赏礼物功能 | HDSGiftModule/HDSGiftFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 初始化打赏礼物功能
|
|
|
/// @param config 配置项
|
|
|
/// @param closure 操作回调
|
|
|
- (instancetype)initGiftFuncWithConfig:(HDSGiftFuncConfig *)config
|
|
|
closure:(completeHandler)closure;
|
|
|
```
|
|
|
|
|
|
##### HDSGiftFuncConfig
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| -------- | ------ | ------ | --------------------------------- |
|
|
|
| userId | String | 用户ID | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| userName | String | 用户名 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| roomId | String | 房间ID | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| token | String | token | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 重载打赏礼物功能(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| -------------------------------- | ---------------- | --------------------------- |
|
|
|
| (void)reloadGiftFuncWithClosure: | 重载打赏礼物功能 | HDSGiftModule/HDSGiftFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 重载打赏礼物功能
|
|
|
/// @param closure 操作回调
|
|
|
- (void)reloadGiftFuncWithClosure:(completeHandler)closure;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 获取历史打赏礼物记录(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ------------------------------------------ | -------------------- | --------------------------- |
|
|
|
| (void)getHistoricalGiftRecordsWithClosure: | 获取历史打赏礼物记录 | HDSGiftModule/HDSGiftFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 获取历史打赏礼物记录 (最小时间间隔大于 2000 ms)
|
|
|
/// @param closure 操作回调
|
|
|
- (void)getHistoricalGiftRecordsWithClosure:(completeHandler)closure;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 历史打赏礼物记录(代理方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ------------------------------------------ | ---------------- | --------------------------- |
|
|
|
| (void)getHistoricalGiftRecordsWithClosure: | 历史打赏礼物记录 | HDSGiftModule/HDSGiftFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 历史打赏礼物记录
|
|
|
- (void)onHistoricalGiftRecords:(NSArray *)giftRecords;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
##### HDSHistorcalSingleGiftRecordModel
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| ---------- | ------- | ------------ | --------------------------------- |
|
|
|
| fromUser | String | 发送者名字 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| fromUserId | String | 发送者userId | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| avatar | String | 发送者头像 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftImg | String | 打赏礼物地址 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftName | String | 打赏礼物名 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftNum | integer | 打赏礼物数量 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 打赏礼物列表 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 获取打赏礼物列表(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ------------------------------------------------ | ---------------- | --------------------------- |
|
|
|
| (void)getGiftListWithPageNum: pageSize: closure: | 获取打赏礼物列表 | HDSGiftModule/HDSGiftFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 获取打赏礼物列表 (最小时间间隔大于 500 ms)
|
|
|
/// @param pageNum 当前页 (页码从1开始)
|
|
|
/// @param pageSize 每页大小
|
|
|
/// @param closure 操作回调
|
|
|
- (void)getGiftListWithPageNum:(NSInteger)pageNum
|
|
|
pageSize:(NSInteger)pageSize
|
|
|
closure:(completeHandler)closure;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 打赏礼物列表(代理方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ---------------------- | ------------ | --------------------------- |
|
|
|
| (void)onGiftListModel: | 打赏礼物列表 | HDSGiftModule/HDSGiftFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 打赏礼物列表
|
|
|
- (void)onGiftListModel:(HDSGiftListModel *)listModel;
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
##### HDSGiftListModel
|
|
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| -------- | ---------------------- | ------------ | --------------------------------- |
|
|
|
| giftList | HDSGiftListSingleModel | 打赏礼物列表 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| pageNum | integer | 当前页 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| pageSize | integer | 每页大小 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| total | integer | 总数据量 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
|
|
|
|
|
|
|
|
|
###### HDSGiftListSingleModel
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| ------------- | ------ | ------------ | --------------------------------- |
|
|
|
| giftId | String | 打赏礼物id | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftName | String | 打赏礼物名 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftThumbnail | String | 打赏礼物地址 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 发送打赏礼物 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 发送打赏礼物事件(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| -------------------------------------- | ---------------- | --------------------------- |
|
|
|
| (void)sendGiftActionWithGift: closure: | 发送打赏礼物事件 | HDSGiftModule/HDSGiftFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 发送打赏礼物事件 (最小时间间隔大于 2000 ms)
|
|
|
/// @param singleModel 打赏礼物数据
|
|
|
/// @param closure 操作回调
|
|
|
- (void)sendGiftActionWithGift:(HDSSendSingleGiftModel *)singleModel
|
|
|
closure:(completeHandler)closure;
|
|
|
```
|
|
|
|
|
|
##### HDSSendSingleGiftModel
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| -------- | ------- | ------------------------------ | --------------------------------- |
|
|
|
| giftType | integer | 打赏类型 1 道具打赏 2 现金打赏 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftId | String | 打赏礼物id | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftNum | integer | 打赏礼物数量 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 收到用户打赏礼物 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 接收打赏礼物消息(代理方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ----------------------------- | ---------------- | --------------------------- |
|
|
|
| (void)onGiftEventWithMessage: | 接收打赏礼物消息 | HDSGiftModule/HDSGiftFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 接收打赏礼物消息
|
|
|
- (void)onGiftEventWithMessage:(HDSReceivedGiftModel *)message;
|
|
|
```
|
|
|
|
|
|
##### HDSReceivedGiftModel
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| ---------- | ------- | ------------ | --------------------------------- |
|
|
|
| fromUser | String | 发送者名字 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| fromUserId | String | 发送者userId | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| avatar | String | 发送者头像 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftImg | String | 打赏礼物地址 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftName | String | 打赏礼物名 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
| giftNum | integer | 打赏礼物数量 | HDSGiftModule/HDSGiftFuncConfig.h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 销毁打赏礼物 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 销毁打赏礼物(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ------------- | ------------ | --------------------------- |
|
|
|
| (void)killAll | 销毁打赏礼物 | HDSGiftModule/HDSGiftFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 销毁
|
|
|
- (void)killAll;
|
|
|
```
|
|
|
|