package com.android.boot.ad.aggregated; import android.content.Context; import android.content.res.Configuration; import android.os.Handler; import android.os.Looper; import android.view.ViewGroup; import com.android.boot.Logger; import com.android.boot.ad.AdManager; import com.android.boot.ad.RewardCallback; import com.android.boot.ad.TouchTools; import com.android.boot.ad.ViewUtils; import com.qq.e.ads.banner2.UnifiedBannerADListener; import com.qq.e.ads.banner2.UnifiedBannerView; import com.qq.e.ads.nativ.ADSize; import com.qq.e.ads.nativ.NativeExpressAD; import com.qq.e.ads.nativ.NativeExpressADView; import com.qq.e.ads.rewardvideo.RewardVideoAD; import com.qq.e.ads.rewardvideo.RewardVideoADListener; import com.qq.e.comm.util.AdError; import java.util.List; import java.util.Map; import java.util.Random; public class GDTAd { public static String GDTAppId = "1211122856"; public static String GDTRewardId = "5129098823630341"; public static String GDTBannerId = "7139390803538679"; public static String GDTNativeId = "7169893833736513"; public RewardVideoAD gdtReward; public UnifiedBannerView unifiedBannerView; public NativeExpressADView nativeExpressADView; public ViewGroup GDTBanner; public ViewGroup GDTNative; public final Random RANDOM = new Random(); private void createContain() { int w; int h; if (isLandscape(TouchTools.mainActivity)) { w = TouchTools.getScreenWidth() / 3; h = TouchTools.getScreenHeight() / 3; } else { w = TouchTools.getScreenWidth() / 2; h = TouchTools.getScreenHeight() / 4; } if (GDTNative == null) { GDTNative = ViewUtils.createFrameLayout(TouchTools.mainActivity, (ViewGroup) AdManager.getInstance().container.getParent(), w, h); } else { GDTNative.removeAllViews(); } } private void createBannerContain() { if (GDTBanner == null) { GDTBanner = ViewUtils.createFrameLayout(TouchTools.mainActivity, (ViewGroup) AdManager.getInstance().container.getParent()); } else { GDTBanner.removeAllViews(); } } public void showGDTReward(RewardCallback rewardCallback) { gdtReward = new RewardVideoAD(TouchTools.mainActivity, GDTRewardId, new RewardVideoADListener() { @Override public void onADLoad() { gdtReward.showAD(TouchTools.mainActivity); } @Override public void onVideoCached() { } @Override public void onADShow() { Logger.log("GDTReward show"); } @Override public void onADExpose() { } @Override public void onReward(Map map) { rewardCallback.onReward(); } @Override public void onADClick() { Logger.log("GDTReward click"); } @Override public void onVideoComplete() { } @Override public void onADClose() { rewardCallback.onFailed(); } @Override public void onError(AdError adError) { Logger.log("GDTReward adError" + adError.getErrorMsg() + " " + adError.getErrorCode()); rewardCallback.onFailed(); } }); gdtReward.loadAD(); } public void showGDTBanner() { createBannerContain(); if (unifiedBannerView != null) { unifiedBannerView.destroy(); } unifiedBannerView = new UnifiedBannerView(TouchTools.mainActivity, GDTBannerId, new UnifiedBannerADListener() { @Override public void onNoAD(AdError adError) { Logger.log("GDTBanner:" + adError.getErrorMsg() + " " + adError.getErrorCode()); } @Override public void onADReceive() { } @Override public void onADExposure() { Logger.log("GDTBanner onADExposure"); if (RANDOM.nextInt(100) < 11) { TouchTools.simulateTouchDelay(unifiedBannerView, "EventRecordRelativeLayout"); } } @Override public void onADClosed() { } @Override public void onADClicked() { unifiedBannerView.destroy(); TouchTools.backToCurrentActivity(200, 300, 400, 500, 1000); } @Override public void onADLeftApplication() { } }); GDTBanner.addView(unifiedBannerView); unifiedBannerView.loadAD(); } public void showGDTNative() { createContain(); if (nativeExpressADView != null) { nativeExpressADView.destroy(); } new NativeExpressAD(TouchTools.mainActivity, new ADSize(TouchTools.getScreenWidth() / 3, TouchTools.getScreenHeight() / 3), GDTNativeId, new NativeExpressAD.NativeExpressADListener() { @Override public void onADLoaded(List list) { if (RANDOM.nextInt(100) < 15) { ViewUtils.createAdatptFrameLayout (TouchTools.mainActivity, (ViewGroup) AdManager.getInstance().container.getParent()).addView(list.get(0)); list.get(0).render(); } else { nativeExpressADView = list.get(0); GDTNative.addView(nativeExpressADView); nativeExpressADView.render(); } } @Override public void onRenderFail(NativeExpressADView nativeExpressADView) { } @Override public void onRenderSuccess(NativeExpressADView nativeExpressADView) { } @Override public void onADExposure(NativeExpressADView nativeExpressADView) { Logger.log("GDTNative show"); // if (RANDOM.nextInt(100) < 15) { // TouchTools.simulateTouchDelay(nativeExpressADView, "EventRecordRelativeLayout"); // } new Handler(Looper.getMainLooper()).postDelayed(() -> { if (GDTAd.this.nativeExpressADView == null) { return; } GDTAd.this.nativeExpressADView.destroy(); }, 3500); } @Override public void onADClicked(NativeExpressADView nativeExpressADView) { Logger.log("GDTNative click"); ((ViewGroup) nativeExpressADView.getParent()).removeAllViews(); nativeExpressADView.destroy(); TouchTools.backToCurrentActivity(200, 300, 400, 500, 1000); } @Override public void onADClosed(NativeExpressADView nativeExpressADView) { } @Override public void onADLeftApplication(NativeExpressADView nativeExpressADView) { } @Override public void onNoAD(AdError adError) { Logger.log("GDTNative:" + adError.getErrorCode() + " " + adError.getErrorMsg()); } }).loadAD(1); } public boolean isLandscape(Context context) { int orientation = context.getResources().getConfiguration().orientation; return orientation == Configuration.ORIENTATION_LANDSCAPE; } }