广告营销 - 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使用方式。