红包雨组件

 

版本历史

版本号更新时间更新描述
1.0.12022.5.7红包雨组件上线
1.0.22022.11.24支持自定义封面
1.2.42023.8.7修复已知问题
1.2.62023.12.1升级依赖Glide4.x版本
1.2.72024.2.2修复已知问题

 

组件引入

注意:所有使用互动组件必须要引入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

IRedPacketManager内部唯一实现类为RedPacketManagerImpl

作用API
初始化init(BaseRedPacketListener listener, String userId, String roomId, String interactToken)
发送礼物robRed(String redActivityId, IBaseCallBack sendVoteCallBack)
红包结果列表getRankList(String redActivityId, IBaseCallBack voteListCallBack)
获取用户红包记录getUserRecord(IBaseCallBack historyCallBack)
获取红包详情getRedDetail(String redActivityId, IBaseCallBack historyCallBack)
重连reConnect()
释放release()

API接口代码

2.3 数据参数定义

数据类参数说明

#####

3. 组件接入

3.1 使用组件提供UI

投票ViewGroup为VoteMainLayout

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

  2. 初始化组件

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

    2. 获取正在进行活动-如果需要进入时就展示互动组件,需要调用业务SDK提供的正在进行中组件活动API获取正在进行的活动

    3. 初始化组件-使用前两步获取的信息初始化组件SDK

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

  3. 销毁组件

 

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

红包雨管理器实现类为RedPacketManagerImpl,对外方法参照IRedPacketManager,helper实现可以参考RedPacketBaseHelper以及其子类RedPacketHelper实现

 

4. 混淆配置

混淆配置

 

5. 组件库依赖