|
|
|
## 云直播问卷功能接入文档
|
|
|
|
|
|
|
|
[TOC]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 结构图
|
|
|
|
|
|
|
|
![iOS-结构图](image/iOS-结构图.png)
|
|
|
|
|
|
|
|
### 时序图
|
|
|
|
|
|
|
|
![问卷功能时序图](image/问卷功能时序图.png)
|
|
|
|
|
|
|
|
### 接入方式
|
|
|
|
|
|
|
|
#### 本地集成
|
|
|
|
|
|
|
|
| 新增依赖库(动态库) | 接入方式 | 签名选择 |
|
|
|
|
| ------------------------------ | ----------------------------------------------------- | ------------ |
|
|
|
|
| HDSQuestionnaireModule.framework | 下载zip包中 HDSQuestionnaireModule 文件夹下,拖入项目中 | Embed & Sign |
|
|
|
|
| HDSInteractionEngine.framework | 下载zip包中 HDSInteractionEngine 文件夹下,拖入项目中 | Embed & Sign |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### cocoapods 集成
|
|
|
|
|
|
|
|
| 新增依赖库(动态库) | 接入方式 | 是否必须 |
|
|
|
|
| ------------------------------ | ------------------------------------------------ | -------- |
|
|
|
|
| HDSQuestionnaireModule.framework | 在Podfile文件中添加: Pod 'HDSQuestionnaireModule' | 是 |
|
|
|
|
| HDSInteractionEngine.framework | 在Podfile文件中添加: Pod 'HDSInteractionEngine' | 是 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 新增 API
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 前置条件 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 房间互动功能配置信息(代理方法)
|
|
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| ---------------------------------- | ------------ | ------------------- |
|
|
|
|
| (void)onInteractionFunctionConfig: | 互动功能配置 | CCSDK/RequestData.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 互动功能配置
|
|
|
|
/// @param configModel 配置信息
|
|
|
|
- (void)onInteractionFunctionConfig:(HDSInteractionFunctionModel *)configModel;
|
|
|
|
```
|
|
|
|
|
|
|
|
##### HDSInteractionFunctionModel
|
|
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
|
| --------- | ----------------------- | -------- | --------------------- |
|
|
|
|
| quesModel | HDSInteractionQuesitonnaireModel | 问卷配置 | CCSDK/PlayParameter.h |
|
|
|
|
|
|
|
|
###### HDSInteractionQuesitonnaireModel
|
|
|
|
|
|
|
|
| 参数 | 注释 | 所在类文件 |
|
|
|
|
| ------------------ | ------------------------------------------- | --------------------- |
|
|
|
|
| quesFunctionConfig | 问卷功能配置 0:关闭 1:直播间配置 2:全局配置 | CCSDK/PlayParameter.h |
|
|
|
|
| sendMode | 推送方式: 0:手动推送 1:进入直播时 2:直播结束时 | CCSDK/PlayParameter.h |
|
|
|
|
| activityCode | 活动编码 | CCSDK/PlayParameter.h |
|
|
|
|
| formCode | 表单编码 | 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)initQuestionnaireFuncWithConfig: | 初始化问卷功能 | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 初始化问卷功能
|
|
|
|
/// @param config 配置项
|
|
|
|
/// @param closure 操作回调
|
|
|
|
- (instancetype)initQuestionnaireFuncWithConfig:(HDSQuestionnaireConfig *)config closure:(completeHandler)closure
|
|
|
|
```
|
|
|
|
|
|
|
|
##### HDSQuestionnaireConfig
|
|
|
|
|
|
|
|
| 参数 | 类型 | 注释 | 所在类文件 |
|
|
|
|
| -------- | ------ | ------ | --------------------------------- |
|
|
|
|
| userId | String | 用户ID | HDSQuestionnaireModule/HDSQuestionnaireConfig.h |
|
|
|
|
| userName | String | 用户名 | HDSQuestionnaireModule/HDSQuestionnaireConfig.h |
|
|
|
|
| roomId | String | 房间ID | HDSQuestionnaireModule/HDSQuestionnaireConfig.h |
|
|
|
|
| token | String | token | HDSQuestionnaireModule/HDSQuestionnaireConfig.h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 获取问卷列表(主动方法)
|
|
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| --------------------------------------------- | ------------ | --------------------------- |
|
|
|
|
| (void)getPushQuery: dataCallBack: | 获取问卷列表 | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 获取问卷列表
|
|
|
|
/// @param closure 操作回调
|
|
|
|
/// @param dataCallBack 数据回调
|
|
|
|
- (void)getPushQuery:(completeHandler)closure dataCallBack:(HDSPushQueryDataBlock)dataCallBack;
|
|
|
|
```
|
|
|
|
|
|
|
|
### ---------------- 获取问卷详情 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 获取问卷详情(主动方法)
|
|
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| --------------------------------------- | ------------ | --------------------------- |
|
|
|
|
| (void)getFormsQueryDetail: formCode: closure: dataCallBack: | 查看单个问卷详情 | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 获取问卷详情
|
|
|
|
/// @param userCode 用户code
|
|
|
|
/// @param formCode 问卷code
|
|
|
|
/// @param closure 操作回调
|
|
|
|
/// @param dataCallBack 数据回调
|
|
|
|
- (void)getFormsQueryDetail:(NSString *)userCode formCode:(NSString *)formCode closure:(completeHandler)closure dataCallBack:(HDSPushQueryDetailBlock)dataCallBack;
|
|
|
|
```
|
|
|
|
|
|
|
|
### ---------------- 重载问卷事件 ----------------
|
|
|
|
#### 重载问卷事件(主动方法)
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
|
| (void)reloadQuestionnaireFuncWithClosure: | 重载问卷事件 | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 重载问卷功能
|
|
|
|
/// @param closure 操作回调
|
|
|
|
- (void)reloadQuestionnaireFuncWithClosure:(completeHandler)closure;
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 提交问卷 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 提交问卷(主动方法)
|
|
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
|
| (void)sendPushQuerResult: closure: | 提交问卷 | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 提交问卷
|
|
|
|
/// @param result 请求参数
|
|
|
|
/// @param closure 操作回调
|
|
|
|
- (void)sendPushQuerResult:(NSDictionary *)result closure:(completeHandler)closure;
|
|
|
|
```
|
|
|
|
|
|
|
|
### ---------------- 获取鉴权 ----------------
|
|
|
|
#### 获取鉴权(主动方法)
|
|
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
|
| (void)getUserSign: closure: dataCallBack: | 获取鉴权 | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 获取鉴权
|
|
|
|
- (void)getUserSign:(NSString *)userCode closure:(completeHandler)closure dataCallBack:(HDSGetSignBlock)dataCallBack;
|
|
|
|
```
|
|
|
|
|
|
|
|
### ---------------- 获取userCode ----------------
|
|
|
|
#### 获取userCode(主动方法)
|
|
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
|
| (void)getUserCode: | 获取userCode | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 获取userCode
|
|
|
|
- (void)getUserCode:(completeHandler)closure;
|
|
|
|
```
|
|
|
|
|
|
|
|
### ---------------- 获取是否填写过问卷 ----------------
|
|
|
|
#### 获取是否填写过问卷(主动方法)
|
|
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
|
| (void)getExistence: formCode: closure: | 获取是否填写过问卷 | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 获取是否填写过问卷
|
|
|
|
/// @param activityCode 活动编码
|
|
|
|
/// @param formCode 表单编码
|
|
|
|
/// @param closure 回调
|
|
|
|
- (void)getExistence:(NSString *)activityCode formCode:(NSString *)formCode closure:(completeHandler)closure;
|
|
|
|
```
|
|
|
|
|
|
|
|
### ---------------- 收到推送问卷 ----------------
|
|
|
|
#### 收到推送问卷(被动方法)
|
|
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| ----------------------------- | ------------ | --------------------------- |
|
|
|
|
| (void)onFormPush: | 收到推送问卷 | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
- (void)onFormPush:(HDSQuestionnairePushQuery * _Nullable)model;
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### ---------------- 销毁问卷组件 ----------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 销毁问卷组件(主动方法)
|
|
|
|
|
|
|
|
| 方法 | 注释 | 所在类文件 |
|
|
|
|
| ------------- | ------------ | --------------------------- |
|
|
|
|
| (void)killAll | 销毁问卷组件 | HDSQuestionnaireModule/HDSQuestionnaireFunc.h |
|
|
|
|
|
|
|
|
示例代码
|
|
|
|
|
|
|
|
```objc
|
|
|
|
/// 销毁
|
|
|
|
- (void)killAll;
|
|
|
|
```
|
|
|
|
|