| 方法 | 方法描述 |
|---|---|
| imReceiveRoomMessage | 消息回调监听 |
| 方法 | 方法描述 |
|---|---|
| VHRoomEventType.WATCH_GIFT_OPEN | 推送观看有礼消息 |
| VHRoomEventType.WATCH_GIFT_END | 观看有礼结束消息 |
public getWatchGiftLastInfo(webinarId: number, callback: VHWatchGiftCallback)| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | 987009283 | 活动id |
| callback | 是 | xx | VHWatchGiftCallback回调接口 |
在进入直播间时调用,或监听到VHRoomEventType.WATCH_GIFT_OPEN时调用
//参与观看有礼 需要先调用此接口,表示开始参与,否则会提示参与时长不够
VHSaaSDK.getInstance().getWatchGiftLastInfo(this.webinar_info?.webinar?.id!, {
// 成功
onSucceed: (data: VHWatchGiftInfo) => {
//进入直播间如果正在推送且没有到达观看限制,则显示观看有礼信息
if (data.state == 1 && data?.watch_minute! * 60 > data?.online_duration!) {
this.handleWatchGift(data);
}
},
// 失败
onFailure: (errorCode: number, errorMsg: string) => {
}
})if (type == VHRoomEventType.WATCH_GIFT_OPEN) {
this.handleWatchGiftOpen(message)
} else if (type == VHRoomEventType.WATCH_GIFT_END) {
this.handleWatchGiftEnd(message)
}| VHWatchGiftInfo | 类型 | 备注 |
|---|---|---|
| id | number | 观看有礼 ID |
| business_uid | business_uid | B 端用户 ID ,活动发起者用户id |
| title | string | 标题 |
| watch_minute | number | 观看时长,观看几分钟能抽奖 |
| display_of_results | number | 展示效果 0 全屏展示,1 半屏展示 |
| can_look_winner_list | number | 是否可以显示中将名单 0不显示 1 显示 |
| state | number | 状态: 1 已推送,2 已结束 |
| winners_times | number | 中奖次数(当前用户在本场活动中过几次奖) |
| winners_state | number | 当前观看有礼中奖状态, 0 未抽奖,1 未中奖,2 已中奖,3 已领奖 |
| take_award_times | number | take_award_times |
| online_duration | number | 在线时长 |
public getWatchGiftAwardList(webinarId: number, watchGiftId: number, callback: VHWatchGiftAwardListCallback)| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | 987009283 | 活动id |
| watchGiftId | 是 | 观看有礼id,通过getWatchGiftLastInfo接口获得 | |
| callback | 是 | xx | VHWatchGiftAwardListCallback |
VHSaaSDK.getInstance().getWatchGiftAwardList(this.webinar_info?.webinar?.id!,this.watchGiftId?.id!,{
onSucceed: (data: VHWatchGiftAward) => {
this.isCheckAwardList = true;
if(data.total > 0){
this.highlightDataSource.updateData(data.list);
}
},
onFailure: (errorCode: number, errorMsg: string) => {
}
});
})| VHWatchGiftInfo | 类型 | 备注 |
|---|---|---|
| total | number | 奖项总数 |
| list | VHGiftAwardItem[] | 奖项列表 |
| VHGiftAwardItem | 类型 | 备注 |
|---|---|---|
| quantity | number | 数量 |
| sort | number | 排序值 |
| scenes | number | 场景:0=抽奖 1=观看有礼 |
| extension | string | 扩展信息 |
| award_id | number | 奖项ID |
| award_name | string | 奖项名称 |
| award_img_url | string | 奖项图片URL |
| award_desc | string | 奖项描述 |
| create_time | string | 创建时间(格式:YYYY-MM-DD HH:MM:SS) |
| award_type | string | 奖品类型:0-自定义奖品 1-优惠券奖品 2-礼品 3-三方奖品 默认0 |
| coupon_id | string | 优惠券ID |
| third_lottery_id | string | 第三方抽奖ID |
public setWatchGiftParticipate(webinarId: number, watchGiftId: number, roomsId: string, switchId: number,
callback: VHWatchGiftParticipateCallback)| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | 987009283 | 活动id |
| watchGiftId | 是 | 观看有礼id,通过getWatchGiftLastInfo接口获得 | |
| roomId | 是 | 房间id | |
| switchId |