条件抽奖
功能概述
本模块主要用于处理条件抽奖相关的逻辑,监听条件抽奖开始推送、结束推送等消息,提供获取条件抽奖的详细信息、抽奖情况等接口,接入方可以根据这些事件流程定制自己的UI界面。
初始化及销毁
在实例化该模块并进行使用之前,需要对SDK进行初始化配置,详细见参考文档。
在线文件引入方式
<script src="https://websdk.videocc.net/interactions-receive-sdk/0.24.0/lib/polyv-ir.umd.js"></script>
<script>
const { WelfareLottery } = window.PolyvIRSDK;
</script>
import 方式引入(推荐)
import { WelfareLottery } from '@polyv/interactions-receive-sdk';
const welfareLotterySdk = new WelfareLottery();
// 销毁 SDK 实例,清除逻辑
welfareLotterySdk.destroy();
使用流程
监听 "抽奖开始(START)" 事件,实时获取最新的抽奖活动 在发起端发起抽奖后(具体发起端请咨询售后),本SDK内部会触发 welfareLotterySdk.events.START
事件,接入方可以监听该事件,获取抽奖ID
welfareLotterySdk.on(welfareLotterySdk.events.START, function(msg) {
console.log(`抽奖开始:`, msg);
});
请求getPendantList接口获取最新的抽奖活动(用于在发起抽奖活动后才进入聊天室的情况)
welfareLotterySdk.getPendantList().then(data => {
console.info(data);
});
获取到抽奖活动的ID后,请求getWelfareLotteryDetail接口获取具体的抽奖内容,可用于展示奖品信息、活动时间、参与人数等信息
welfareLotterySdk.getWelfareLotteryDetail().then(data => {
console.info(data);
});
完成评论抽奖,调用sendComment方法,自动发送评论完成条件。
// comment 关键词
// 自动发送关键词评论,并完成抽奖
welfareLotterySdk.sendComment(comment);
// 外部发言满足关键词,如聊天室内发送关键词评论,并完成抽奖。
if(welfareLotterySdk.isBooleanToCommentLottery(comment)) {
welfareLotterySdk.finishCommentLottery();
}
请求getTaskCondition接口获取当前用户任务完成情况
welfareLotterySdk.getTaskCondition().then(data => {
console.info(data);
});
监听 "抽奖结束(END)" 事件 在发起端结束抽奖后(具体发起端请咨询售后),本SDK内部会触发 welfareLotterySdk.events.END
事件,接入方可以监听该事件,为下一步展示结果做准备
welfareLotterySdk.on(welfareLotterySdk.events.END, function(msg) {
console.log(`抽奖结束:`, msg);
});
抽奖活动结束后,请求getWelfareLotteryDetail接口获取中奖用户ID列表,根据列表判断当前用户是否中奖
welfareLotterySdk.getWelfareLotteryDetail().then(data => {
// 从data.winnerIds判断当前用户是否中奖
// ...
});
获取个人中奖列表 getLotteryWinList
welfareLotterySdk.getLotteryWinList({
keyword,
pageSize,
pageNumber
}).then(data => {
console.info(data);
});
中奖人请求getLotteryPrize获取奖品详情,领取奖品方式、兑换码会在此接口返回
welfareLotterySdk.getLotteryPrize().then(data => {
console.info(data);
});
若领奖方式为提交表单,通过submitInfo接口提交中奖人信息
welfareLotterySdk.submitInfo({
lotteryId,
winnerCode,
receiveInfo: [
{
field,
value
}
],
}).then(data => {
console.info(data);
});
注意
开启了外部邀请且在移动端环境下,不再展示开奖动效,将直接显示开奖结果。
如果不需要再使用条件抽奖SDK时,请调用SDK实例的destroy方法去销毁实例。