234 lines
7.5 KiB
Java
234 lines
7.5 KiB
Java
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<String, Object> 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<NativeExpressADView> 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;
|
|
}
|
|
|
|
}
|