admin
2021-12-22 0a1336cd2b95126d66d6f3126cb48a446cdbfad1
app/src/com/hanju/video/app/util/ad/FullVideoAdManager.java
@@ -2,13 +2,19 @@
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import com.bytedance.sdk.openadsdk.AdSlot;
import com.bytedance.sdk.openadsdk.TTAdConstant;
import com.bytedance.sdk.openadsdk.TTAdManager;
import com.bytedance.sdk.openadsdk.TTAdNative;
import com.bytedance.sdk.openadsdk.TTFullScreenVideoAd;
import com.hanju.video.app.ui.media.VideoDetailActivity;
import com.hanju.video.app.util.common.DimenUtils;
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;
public class FullVideoAdManager {
@@ -24,21 +30,45 @@
        return fullVideoAdManager;
    }
    public void loadAd(final Context context, String pid, final IFullVideoAdListener adListener) {
        int w = DimenUtils.getScreenWidth(context);
        int h = DimenUtils.getScreenHeight(context);
    public void loadAd(final Activity context, AdUtil.AD_TYPE adType, String pid, final IFullVideoAdListener adListener) {
        if (adType == AdUtil.AD_TYPE.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(pid)
                .setSupportDeepLink(true)
                .setExpressViewAcceptedSize(w, h)
                .setOrientation(TTAdConstant.VERTICAL)
                .build();
        TTAdManager ttAdManager = TTAdManagerHolder.get();
        mTTAdNative = ttAdManager.createAdNative(context);
        TTAdManager ttAdManager = null;
        try {
            ttAdManager = TTAdManagerHolder.get();
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (ttAdManager == null) {
            return;
        }
        mTTAdNative = ttAdManager.createAdNative(activity);
        //加载全屏视频
        mTTAdNative.loadFullScreenVideoAd(adSlot, new TTAdNative.FullScreenVideoAdListener() {
            @Override
            public void onError(int code, String message) {
                adListener.onFail(message);
            }
            @Override
@@ -56,6 +86,7 @@
                    @Override
                    public void onAdClose() {
                        adListener.onFinish();
                    }
                    @Override
@@ -69,8 +100,6 @@
                });
                if (ad != null && adListener != null)
                    adListener.onSuccess();
            }
            @Override
@@ -79,35 +108,85 @@
            @Override
            public void onFullScreenVideoCached(TTFullScreenVideoAd ttFullScreenVideoAd) {
                ttFullScreenVideoAd.showFullScreenVideoAd(activity);
            }
        });
    }
    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();
    }
    /**
     * 展示广告
     *
     * @param activity
     */
    public void showAd(Activity activity) {
        if (mttFullVideoAd != null) {
            mttFullVideoAd.showFullScreenVideoAd(activity);
            mttFullVideoAd = null;
        }
    }
    /**
     * 是否已经缓存了广告
     *
     * @return
     */
    public boolean isCacahed() {
        return mttFullVideoAd != null;
    }
    public interface IFullVideoAdListener {
        void onSuccess();
        void onFail(String msg);
        void onFinish();
    }
}