From 760aee20870a34e6130a1c12237c5b747e2b00bd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 28 一月 2022 12:58:40 +0800 Subject: [PATCH] 隐私合规,青少年模式,64位兼容 --- MGVideo/src/com/mugua/mgvideo/util/ad/FullVideoAdManager.java | 125 ++++++++++++++++++++++++++++++++--------- 1 files changed, 96 insertions(+), 29 deletions(-) diff --git a/MGVideo/src/com/mugua/mgvideo/util/ad/FullVideoAdManager.java b/MGVideo/src/com/mugua/mgvideo/util/ad/FullVideoAdManager.java index 79e81b6..b4c19ad 100644 --- a/MGVideo/src/com/mugua/mgvideo/util/ad/FullVideoAdManager.java +++ b/MGVideo/src/com/mugua/mgvideo/util/ad/FullVideoAdManager.java @@ -1,7 +1,7 @@ package com.mugua.mgvideo.util.ad; import android.app.Activity; -import android.content.Context; +import android.util.Log; import com.bytedance.sdk.openadsdk.AdSlot; import com.bytedance.sdk.openadsdk.TTAdConstant; @@ -9,7 +9,11 @@ import com.bytedance.sdk.openadsdk.TTAdNative; import com.bytedance.sdk.openadsdk.TTFullScreenVideoAd; import com.mugua.mgvideo.util.DimenUtils; -import com.yeshi.base.utils.ad.CSJConstant; +import com.qq.e.ads.cfg.VideoOption; +import com.qq.e.ads.interstitial2.UnifiedInterstitialAD; +import com.qq.e.ads.interstitial2.UnifiedInterstitialADListener; +import com.qq.e.comm.util.AdError; +import com.yeshi.base.utils.ad.AdTypeEnum; import com.yeshi.base.utils.ad.TTAdManagerHolder; public class FullVideoAdManager { @@ -26,11 +30,23 @@ return fullVideoAdManager; } - public void loadAd(final Context context, final IFullVideoAdListener adListener) { - int w = DimenUtils.getScreenWidth(context); - int h = DimenUtils.getScreenHeight(context); + public void loadAd(final Activity context, AdTypeEnum adType, String pid, final IFullVideoAdListener adListener) { + + if (adType == AdTypeEnum.csj) { + showCSJ(context, pid, adListener); + }else{ + showGdt(context,pid,adListener); + } + + + } + + private void showCSJ(Activity activity, String pid, final IFullVideoAdListener adListener) { + int w = DimenUtils.getScreenWidth(activity); + int h = DimenUtils.getScreenHeight(activity); + AdSlot adSlot = new AdSlot.Builder() - .setCodeId(CSJConstant.CODE_FULL_VIDEO_VIDEO_DETAIL) + .setCodeId(pid) .setSupportDeepLink(true) .setExpressViewAcceptedSize(w, h) .setOrientation(TTAdConstant.VERTICAL) @@ -46,11 +62,13 @@ return; } - mTTAdNative = ttAdManager.createAdNative(context); + + mTTAdNative = ttAdManager.createAdNative(activity); //鍔犺浇鍏ㄥ睆瑙嗛 mTTAdNative.loadFullScreenVideoAd(adSlot, new TTAdNative.FullScreenVideoAdListener() { @Override public void onError(int code, String message) { + adListener.onFail(message); } @Override @@ -68,6 +86,7 @@ @Override public void onAdClose() { + adListener.onFinish(); } @Override @@ -81,8 +100,6 @@ }); - if (ad != null && adListener != null) - adListener.onSuccess(ad); } @Override @@ -91,35 +108,85 @@ @Override public void onFullScreenVideoCached(TTFullScreenVideoAd ttFullScreenVideoAd) { - mttFullVideoAd = ttFullScreenVideoAd; + ttFullScreenVideoAd.showFullScreenVideoAd(activity); } }); + + } - /** - * 灞曠ず骞垮憡 - * - * @param activity - */ - public void showAd(Activity activity) { - if (mttFullVideoAd != null) { - mttFullVideoAd.showFullScreenVideoAd(activity); - mttFullVideoAd = null; - } + private UnifiedInterstitialAD iad; + + + private void showGdt(Activity activity, String pid,IFullVideoAdListener adListener) { + + iad = new UnifiedInterstitialAD(activity, pid, new UnifiedInterstitialADListener() { + + @Override + public void onADReceive() { + iad.showFullScreenAD(activity); + } + + @Override + public void onVideoCached() { + + } + + @Override + public void onNoAD(AdError adError) { + + Log.i("gdt", adError.toString()); + adListener.onFail("no ad"); + } + + @Override + public void onADOpened() { + + } + + @Override + public void onADExposure() { + + } + + @Override + public void onADClicked() { + + } + + @Override + public void onADLeftApplication() { + + } + + @Override + public void onADClosed() { + adListener.onFinish(); + } + + @Override + public void onRenderSuccess() { + + } + + @Override + public void onRenderFail() { + + } + }); + VideoOption.Builder builder = new VideoOption.Builder(); + VideoOption + option = builder.setAutoPlayMuted(true) + .setAutoPlayPolicy(VideoOption.AutoPlayPolicy.WIFI).build(); + iad.setVideoOption(option); + iad.loadFullScreenAD(); } - /** - * 鏄惁宸茬粡缂撳瓨浜嗗箍鍛� - * - * @return - */ - public boolean isCacahed() { - return mttFullVideoAd != null; - } public interface IFullVideoAdListener { - public void onSuccess(TTFullScreenVideoAd ad); + void onFail(String msg); + void onFinish(); } } -- Gitblit v1.8.0