From a62905c725c5ffd88f29dfac644591cde18751e1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 10 九月 2020 13:40:09 +0800 Subject: [PATCH] 广告优化 --- BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java | 109 +++++++++++++++++++++--------------------------------- 1 files changed, 42 insertions(+), 67 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java index 378603f..fc1e882 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java @@ -16,6 +16,11 @@ import com.qq.e.ads.nativ.NativeExpressADView; import com.qq.e.comm.util.AdError; import com.weikou.beibeivideo.R; +import com.weikou.beibeivideo.entity.ad.AdTypeVO; +import com.weikou.beibeivideo.entity.ad.ExpressAdContainer; +import com.weikou.beibeivideo.util.ad.AdUtil; +import com.weikou.beibeivideo.util.ad.ExpressAdManager; +import com.weikou.beibeivideo.util.ad.ExpressAdManager.IAdEventListener; import java.util.List; @@ -34,15 +39,18 @@ this.setCancelable(false); } + public static class Builder { private Activity context; private String positiveButtonText; private String negativeButtonText; private OnClickListener positiveButtonClickListener; private OnClickListener negativeButtonClickListener; + ExpressAdManager expressAdManager; public Builder(Activity context) { this.context = context; + expressAdManager = new ExpressAdManager(AdUtil.getAdType(context, AdUtil.POSITION_EXIT_APP), context); } @@ -87,6 +95,8 @@ */ private FrameLayout fl_advertisement; + private ExpressAdContainer expressAdContainer; + public ExitDialog create() { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); @@ -94,7 +104,7 @@ final ExitDialog dialog = new ExitDialog(context, R.style.Dialog); View layout = inflater.inflate(R.layout.item_exit, null); fl_advertisement = layout.findViewById(R.id.fl_advertisement); - nativeAd(); + loadAd(); dialog.addContentView(layout, new FrameLayout.LayoutParams( FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT)); // set the confirm button @@ -127,82 +137,47 @@ private NativeExpressAD nativeExpressAD; // 1.鍔犺浇骞垮憡锛屽厛璁剧疆鍔犺浇涓婁笅鏂囩幆澧冨拰鏉′欢 - private void nativeAd() { - fl_advertisement.removeAllViews(); - nativeExpressAD = new NativeExpressAD(context, new ADSize(ADSize.FULL_WIDTH, ADSize.AUTO_HEIGHT), - BeibeiConstant.GDT_EXIT_DIALOG, new NativeExpressAD.NativeExpressADListener() { + private void loadAd() { + + expressAdManager.loadAppExitAd(new ExpressAdManager.IAdLoadListener() { @Override - public void onADLoaded(final List<NativeExpressADView> list) { - fl_advertisement.post(new Runnable() { - @Override - public void run() { - if (null != list && list.size() > 0) { - NativeExpressADView adView = list.get(0); - adView.render(); - FrameLayout parent = (FrameLayout) adView.getParent(); - if (parent != null) { - parent.removeAllViews(); - } - fl_advertisement.addView(adView); + public void onSuccess(List<ExpressAdContainer> adList) { + if (adList != null && adList.size() > 0) { + + ExpressAdManager.renderAd(context, adList.get(0), new ExpressAdManager.IAdRenderListener() { + @Override + public void onRenderSuccess(List<ExpressAdContainer> adList) { + expressAdContainer = adList.get(0); } - } - }); + + @Override + public void onRenderFail(List<ExpressAdContainer> adList) { + + } + }, null); + + } } + }); - @Override - public void onRenderFail(NativeExpressADView nativeExpressADView) { + } - } + public void showAd() { + if (expressAdContainer != null) { + ExpressAdManager.bindCloseListener(context,expressAdContainer,new IAdEventListener(){ - @Override - public void onRenderSuccess(NativeExpressADView nativeExpressADView) { - - } - - @Override - public void onADExposure(NativeExpressADView nativeExpressADView) { - } - - @Override - public void onADClicked(NativeExpressADView nativeExpressADView) { - - } - - @Override - public void onADClosed(NativeExpressADView nativeExpressADView) { - - } - - @Override - public void onADLeftApplication(NativeExpressADView nativeExpressADView) { - - } - - @Override - public void onADOpenOverlay(NativeExpressADView nativeExpressADView) { - - } - - @Override - public void onADCloseOverlay(NativeExpressADView nativeExpressADView) { - - } - - @Override - public void onNoAD(AdError adError) { - } - }); // 浼犲叆Activity - // 娉ㄦ剰锛氬鏋滄偍鍦ㄨ仈鐩熷钩鍙颁笂鏂板缓鍘熺敓妯℃澘骞垮憡浣嶆椂锛岄�夋嫨浜嗘敮鎸佽棰戯紝閭d箞鍙互杩涜涓�у寲璁剧疆锛堝彲閫夛級 - nativeExpressAD.setVideoOption(new VideoOption.Builder() - .setAutoPlayPolicy(VideoOption.AutoPlayPolicy.WIFI) // WIFI 鐜涓嬪彲浠ヨ嚜鍔ㄦ挱鏀捐棰� - .setAutoPlayMuted(true) // 鑷姩鎾斁鏃朵负闈欓煶 - .build()); // - nativeExpressAD.loadAD(2); + @Override + public void closeAd(ExpressAdContainer ad) { + fl_advertisement.removeAllViews(); + } + }); + ExpressAdManager.fillAd(expressAdContainer, fl_advertisement); + } } public void refreshAd() { - nativeAd(); + loadAd(); } } -- Gitblit v1.8.0