From 7f0825f8195a522ed7e8bcdb6347f3a719e06c74 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 16 六月 2025 15:29:44 +0800
Subject: [PATCH] 新版穿山甲接入/拦截应用宝链接跳转至应用市场

---
 BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java
index 3a59758..b41892a 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/util/ad/ExpressAdManager.java
@@ -39,12 +39,19 @@
 import com.weikou.beibeivideo.util.DimenUtils;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * 淇℃伅娴佸箍鍛婄鐞�
  */
 public class ExpressAdManager {
+    public final static String POSITION_RECOMMEND = "recommend";
+    public final static String POSITION_SEARCH = "search";
+    public final static String POSITION_SEARCH_RESULT = "search_result";
+    public final static String POSITION_VIDEO_DETAIL_PLAYER_BOTTOM = "video_detail_player_bottom";
+    public final static String POSITION_EXIT = "exit";
 
 
     final static String TAG = "ExpressAdManager";
@@ -53,9 +60,10 @@
 
     private TTAdNative mTTAdNative;
     private Context mContext;
+    private static Set<String> closedAdPositions = new HashSet<>();// 鏄惁宸茬粡鍏抽棴骞垮憡
+    private String positionName;
 
-
-    public ExpressAdManager(AdUtil.AD_TYPE adSource, Context context) {
+    public ExpressAdManager(AdUtil.AD_TYPE adSource, String positionName, Context context) {
         sourceType = adSource;
         this.mContext = context;
         if (sourceType == AdUtil.AD_TYPE.csj) {
@@ -67,6 +75,7 @@
                 e.printStackTrace();
             }
         }
+        this.positionName = positionName;
     }
 
 
@@ -81,6 +90,10 @@
      * @param adLoadListener
      */
     public void loadAd(int widthDP, int heightDP, String pid, int count, final IAdLoadListener adLoadListener) {
+        if (closedAdPositions.contains(positionName)) {
+            // 骞垮憡宸茬粡鍏抽棴
+            return;
+        }
         if (sourceType == AdUtil.AD_TYPE.gdt || sourceType == AdUtil.AD_TYPE.gdt2) {
             loadGDT(pid, widthDP, heightDP, count, new IGDTAdLoadListener() {
                 @Override
@@ -159,7 +172,7 @@
      * @param adLoadListener
      */
     public void loadVideoDetailPlayerBottomAd(final IAdLoadListener adLoadListener) {
-        if(sourceType==null){
+        if (sourceType == null) {
             return;
         }
         Log.i(TAG, "loadVideoDetailPlayerBottomAd");
@@ -269,7 +282,7 @@
         int height = (int) (widthDP / 1.78f);
         if (sourceType == AdUtil.AD_TYPE.csj) {
             pid = CSJConstant.VIDEO_SEARCH;
-            height=0;
+            height = 0;
         } else if (sourceType == AdUtil.AD_TYPE.gdt2) {
             pid = BeibeiConstant.GDT_SEARCH_NATIVE;
         } else if (sourceType == AdUtil.AD_TYPE.hw) {
@@ -486,7 +499,7 @@
      * @param fl_ad
      * @param adEventListener
      */
-    public static void renderAndFillAd(Activity activity, final ExpressAdContainer ad, final FrameLayout fl_ad, final IAdEventListener adEventListener) {
+    public static void renderAndFillAd(Activity activity, final ExpressAdContainer ad, final FrameLayout fl_ad, String positionName, final IAdEventListener adEventListener) {
 
         if (ad == null) {//骞垮憡涓虹┖
             fl_ad.setVisibility(View.GONE);
@@ -521,6 +534,7 @@
                         if (adEventListener != null) {
                             adEventListener.closeAd(ad);
                         }
+                        closedAdPositions.add(positionName);
                     }
 
 
@@ -550,6 +564,7 @@
                             if (adEventListener != null) {
                                 adEventListener.closeAd(ad);
                             }
+                            closedAdPositions.add(positionName);
                         }
                     });
 
@@ -573,7 +588,7 @@
      * @param adRenderListener
      * @param adEventListener
      */
-    public static void renderAd(Activity activity, final ExpressAdContainer ad, final IAdRenderListener adRenderListener, final IAdEventListener adEventListener) {
+    public static void renderAd(Activity activity, final ExpressAdContainer ad, String positionName, final IAdRenderListener adRenderListener, final IAdEventListener adEventListener) {
 
         if (ad == null) {//骞垮憡涓虹┖
             return;
@@ -629,6 +644,7 @@
                         if (adEventListener != null) {
                             adEventListener.closeAd(ad);
                         }
+                        closedAdPositions.add(positionName);
                     }
 
 
@@ -650,6 +666,7 @@
                         if (adEventListener != null) {
                             adEventListener.closeAd(ad);
                         }
+                        closedAdPositions.add(positionName);
                     }
                 });
 

--
Gitblit v1.8.0