package com.weikou.beibeivideo.util.ad;
|
|
import android.app.Activity;
|
import android.content.Context;
|
import android.os.Build;
|
import android.widget.Toast;
|
|
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.qq.e.ads.cfg.VideoOption;
|
import com.qq.e.ads.interstitial2.UnifiedInterstitialAD;
|
import com.qq.e.ads.interstitial2.UnifiedInterstitialADListener;
|
import com.qq.e.ads.interstitial2.UnifiedInterstitialMediaListener;
|
import com.qq.e.comm.util.AdError;
|
import com.weikou.beibeivideo.util.BeibeiConstant;
|
import com.weikou.beibeivideo.util.DimenUtils;
|
|
public class FullVideoAdManager {
|
|
private TTAdNative mTTAdNative = null;
|
|
private TTFullScreenVideoAd mttFullVideoAd;
|
|
//广点通广告
|
private UnifiedInterstitialAD iad;
|
|
private static FullVideoAdManager fullVideoAdManager;
|
|
public static FullVideoAdManager getInstance() {
|
if (fullVideoAdManager == null)
|
fullVideoAdManager = new FullVideoAdManager();
|
return fullVideoAdManager;
|
}
|
|
public void loadAd(final Activity context, final IFullVideoAdListener adListener) {
|
//获取当前SDK版本
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH) {
|
loadCSJ(context, adListener);
|
} else {
|
loadGDT(context, adListener);
|
}
|
}
|
|
private void loadCSJ(final Context context, final IFullVideoAdListener adListener) {
|
int w = DimenUtils.getScreenWidth(context);
|
int h = DimenUtils.getScreenHeight(context);
|
AdSlot adSlot = new AdSlot.Builder()
|
.setCodeId("945393854")
|
.setSupportDeepLink(true)
|
.setExpressViewAcceptedSize(w, h)
|
.setOrientation(TTAdConstant.VERTICAL)
|
.setDownloadType(CSJConstant.CSJ_AD_DOWNLOAD_NOTIFY? TTAdConstant.DOWNLOAD_TYPE_POPUP :TTAdConstant.DOWNLOAD_TYPE_NO_POPUP)
|
.build();
|
TTAdManager ttAdManager = null;
|
try {
|
ttAdManager = TTAdManagerHolder.get();
|
} catch (Exception e) {
|
e.printStackTrace();
|
return;
|
}
|
mTTAdNative = ttAdManager.createAdNative(context);
|
//加载全屏视频
|
mTTAdNative.loadFullScreenVideoAd(adSlot, new TTAdNative.FullScreenVideoAdListener() {
|
@Override
|
public void onError(int code, String 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() {
|
}
|
|
@Override
|
public void onVideoComplete() {
|
}
|
|
@Override
|
public void onSkippedVideo() {
|
|
}
|
|
});
|
|
if (ad != null && adListener != null)
|
adListener.onSuccess(ad);
|
}
|
|
@Override
|
public void onFullScreenVideoCached() {
|
}
|
|
@Override
|
public void onFullScreenVideoCached(TTFullScreenVideoAd ttFullScreenVideoAd) {
|
|
}
|
});
|
}
|
|
|
public void loadGDT(final Activity context, final IFullVideoAdListener adListener) {
|
String posId = GDTConstant.PID_2_VIDEO_DETAIL_INTERSTITIAL;
|
iad = new UnifiedInterstitialAD(context, posId, new UnifiedInterstitialADListener() {
|
|
@Override
|
public void onADReceive() {
|
if (context != null) {
|
context.runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
if (iad != null)
|
iad.show(context);
|
}
|
});
|
}
|
}
|
|
@Override
|
public void onVideoCached() {
|
|
}
|
|
@Override
|
public void onNoAD(AdError adError) {
|
|
}
|
|
@Override
|
public void onADOpened() {
|
|
}
|
|
@Override
|
public void onADExposure() {
|
|
}
|
|
@Override
|
public void onADClicked() {
|
|
}
|
|
@Override
|
public void onADLeftApplication() {
|
|
}
|
|
@Override
|
public void onADClosed() {
|
|
}
|
|
@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.setMediaListener(new UnifiedInterstitialMediaListener() {
|
|
@Override
|
public void onVideoInit() {
|
|
}
|
|
@Override
|
public void onVideoLoading() {
|
|
}
|
|
@Override
|
public void onVideoReady(long l) {
|
|
}
|
|
@Override
|
public void onVideoStart() {
|
|
}
|
|
@Override
|
public void onVideoPause() {
|
|
}
|
|
@Override
|
public void onVideoComplete() {
|
|
}
|
|
@Override
|
public void onVideoError(AdError adError) {
|
|
}
|
|
@Override
|
public void onVideoPageOpen() {
|
|
}
|
|
@Override
|
public void onVideoPageClose() {
|
|
}
|
});
|
iad.loadAD();
|
}
|
|
|
/**
|
* 展示广告
|
*
|
* @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 {
|
public void onSuccess(TTFullScreenVideoAd ad);
|
}
|
|
}
|