| | |
| | | |
| | | 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 { |
| | | |
| | |
| | | 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 |
| | |
| | | |
| | | @Override |
| | | public void onAdClose() { |
| | | adListener.onFinish(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | }); |
| | | |
| | | if (ad != null && adListener != null) |
| | | adListener.onSuccess(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @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(); |
| | | } |
| | | |
| | | } |