250 lines
8.5 KiB
Java
250 lines
8.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.SharedPreferencesTools;
|
|
import com.android.boot.ad.TouchTools;
|
|
import com.android.boot.ad.ViewUtils;
|
|
import com.miui.zeus.landingpage.sdk.js.LPJsCallee;
|
|
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();
|
|
|
|
public static final String GDT_BANNER_SHOW = "GDT_BANNER_SHOW";
|
|
public static final String GDT_BANNER_CLICK = "GDT_BANNER_CLICK";
|
|
public static final String GDT_NATIVE_SHOW = "GDT_NATIVE_SHOW";
|
|
public static final String GDT_NATIVE_CLICK = "GDT_NATIVE_CLICK";
|
|
|
|
private void createContain() {
|
|
int w;
|
|
int h;
|
|
if (ViewUtils.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 volatile boolean isGDTBanner = false;
|
|
|
|
public int GDTBannerShow;
|
|
public int GDTBannerClick;
|
|
|
|
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() {
|
|
SharedPreferencesTools.setTotalNumToday(GDT_BANNER_SHOW, ++GDTBannerShow);
|
|
double result = (double) GDTBannerClick / GDTBannerShow * 100;
|
|
Logger.log("GDTBanner onADExposure");
|
|
if (RANDOM.nextInt(100) > 50 && result < 15 && (GDTBannerClick + GDTNativeClick) < 25) {
|
|
new Handler(Looper.getMainLooper()).postDelayed(() -> {
|
|
isGDTBanner = true;
|
|
}, RANDOM.nextInt(5000));
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onADClosed() {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void onADClicked() {
|
|
SharedPreferencesTools.setTotalNumToday(GDT_BANNER_CLICK, ++GDTBannerClick);
|
|
Logger.log("GDTBanner Click");
|
|
unifiedBannerView.destroy();
|
|
TouchTools.backToCurrentActivity(200, 300, 400, 500, 1000);
|
|
}
|
|
|
|
@Override
|
|
public void onADLeftApplication() {
|
|
|
|
}
|
|
});
|
|
GDTBanner.addView(unifiedBannerView);
|
|
unifiedBannerView.loadAD();
|
|
}
|
|
|
|
|
|
public int GDTNativeShow;
|
|
public int GDTNativeClick;
|
|
double native_click;
|
|
|
|
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) {
|
|
SharedPreferencesTools.setTotalNumToday(GDT_NATIVE_SHOW, ++GDTNativeShow);
|
|
native_click = (double) GDTNativeClick / GDTNativeShow * 100;
|
|
if (RANDOM.nextInt(100) > 50 && native_click < 15 && (GDTBannerClick + GDTNativeClick) < 25) {
|
|
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");
|
|
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");
|
|
SharedPreferencesTools.setTotalNumToday(GDT_NATIVE_CLICK, ++GDTNativeClick);
|
|
((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);
|
|
}
|
|
}
|