From 2c5b6e472c368e80d85b8ea2b461c9ea62981d9b Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期日, 08 十月 2023 11:28:56 +0800
Subject: [PATCH] 广告升级/bug修复

---
 BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java |   56 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 31 insertions(+), 25 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java
index fc1e882..c89ca61 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ExitDialog.java
@@ -3,20 +3,18 @@
 import android.app.Activity;
 import android.app.Dialog;
 import android.content.Context;
+import android.content.DialogInterface;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.FrameLayout;
-import android.widget.Toast;
 
+import com.lcjian.library.util.ManifestDataUtil;
 import com.lcjian.library.util.SystemCommon;
-import com.qq.e.ads.cfg.VideoOption;
-import com.qq.e.ads.nativ.ADSize;
-import com.qq.e.ads.nativ.NativeADDataRef;
 import com.qq.e.ads.nativ.NativeExpressAD;
-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.AdPositionEnum;
 import com.weikou.beibeivideo.entity.ad.ExpressAdContainer;
 import com.weikou.beibeivideo.util.ad.AdUtil;
 import com.weikou.beibeivideo.util.ad.ExpressAdManager;
@@ -50,7 +48,10 @@
 
         public Builder(Activity context) {
             this.context = context;
-            expressAdManager = new ExpressAdManager(AdUtil.getAdType(context, AdUtil.POSITION_EXIT_APP), context);
+            AdUtil.AD_TYPE adType = AdUtil.getAdType(context, AdPositionEnum.exitApp);
+            if (adType == AdUtil.AD_TYPE.gdt)
+                adType = AdUtil.AD_TYPE.gdt2;
+            expressAdManager = new ExpressAdManager(adType, context);
         }
 
 
@@ -104,9 +105,8 @@
             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);
-            loadAd();
             dialog.addContentView(layout, new FrameLayout.LayoutParams(
-                    FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT));
+                    FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT));
             // set the confirm button
             layout.findViewById(R.id.tv_login)
                     .setOnClickListener(new View.OnClickListener() {
@@ -129,15 +129,23 @@
             params.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT;
             dialog.getWindow().setAttributes(params);
             dialog.setCanceledOnTouchOutside(false);
+            dialog.setOnDismissListener(new OnDismissListener() {
+                @Override
+                public void onDismiss(DialogInterface dialog) {
+                    fl_advertisement.removeAllViews();
+                }
+            });
             return dialog;
         }
-
-        NativeADDataRef adDataRef;
 
         private NativeExpressAD nativeExpressAD;
 
         // 1.鍔犺浇骞垮憡锛屽厛璁剧疆鍔犺浇涓婁笅鏂囩幆澧冨拰鏉′欢
-        private void loadAd() {
+        private void loadAd(boolean show) {
+            //vivo鏃犲箍鍛�
+            if ("vivo".equalsIgnoreCase(ManifestDataUtil.getAppMetaData(context, "UMENG_CHANNEL"))) {
+                return;
+            }
 
             expressAdManager.loadAppExitAd(new ExpressAdManager.IAdLoadListener() {
                 @Override
@@ -148,11 +156,18 @@
                             @Override
                             public void onRenderSuccess(List<ExpressAdContainer> adList) {
                                 expressAdContainer = adList.get(0);
+                                if (show) {
+                                    ExpressAdManager.renderAndFillAd(context, adList.get(0), fl_advertisement, new IAdEventListener() {
+                                        @Override
+                                        public void closeAd(ExpressAdContainer ad) {
+                                            fl_advertisement.removeAllViews();
+                                        }
+                                    });
+                                }
                             }
 
                             @Override
                             public void onRenderFail(List<ExpressAdContainer> adList) {
-
                             }
                         }, null);
 
@@ -164,20 +179,11 @@
         }
 
         public void showAd() {
-            if (expressAdContainer != null) {
-                ExpressAdManager.bindCloseListener(context,expressAdContainer,new IAdEventListener(){
-
-                    @Override
-                    public void closeAd(ExpressAdContainer ad) {
-                        fl_advertisement.removeAllViews();
-                    }
-                });
-                ExpressAdManager.fillAd(expressAdContainer, fl_advertisement);
-            }
+            loadAd(true);
         }
 
         public void refreshAd() {
-            loadAd();
+            loadAd(false);
         }
 
     }

--
Gitblit v1.8.0