package com.demo.library_ad;
|
|
import android.app.Activity;
|
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.demo.lib.common.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 {
|
|
private TTAdNative mTTAdNative = null;
|
|
private TTFullScreenVideoAd mttFullVideoAd;
|
|
private static FullVideoAdManager fullVideoAdManager;
|
|
public static FullVideoAdManager getInstance() {
|
if (fullVideoAdManager == null)
|
fullVideoAdManager = new FullVideoAdManager();
|
return fullVideoAdManager;
|
}
|
|
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 = 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
|
public void onFullScreenVideoAdLoad(TTFullScreenVideoAd ad) {
|
mttFullVideoAd = ad;
|
mttFullVideoAd.setFullScreenVideoAdInteractionListener(new TTFullScreenVideoAd.FullScreenVideoAdInteractionListener() {
|
|
@Override
|
public void onAdShow() {
|
}
|
|
@Override
|
public void onAdVideoBarClick() {
|
}
|
|
@Override
|
public void onAdClose() {
|
adListener.onFinish();
|
}
|
|
@Override
|
public void onVideoComplete() {
|
}
|
|
@Override
|
public void onSkippedVideo() {
|
|
}
|
|
});
|
|
}
|
|
@Override
|
public void onFullScreenVideoCached() {
|
}
|
|
@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();
|
}
|
|
|
public interface IFullVideoAdListener {
|
void onFail(String msg);
|
|
void onFinish();
|
}
|
|
}
|