问卷组件

 

版本历史

版本号更新时间更新描述
1.0.12022.6.15问卷组件上线
1.1.32023.4.6图片选择组件更换
1.2.42023.8.7 修复已知问题

 

组件引入

注意:所有使用互动组件必须要引入basemodule库,最新版本见 互动组件对接文档

项目根目录build.gradle引入:

module的build.gradle引入:

Application的onCreate方法中,调用DWLiveEngine.init初始化dwlivesdk后,添加代码:

 

1. 组件描述

问卷组件是基于基础组件库扩展的问卷组件服务,通过IM组件实现问卷活动事件的推送,包括获取问卷列表,获取问卷详情、发送问卷等功能,为业务方提供问卷能力。问卷组件包含管理器和基于管理器实现的UI界面,接入方可基于管理器对外API实现完全自定义UI的问卷,也可直接集成组件SDK提供的UI。

 

2. 组件架构

2.1 组件架构图

image-20220506100931572

2.2 核心对外API

IQuestionnaireManager内部唯一实现类为QuestionnaireManagerImpl

作用API
初始化void init(BaseQuestionnaireListener listener, String userId, String roomId, String interactToken)
获取问卷列表getQuestionnaireList(IBaseCallBack callBack)
获取问卷详情getQuestionnaireDetail(String userCode,String formCode,IBaseCallBack<QuestionnaireListBean.DataDTO> callBack)
提交问卷submit(String formCode,String formContent,IBaseCallBack callBack)
获取问卷填写状况getQuestionnaireIsComplete(String formCode, IBaseCallBack callBack)
重连reConnect()
释放release()

API接口代码

 

 

 

3. 组件接入

3.1 使用组件提供UI

问卷ViewGroup为QuestionnaireMainLayout

  1. 登录业务SDK(云直播等)

  2. xml中添加QuestionnaireMainLayout

  3. 设置QuestionnaireMainLayout的Listener

  4. 初始化组件

    1. 获取token-初始组件需要传递参数token,可以通过业务SDK(云直播等)提供的对外API获取token

    2. 使用业务SDK提供的配置信息初始化组件SDK

      代码示例(以云直播为例):

  1. 销毁组件

 

3.2 使用组件管理器+自定义UI

问卷管理器实现类为QuestionnaireManagerImpl,对外方法参照IQuestionnaireManager,UI可以参考QuestionnaireBaseLayout以及其子类QuestionnaireMainLayout实现

 

4. 混淆配置

混淆配置

 

5. 组件库依赖