admin
2023-11-21 2eec3de87b6b616a69a46c1f97c2397159031d2f
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);
        }
    }