4_5-带货场景-打赏
1 功能概述
打赏功能支持观众给主播赠送礼物,观众打赏界面被封装为打赏弹层PLVECRewardPopupView,打赏礼物条被封装为PLVECRewardGiftAnimView
2 使用演示
发送打赏礼物和监听他人打赏事件均依赖于聊天室的chatroomPresenter,需要预先构建该Presenter对象
发送打赏示例代码如下:
// PLVECLiveHomeFragment.java
// 打赏弹层创建
PLVECRewardPopupView rewardPopupView = new PLVECRewardPopupView();
// 显示打赏弹层
private void showRewardLayout(View v) {
// 显示打赏弹层,并设置点击打赏按钮时的回调响应
rewardPopupView.showRewardLayout(v, new PLVECRewardGiftAdapter.OnViewActionListener() {
@Override
public void onRewardClick(View view, PLVCustomGiftBean giftBean) {
// 隐藏打赏弹层
rewardPopupView.hide();
String nickName = PolyvSocketWrapper.getInstance().getLoginVO().getNickName();
showRewardGiftAnimView(nickName + "(我)", giftBean);
addCustomGiftToChatList(nickName + "(我)", giftBean.getGiftName(), giftBean.getGiftType(), true);
// 通过自定义信息事件发送礼物信息至聊天室
chatroomPresenter.sendCustomGiftMessage(giftBean, nickName + " 赠送了" + giftBean.getGiftName());
}
});
}监听他人打赏事件示例代码如下:
3 实现介绍
3.1 打赏弹层 - PLVECRewardPopupView
Demo中PLVECRewardPopupView使用了本地生成的打赏礼物列表作为演示,也可以接入后端实现动态的礼物列表。
3.2 打赏礼物条 - PLVECRewardGiftAnimView
打赏礼物条PLVECRewardGiftAnimView通过调用其acceptRewardGiftMessage(RewardGiftInfo)方法进行礼物条的显示,会自动隐藏。
在内部方法showRewardLayout()中进行了礼物条动画的逻辑处理,可以根据实际需要进行修改。
Last updated
Was this helpful?