|
|
## 云直播红包雨功能接入文档
|
|
|
|
|
|
[TOC]
|
|
|
|
|
|
|
|
|
|
|
|
### 结构图
|
|
|
|
|
|
![iOS-结构图](image/iOS-结构图.png)
|
|
|
|
|
|
### 时序图
|
|
|
|
|
|
![红包雨功能时序图](image/红包雨功能时序图.png)
|
|
|
|
|
|
### 接入方式
|
|
|
|
|
|
#### 本地集成
|
|
|
|
|
|
| 新增依赖库(动态库) | 接入方式 | 签名选择 |
|
|
|
| ------------------------------ | ----------------------------------------------------- | ------------ |
|
|
|
| HDSRedEnvelopeModule.framework | 下载zip包中 HDSRedEnvelopeModule 文件夹下,拖入项目中 | Embed & Sign |
|
|
|
| HDSInteractionEngine.framework | 下载zip包中 HDSInteractionEngine 文件夹下,拖入项目中 | Embed & Sign |
|
|
|
|
|
|
|
|
|
|
|
|
#### cocoapods 集成
|
|
|
|
|
|
| 新增依赖库(动态库) | 接入方式 | 是否必须 |
|
|
|
| ------------------------------ | ------------------------------------------------ | -------- |
|
|
|
| HDSRedEnvelopeModule.framework | 在Podfile文件中添加: Pod 'HDSRedEnvelopeModule' | 是 |
|
|
|
| HDSInteractionEngine.framework | 在Podfile文件中添加: Pod 'HDSInteractionEngine' | 是 |
|
|
|
|
|
|
|
|
|
|
|
|
### 新增 API
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 前置条件 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 房间互动功能配置信息(代理方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ---------------------------------- | ------------ | ------------------- |
|
|
|
| (void)onInteractionFunctionConfig: | 互动功能配置 | CCSDK/RequestData.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 互动功能配置
|
|
|
/// @param configModel 配置信息
|
|
|
- (void)onInteractionFunctionConfig:(HDSInteractionFunctionModel *)configModel;
|
|
|
```
|
|
|
|
|
|
##### HDSInteractionFunctionModel
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| --------- | ----------------------- | -------- | --------------------- |
|
|
|
| redModel | HDSInteractionRedModel | 红包雨配置 | CCSDK/PlayParameter.h |
|
|
|
|
|
|
###### HDSInteractionVoteModel
|
|
|
|
|
|
| 参数 | 注释 | 所在类文件 |
|
|
|
| ------------------ | ------------------------------------------- | --------------------- |
|
|
|
| redFunctionConfig | 红包雨功能配置 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)initRedEnvelopeFuncWithConfig: closure: | 初始化红包雨功能 | HDSRedEnvelopeModule/HDSRedEnvelopeFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 初始化红包雨功能
|
|
|
/// @param config 配置项
|
|
|
/// @param closure 操作回调
|
|
|
- (instancetype)initRedEnvelopeFuncWithConfig:(HDSRedEnvelopeConfig *)config closure:(completeHandler)closure NS_DESIGNATED_INITIALIZER;
|
|
|
```
|
|
|
|
|
|
##### HDSRedEnvelopeFuncConfig
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
| -------- | ------ | ------ | --------------------------------- |
|
|
|
| userId | String | 用户ID | HDSRedEnvelopeModule/HDSRedEnvelopeConfig.h |
|
|
|
| userName | String | 用户名 | HDSRedEnvelopeModule/HDSRedEnvelopeConfig.h |
|
|
|
| roomId | String | 房间ID | HDSRedEnvelopeModule/HDSRedEnvelopeConfig.h |
|
|
|
| token | String | token | HDSRedEnvelopeModule/HDSRedEnvelopeConfig.h |
|
|
|
|
|
|
|
|
|
|
|
|
#### 抢红包(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| --------------------------------------------- | ------------ | --------------------------- |
|
|
|
| (void)robRed: closure: | 抢红包 | HDSRedEnvelopeModule/HDSRedEnvelopeFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 抢红包
|
|
|
/// @param redActivityId 活动id
|
|
|
/// @param closure 操作回调
|
|
|
- (void)robRed:(NSString *)redActivityId closure:(completeHandler)closure;
|
|
|
```
|
|
|
|
|
|
### ---------------- 获取中奖排行榜 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 获取中奖排行榜(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| --------------------------------------- | ------------ | --------------------------- |
|
|
|
| (void)getRankList: closure: infoCallBack: | 获取中奖排行榜 | HDSRedEnvelopeModule/HDSRedEnvelopeFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 获取中奖排行榜
|
|
|
/// @param redActivityId 活动id
|
|
|
/// @param closure 操作回调
|
|
|
/// @param infoCallBack 数据回调
|
|
|
- (void)getRankList:(NSString *)redActivityId closure:(completeHandler)closure infoCallBack:(RedEnvelopeWinningListClosure)infoCallBack;
|
|
|
```
|
|
|
|
|
|
### ---------------- 获取红包详情 ----------------
|
|
|
#### 获取红包详情(主动方法)
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
| (void) getRedDetail: closure: infoCallBack: | 获取红包详情 | HDSRedEnvelopeModule/HDSRedEnvelopeFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 获取红包详情
|
|
|
/// @param redActivityId 活动id
|
|
|
/// @param closure 操作回调
|
|
|
/// @param infoCallBack 数据回调
|
|
|
- (void)getRedDetail:(NSString *)redActivityId closure:(completeHandler)closure infoCallBack:(RedEnvelopeInfoClosure)infoCallBack;
|
|
|
```
|
|
|
|
|
|
|
|
|
### ---------------- 获取用户中奖列表 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 获取用户中奖列表(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
| (void) getUserRecord: infoCallBack: | 获取用户中奖列表 | HDSRedEnvelopeModule/HDSRedEnvelopeFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 获取用户中奖列表
|
|
|
/// @param closure 操作回调
|
|
|
/// @param infoCallBack 数据回调
|
|
|
- (void)getUserRecord:(completeHandler)closure infoCallBack:(RedEnvelopeWinningUserListClosure)infoCallBack;
|
|
|
```
|
|
|
|
|
|
### ---------------- 重载红包雨功能 ----------------
|
|
|
#### 重载红包雨功能(被动方法)
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
| (void) reloadRedEnvelopeFuncWithClosure: | 重载红包雨功能 | HDSRedEnvelopeModule/HDSRedEnvelopeFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 重载红包雨功能
|
|
|
/// @param closure 操作回调
|
|
|
- (void)reloadRedEnvelopeFuncWithClosure:(completeHandler)closure;
|
|
|
```
|
|
|
|
|
|
### ---------------- 接收红包雨事件 ----------------
|
|
|
#### 接收红包雨事件(被动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
| (void)onRedEnvelopeEventWithMessage: | 发送红包雨事件 | HDSRedEnvelopeModule/HDSRedEnvelopeFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 接收红包雨 Pusher 消息
|
|
|
/// @param message 消息
|
|
|
- (void)onRedEnvelopeEventWithMessage:(HDSRedEnvelopeModel *)message;
|
|
|
```
|
|
|
|
|
|
|
|
|
### ---------------- 销毁红包雨组件 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
#### 销毁红包雨组件(主动方法)
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
| ------------- | ------------ | --------------------------- |
|
|
|
| (void)killAll | 销毁红包雨组件 | HDSRedEnvelopeModule/HDSRedEnvelopeFunc.h |
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
```objc
|
|
|
/// 销毁
|
|
|
- (void)killAll;
|
|
|
```
|
|
|
|