广告营销 - mengzhuSDK/MengzhuSDK_Android GitHub Wiki
本文介绍盟主云直播Android SDK 广告营销功能
1. 开屏广告
1.1 封装控件调用
MZFullScreenPopupWindow 内部封装完成开屏广告相关内容展示并且提供数据以及功能回调。调用方式如下:
MZFullScreenPopupWindow popUp = new MZFullScreenPopupWindow(this,mTicketId);
popUp.setClippingEnabled(false);
popUp.setBackgroundDrawable(null);
popUp.showAtLocation(rootView, Gravity.CENTER, 0, 0);
相关功能回调如下:
// 开屏广告控件获取到广告内容数据的时候回调
popUp.setOnGetMZAdResult(new MZFullScreenPopupWindow.OnGetMZAdResultListener() {
@Override
public void onMzAdResult(MZAdDto mzAdDto) {
/**
* MZAdFullScreenDto 开屏广告
*/
if(mzAdDto.full_screen.getContent()!=null){
if(mzAdDto.full_screen.getContent().size()>0){
handler.sendEmptyMessage(1);
}
}else {
handler.sendEmptyMessage(2);
}
}
});
// 开屏广告点击事件调用,回调控制台配置的跳转外链
popUp.setOnImagerClickListener(new MZFullScreenPopupWindow.OnImagerClickListener() {
@Override
public void onImagerClick(String link) {
//点击开屏广告监听并返回对应网络地址
ToastUtils.popUpToast("点击获取外链="+link);
if (!TextUtils.isEmpty(link))
popUp.dismiss();
}
});
// 开屏广告关闭事件回调
popUp.setOnFullScreenDismissListener(new MZFullScreenPopupWindow.OnFullScreenDismiss() {
@Override
public void onDismiss() {
//弹窗关闭回调
if(!isLink){
handler.sendEmptyMessage(2);
}
}
});
具体调用相关逻辑 可参考sdkdemo里的PlayerActivity的使用逻辑
2 播放页滚动广告
2.1 滚动广告封装控件调用
MZADBannerView 封装滚动广告样式,内部数据请求封装,点击事件回调等,使用方式如下:
// xml布局引用
<com.mengzhu.live.sdk.ui.widgets.MZADBannerView
android:id="@+id/banner_halfplayerfragment_ad"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_80"
android:visibility="gone" />
// 代码里面调用展示
private MZADBannerView mzADBannerView; //滚动广告banner
mzADBannerView = rootView.findViewById(R.id.banner_halfplayerfragment_ad);
// 调用封装控件 展示数据,传入参数ticket_id
mzADBannerView.loadData(ticketId);
// 视频全屏时隐藏
mzADBannerView.setVisibility(View.GONE);
// 视频恢复半屏时调用 内部根据数据判断是否展示
mzADBannerView.changePortrait();
// 滚动广告 点击事件回调
mzADBannerView.setOnMZRollADItemClickListener(new MZADBannerView.OnMZRollADItemClickListener() {
@Override
public void onItemClickListener(MZAdRollAdvertDto mzAdRollAdvertDto) {
Log.e("TAG", "onItemClickListener: " + mzAdRollAdvertDto.getType());
}
});
具体使用逻辑参考 MZMediaSDK library中的HalfPlayerFragment使用方式。
3片头广告
3.1使用方式
原有视频播放组件增加播放片头广告功能,具体使用方式如下:
//从PlayInfoDto里获取是否含有广告标识
MZPlayerManager.setVideo_advert(mPlayInfoDto.getVideo_advert());
// 设置活动ID
MZPlayerManager.setTicket_id(ticketId);
//设置以上两个参数自动加载控制台配置的片头广告视频
其他开放配置方法以及回调设置
public void stopAD();
/**
* 设置广告点击事件回调
* @param onADClickListener
*/
public void setOnADClickListener(OnADClickListener onADClickListener) ;
/**
* 设置广告倒计时事件回调
* @param onADCountDownListener
*/
public void setOnADCountDownListener(OnADCountDownListener onADCountDownListener);
/**
* 设置跳过文案
* @param skipText
*/
public void setTVSkipText(String skipText);
/**
* 设置跳过倒计时 layoutParams
* @param layoutParams
*/
public void setTVSkipLayoutParams(RelativeLayout.LayoutParams layoutParams);
/**
* 获取广告倒计时
* @return
*/
public long getADCountDownTime();
/**
* 暂停广告
*/
public void pauseADCountDown();
/**
* 继续播放广告
*/
public void resumeADCountDown();
mManager.setOnADClickListener(new OnADClickListener() {
@Override
public void onSkipClick(MZPlayAdVideoDto videoAdvertDto) {
ToastUtils.popUpToast("点击跳过");
// 跳过按钮点击事件
}
@Override
public void onADVideoClick(MZPlayAdVideoDto videoAdvertDto) {
//广告视频点击事件
}
});
//倒计时回调方法
mManager.setOnADCountDownListener(new OnADCountDownListener() {
@Override
public void onCountDown(long countDownTime) {
Log.e("Tag", "onCountDown: " + countDownTime);
}
@Override
public void onCountDownEnd(MZPlayAdVideoDto videoAdvertDto) {
ToastUtils.popUpToast("视频广告倒计时结束");
}
});
具体使用逻辑参考 MZMediaSDK library中的HalfPlayerFragment使用方式。