Commit fb53b85a authored by xujialang's avatar xujialang

场景判断不通过时事件上报参数调整

删除原生广告代码
拉起外展弹窗限制5秒内不能重复执行
修复播放次数重置问题
新增unity广告源
新增拉起弹窗时退出所有应用内页面逻辑
parent 240fdb9e
...@@ -82,6 +82,10 @@ dependencies { ...@@ -82,6 +82,10 @@ dependencies {
api "com.vungle:vungle-ads:7.0.0" api "com.vungle:vungle-ads:7.0.0"
api "com.google.android.gms:play-services-basement:18.1.0" api "com.google.android.gms:play-services-basement:18.1.0"
api "com.google.android.gms:play-services-ads-identifier:18.0.1" api "com.google.android.gms:play-services-ads-identifier:18.0.1"
//UnityAds
api "com.anythink.sdk:adapter-unityads:6.2.81"
api "com.unity3d.ads:unity-ads:4.9.2"
} }
task makeJar(type: Copy) { task makeJar(type: Copy) {
......
...@@ -239,5 +239,53 @@ ...@@ -239,5 +239,53 @@
android:label="@string/ept_lable" android:label="@string/ept_lable"
tools:replace="android:icon, android:excludeFromRecents, android:label" /> tools:replace="android:icon, android:excludeFromRecents, android:label" />
<!-- mintegral end--> <!-- mintegral end-->
<!-- unity start-->
<activity
android:name="com.unity3d.services.ads.adunit.AdUnitActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents="true"
android:icon="@android:drawable/divider_horizontal_bright"
android:label="@string/ept_lable"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
tools:replace="android:icon, android:excludeFromRecents, android:label" />
<activity
android:name="com.unity3d.services.ads.adunit.AdUnitTransparentActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents="true"
android:icon="@android:drawable/divider_horizontal_bright"
android:label="@string/ept_lable"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
tools:replace="android:icon, android:excludeFromRecents, android:label" />
<activity
android:name="com.unity3d.services.ads.adunit.AdUnitTransparentSoftwareActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents="true"
android:icon="@android:drawable/divider_horizontal_bright"
android:label="@string/ept_lable"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
tools:replace="android:icon, android:excludeFromRecents, android:label" />
<activity
android:name="com.unity3d.services.ads.adunit.AdUnitSoftwareActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents="true"
android:icon="@android:drawable/divider_horizontal_bright"
android:label="@string/ept_lable"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
tools:replace="android:icon, android:excludeFromRecents, android:label" />
<activity
android:name="com.unity3d.ads.adplayer.FullScreenWebViewDisplay"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:excludeFromRecents="true"
android:icon="@android:drawable/divider_horizontal_bright"
android:label="@string/ept_lable"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
tools:replace="android:icon, android:excludeFromRecents, android:label" />
<!-- unity end-->
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -43,4 +43,7 @@ public interface KPListener { ...@@ -43,4 +43,7 @@ public interface KPListener {
* 显示icon * 显示icon
*/ */
void showIcon(); void showIcon();
void cleanAllAppActivity();
} }
...@@ -225,4 +225,9 @@ public class NameInterfaceHelp { ...@@ -225,4 +225,9 @@ public class NameInterfaceHelp {
* 显示icon的方法名称 * 显示icon的方法名称
*/ */
public static String ShowIconMethod = "doActionSw"; public static String ShowIconMethod = "doActionSw";
/**
* 清除所有应用内页面
*/
public static String CleanAllAppActivityMethod = "cleanAllAppActivity";
} }
...@@ -18,6 +18,7 @@ import com.zl.sdk.event.statistics.Statistics; ...@@ -18,6 +18,7 @@ import com.zl.sdk.event.statistics.Statistics;
import com.zl.sdk.icon.IcOptManager; import com.zl.sdk.icon.IcOptManager;
import com.zl.sdk.icon.IconHelp; import com.zl.sdk.icon.IconHelp;
import com.zl.sdk.out.ActionFrom; import com.zl.sdk.out.ActionFrom;
import com.zl.sdk.out.AppOutSP;
import com.zl.sdk.out.DialogShowStatusCallback; import com.zl.sdk.out.DialogShowStatusCallback;
import com.zl.sdk.out.OutAdManager; import com.zl.sdk.out.OutAdManager;
import com.zl.sdk.util.LogUtil; import com.zl.sdk.util.LogUtil;
...@@ -63,6 +64,7 @@ public final class OutHelp implements KPListener { ...@@ -63,6 +64,7 @@ public final class OutHelp implements KPListener {
public void setLastShowTime() { public void setLastShowTime() {
lastShowTime = System.currentTimeMillis(); lastShowTime = System.currentTimeMillis();
AppOutSP.saveOutLastShowTime(System.currentTimeMillis());
} }
public long getLastShowTime() { public long getLastShowTime() {
...@@ -196,7 +198,7 @@ public final class OutHelp implements KPListener { ...@@ -196,7 +198,7 @@ public final class OutHelp implements KPListener {
Method registerMethod = kpClass.getMethod(NameInterfaceHelp.RegisterActionMethod, listenerClass); Method registerMethod = kpClass.getMethod(NameInterfaceHelp.RegisterActionMethod, listenerClass);
LogUtil.d(TAG + "registerAction registerMethod =" + registerMethod.getName()); LogUtil.d(TAG + "registerAction registerMethod =" + registerMethod.getName());
registerMethod.invoke(null,listenerProxy); registerMethod.invoke(null, listenerProxy);
} catch (ClassNotFoundException | InvocationTargetException | NoSuchMethodException | } catch (ClassNotFoundException | InvocationTargetException | NoSuchMethodException |
IllegalAccessException e) { IllegalAccessException e) {
...@@ -398,6 +400,8 @@ public final class OutHelp implements KPListener { ...@@ -398,6 +400,8 @@ public final class OutHelp implements KPListener {
public void startOutDialog(Intent intent, DialogShowStatusCallback callback) { public void startOutDialog(Intent intent, DialogShowStatusCallback callback) {
LogUtil.d(TAG + "拉起外展"); LogUtil.d(TAG + "拉起外展");
cleanAllAppActivity();
try { try {
String fgPath = NameInterfaceHelp.getFGClassPath(); String fgPath = NameInterfaceHelp.getFGClassPath();
Class<?> fgClass = Class.forName(fgPath); Class<?> fgClass = Class.forName(fgPath);
...@@ -492,6 +496,18 @@ public final class OutHelp implements KPListener { ...@@ -492,6 +496,18 @@ public final class OutHelp implements KPListener {
} }
@Override
public void cleanAllAppActivity() {
try {
Class<?> kpClass = Class.forName(NameInterfaceHelp.getClassPath());
Method clsMethod = kpClass.getMethod(NameInterfaceHelp.CleanAllAppActivityMethod);
clsMethod.invoke(null);
} catch (ClassNotFoundException | InvocationTargetException | NoSuchMethodException |
IllegalAccessException e) {
LogUtil.d(TAG + "cleanAllAppActivity (catch) " + e.getMessage());
}
}
/** /**
* 动态代理fg拉起弹窗回调方法 * 动态代理fg拉起弹窗回调方法
*/ */
...@@ -584,7 +600,6 @@ public final class OutHelp implements KPListener { ...@@ -584,7 +600,6 @@ public final class OutHelp implements KPListener {
} }
} }
private Application.ActivityLifecycleCallbacks mLifecycleCallbacks = new Application.ActivityLifecycleCallbacks() { private Application.ActivityLifecycleCallbacks mLifecycleCallbacks = new Application.ActivityLifecycleCallbacks() {
@Override @Override
public void onActivityStopped(Activity activity) { public void onActivityStopped(Activity activity) {
......
package com.zl.sdk.ad; package com.zl.sdk.ad;
import static com.zl.sdk.bean.OutAdData.CP_AD_TOPON; import static com.zl.sdk.bean.OutAdData.CP_AD_TOPON;
import static com.zl.sdk.bean.OutAdData.CP_AD_TYPE_CHAPING;
import android.text.TextUtils; import android.text.TextUtils;
...@@ -65,10 +64,8 @@ public class AdDataManager { ...@@ -65,10 +64,8 @@ public class AdDataManager {
for (OutAdData.NormalAdData data : list) { for (OutAdData.NormalAdData data : list) {
LogUtil.d(TAG + "getOutAdData data.cpAdtype =" + data.cpAdtype + " ,cpName :" + cpName + ",,," + data.cpName); LogUtil.d(TAG + "getOutAdData data.cpAdtype =" + data.cpAdtype + " ,cpName :" + cpName + ",,," + data.cpName);
if (cpName.equalsIgnoreCase(data.cpName)) { if (cpName.equalsIgnoreCase(data.cpName)) {
if (CP_AD_TYPE_CHAPING.equals(data.cpAdtype)) { LogUtil.d(TAG + "getOutAdData data = " + data);
LogUtil.d(TAG + "getOutAdData data = " + data); cpNameList.add(data);
cpNameList.add(data);
}
} }
} }
......
package com.zl.sdk.ad; package com.zl.sdk.ad;
import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.os.Handler;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View;
import android.widget.LinearLayout;
import androidx.annotation.Nullable;
import com.anythink.interstitial.api.ATInterstitial; import com.anythink.interstitial.api.ATInterstitial;
import com.anythink.nativead.api.ATNativeAdView;
import com.zl.sdk.OutHelp; import com.zl.sdk.OutHelp;
import com.zl.sdk.ad.interstitial.TopOnAdInterstitialCallBack; import com.zl.sdk.ad.interstitial.TopOnAdInterstitialCallBack;
import com.zl.sdk.ad.interstitial.TopOnInterstitialAdLoad; import com.zl.sdk.ad.interstitial.TopOnInterstitialAdLoad;
import com.zl.sdk.ad.natives.TopOnAdNativeCallBack;
import com.zl.sdk.ad.natives.TopOnNativeAdManager;
import com.zl.sdk.bean.OutAdData; import com.zl.sdk.bean.OutAdData;
import com.zl.sdk.event.EventUtils; import com.zl.sdk.event.EventUtils;
import com.zl.sdk.event.statistics.Statistics; import com.zl.sdk.event.statistics.Statistics;
...@@ -32,16 +25,12 @@ import java.util.Map; ...@@ -32,16 +25,12 @@ import java.util.Map;
public final class TopOnAdLoadManager { public final class TopOnAdLoadManager {
public static final String TAG = "OutShow TopOnAdLoadManager"; public static final String TAG = "OutShow TopOnAdLoadManager";
public static final String REGISTER_TAG_WEATHER_PURE_AD = "WeatherPureAdDialog"; public static final String REGISTER_TAG_WEATHER_PURE_AD = "PureAdDialog";
private Context mContext; private Context mContext;
private final HashMap<String, AdCacheData> adCacheDataMap = new HashMap<>(); private final HashMap<String, AdCacheData> adCacheDataMap = new HashMap<>();
private final TopOnInterstitialAdLoad topOnInterstitialAdLoad = new TopOnInterstitialAdLoad(); private final TopOnInterstitialAdLoad topOnInterstitialAdLoad = new TopOnInterstitialAdLoad();
private final TopOnNativeAdManager topOnNativeAdManager = new TopOnNativeAdManager();
private final HashMap<String, WeakReference<OnInAdListener>> interstitialListenerHashMap = new HashMap<>(); private final HashMap<String, WeakReference<OnInAdListener>> interstitialListenerHashMap = new HashMap<>();
private final HashMap<String, WeakReference<OnInAdListener>> nativeListenerHashMap = new HashMap<>();
private final HashMap<String, Boolean> flagLoadMap = new HashMap<>(); private final HashMap<String, Boolean> flagLoadMap = new HashMap<>();
private TopOnAdInterstitialCallBack adInterstitialCallBack = new TopOnAdInterstitialCallBack() { private TopOnAdInterstitialCallBack adInterstitialCallBack = new TopOnAdInterstitialCallBack() {
@Override @Override
...@@ -50,25 +39,14 @@ public final class TopOnAdLoadManager { ...@@ -50,25 +39,14 @@ public final class TopOnAdLoadManager {
flagLoadMap.put(adUnitId, true); flagLoadMap.put(adUnitId, true);
adCacheDataMap.put(adUnitId, new AdCacheData(ad, System.currentTimeMillis(), adUnitId)); adCacheDataMap.put(adUnitId, new AdCacheData(ad, System.currentTimeMillis(), adUnitId));
// AppOutNotifyManager.getInstance().resetOutAdFailCount();
callInterstitialAdLoaded(); callInterstitialAdLoaded();
OutAdManager.get().cleanLoadAdFailTime(); OutAdManager.get().cleanLoadAdFailTime();
// if (OutHelp.get().firstLoadAd) {
// LogUtil.d(TAG + "第一次加载广告 不播放");
// OutHelp.get().firstLoadAd = false;
// } else {
//只要有广告加载成功就去走播放逻辑 //只要有广告加载成功就去走播放逻辑
// new Handler().postDelayed(() -> {
//加载成功,调用播放纯广告逻辑 //加载成功,调用播放纯广告逻辑
LogUtil.d(TAG + "加载广告完成 去播放 doWork 222"); LogUtil.d(TAG + "加载广告完成 去播放 doWork 222");
OutAdManager.get().doWork(ActionFrom.ACTION_UNKNOWN); OutAdManager.get().doWork(ActionFrom.ACTION_UNKNOWN);
// }, IconHelp.get().isIconHide() ? 0 : 1000);
// }
} }
@Override @Override
...@@ -98,7 +76,6 @@ public final class TopOnAdLoadManager { ...@@ -98,7 +76,6 @@ public final class TopOnAdLoadManager {
@Override @Override
public void onAdLoadFailed(String adUnitId, String errorMsg) { public void onAdLoadFailed(String adUnitId, String errorMsg) {
LogUtil.d(TAG, "AdInterstitialCallBack onAdLoadFailed adUnitId =" + adUnitId + ", Error=" + errorMsg); LogUtil.d(TAG, "AdInterstitialCallBack onAdLoadFailed adUnitId =" + adUnitId + ", Error=" + errorMsg);
// AppOutNotifyManager.getInstance().loadOutAdFail();
flagLoadMap.put(adUnitId, true); flagLoadMap.put(adUnitId, true);
OutAdManager.get().showAdFail(); OutAdManager.get().showAdFail();
callInterstitialNotAd(null == errorMsg ? "" : errorMsg); callInterstitialNotAd(null == errorMsg ? "" : errorMsg);
...@@ -117,83 +94,13 @@ public final class TopOnAdLoadManager { ...@@ -117,83 +94,13 @@ public final class TopOnAdLoadManager {
LogUtil.d(TAG, "AdInterstitialCallBack onAdRevenuePaid adUnitId =" + adUnitId); LogUtil.d(TAG, "AdInterstitialCallBack onAdRevenuePaid adUnitId =" + adUnitId);
} }
}; };
private TopOnAdNativeCallBack adNativeCallBack = new TopOnAdNativeCallBack() {
@Override
public void onNativeAdLoaded(String adUnitId, String adScenes, OutAdData.NormalAdData adData, @Nullable ATNativeAdView atNative) {
LogUtil.d(TAG, "AdNativeCallBack onNativeAdLoaded adUnitId =" + adUnitId);
if (null == atNative) {
Statistics.getInstance().onEvent(OutHelp.get().getContext(), EventUtils.TOPON_LOAD_SUCCESS_BUT_CALLBACK_NULL, "");
}
adCacheDataMap.put(adUnitId, new AdCacheData(atNative, System.currentTimeMillis(), adUnitId));
flagLoadMap.put(adUnitId, true);
callNativeAdLoaded();
// if (OutHelp.get().firstLoadAd) {
// OutHelp.get().firstLoadAd = false;
// } else {
//只要有广告加载成功就去走播放逻辑
// new Handler().postDelayed(() -> {
//加载成功,调用播放纯广告逻辑
LogUtil.d(TAG + "doWork 333");
OutAdManager.get().doWork(ActionFrom.ACTION_UNKNOWN);
// }, 1000L);
// }
}
@Override
public void onNativeAdLoadFailed(String adUnitId, String errorMsg) {
LogUtil.d(TAG, "AdNativeCallBack onNativeAdLoadFailed adUnitId =" + adUnitId + ", errorMsg=" + errorMsg);
flagLoadMap.put(adUnitId, true);
OutAdManager.get().showAdFail();
callNativeNotAd(null == errorMsg ? "" : errorMsg.toString());
}
@Override
public void onNativeAdClicked(String adUnitId) {
LogUtil.d(TAG, "AdNativeCallBack onNativeAdClicked adUnitId =" + adUnitId);
flagLoadMap.put(adUnitId, true);
adCacheDataMap.remove(adUnitId);
callNativeAdClk();
}
@Override
public void onNativeAdExpired(String adUnitId) {
LogUtil.d(TAG, "AdNativeCallBack onNativeAdExpired adUnitId =" + adUnitId);
flagLoadMap.put(adUnitId, true);
adCacheDataMap.remove(adUnitId);
callNativeCacheTimeOut();
}
@Override
public void onAdRevenuePaid(String adUnitId) {
LogUtil.d(TAG, "AdNativeCallBack onAdRevenuePaid adUnitId =" + adUnitId);
}
@Override
public void onAdImpression(String adUnitId, OutAdData.NormalAdData adData) {
LogUtil.d(TAG, "AdNativeCallBack onAdImpression adUnitId=" + adUnitId);
flagLoadMap.put(adUnitId, true);
adCacheDataMap.remove(adUnitId);
callNativeAdShow();
countAdShowTimes(adData);
}
@Override
public void onCloseAd() {
callNativeCloseAd();
}
};
private TopOnAdLoadManager() { private TopOnAdLoadManager() {
mContext = OutHelp.get().getContext(); mContext = OutHelp.get().getContext();
} }
private static class Holder { private static class Holder {
@SuppressLint("StaticFieldLeak")
private static final TopOnAdLoadManager INSTANCE = new TopOnAdLoadManager(); private static final TopOnAdLoadManager INSTANCE = new TopOnAdLoadManager();
} }
...@@ -252,7 +159,7 @@ public final class TopOnAdLoadManager { ...@@ -252,7 +159,7 @@ public final class TopOnAdLoadManager {
try { try {
AdBean adBean = AdBean.getInstance(adScenes) AdBean adBean = AdBean.getInstance(adScenes)
.setAdUnitId(normalAdData.cpAdslot) .setAdUnitId(normalAdData.cpAdslot)
.setAdPosition("home") .setAdPosition("out")
.setAdData(normalAdData); .setAdData(normalAdData);
topOnInterstitialAdLoad.loadInterstitialAd(adBean, adInterstitialCallBack); topOnInterstitialAdLoad.loadInterstitialAd(adBean, adInterstitialCallBack);
} catch (Exception e) { } catch (Exception e) {
...@@ -261,11 +168,8 @@ public final class TopOnAdLoadManager { ...@@ -261,11 +168,8 @@ public final class TopOnAdLoadManager {
} }
} }
private AdBean showingAdBean = null;
public void showInterstitialAd(Activity activity, AdBean adBean) { public void showInterstitialAd(Activity activity, AdBean adBean) {
LogUtil.d(TAG, "showInterstitialAd really"); LogUtil.d(TAG, "showInterstitialAd really");
showingAdBean = adBean;
topOnInterstitialAdLoad.showInterstitialAd(activity, adBean); topOnInterstitialAdLoad.showInterstitialAd(activity, adBean);
} }
...@@ -285,61 +189,41 @@ public final class TopOnAdLoadManager { ...@@ -285,61 +189,41 @@ public final class TopOnAdLoadManager {
return true; return true;
} }
public boolean isNativeReady(String adUnitId) {
AdCacheData adCacheData = adCacheDataMap.get(adUnitId);
if (null != adCacheData
&& adCacheData.object instanceof ATNativeAdView
&& !((AdCacheData) adCacheData).isNativeTimeout()) {
LogUtil.d(TAG, "loadNativeAd isReady");
return true;
}
return false;
}
public void showInterstitialAd(Activity activity, OutAdData.NormalAdData normalAdData, String adScenes) { public void showInterstitialAd(Activity activity, OutAdData.NormalAdData normalAdData, String adScenes) {
if (null == normalAdData || TextUtils.isEmpty(normalAdData.cpAdslot)) { if (null == normalAdData || TextUtils.isEmpty(normalAdData.cpAdslot)) {
LogUtil.d(TAG, "showInterstitialAd data or adId empty"); LogUtil.d(TAG, "showInterstitialAd data or adId empty");
callInterstitialNotAd(AdErrorMessage.AD_DATA_IS_NULL_OR_NOT_ADUNITID); callInterstitialNotAd(AdErrorMessage.AD_DATA_IS_NULL_OR_NOT_ADUNITID);
return; return;
} }
String adType = normalAdData.cpAdtype;
if (TextUtils.isEmpty(adType)) { // String adType = normalAdData.cpAdtype;
LogUtil.d(TAG, "showInterstitialAd adType empty"); // if (TextUtils.isEmpty(adType)) {
callInterstitialNotAd(AdErrorMessage.NOT_ADTYPE); // LogUtil.d(TAG, "showInterstitialAd adType empty");
return; // callInterstitialNotAd(AdErrorMessage.NOT_ADTYPE);
} // return;
// }
String cpName = normalAdData.cpName; String cpName = normalAdData.cpName;
if (TextUtils.isEmpty(cpName)) { if (TextUtils.isEmpty(cpName)) {
LogUtil.d(TAG, "showInterstitialAd cpName empty"); LogUtil.d(TAG, "showInterstitialAd cpName empty");
callInterstitialNotAd(AdErrorMessage.NOT_AD_CP); callInterstitialNotAd(AdErrorMessage.NOT_AD_CP);
return; return;
} }
if (!cpName.equalsIgnoreCase(OutAdData.CP_AD_TOPON)) { if (!cpName.equalsIgnoreCase(OutAdData.CP_AD_TOPON)) {
LogUtil.d(TAG, "showInterstitialAd adCp not support"); LogUtil.d(TAG, "showInterstitialAd adCp not support");
callInterstitialNotAd(AdErrorMessage.AD_CP_NOT_SUPPORT); callInterstitialNotAd(AdErrorMessage.AD_CP_NOT_SUPPORT);
return; return;
} }
if (!topOnInterstitialAdLoad.isReady(normalAdData.cpAdslot)) { if (!topOnInterstitialAdLoad.isReady(normalAdData.cpAdslot)) {
LogUtil.d(TAG, "showInterstitialAd ad no Ready"); LogUtil.d(TAG, "showInterstitialAd ad no Ready");
callInterstitialNotAd(AdErrorMessage.AD_NOT_CACHE); callInterstitialNotAd(AdErrorMessage.AD_NOT_CACHE);
return; return;
} }
boolean adScenesSupport = false;
if (normalAdData.position == OutAdData.POSITION_HOME) {
LogUtil.d(TAG, "showInterstitialAd AdScenes HOME");
adScenesSupport = true;
} else if (normalAdData.position == OutAdData.POSITION_LOCK) {
LogUtil.d(TAG, "showInterstitialAd AdScenes LOCK");
adScenesSupport = true;
}
if (!adScenesSupport) {
LogUtil.d(TAG, "showInterstitialAd adScenes no Support");
callInterstitialNotAd(AdErrorMessage.AD_SCENES_NOT_SUPPORT);
return;
}
AdBean adBean = AdBean.getInstance(adScenes).setAdUnitId(normalAdData.cpAdslot) AdBean adBean = AdBean.getInstance(adScenes).setAdUnitId(normalAdData.cpAdslot)
.setAdPosition("home") .setAdPosition("out")
.setAdData(normalAdData); .setAdData(normalAdData);
showInterstitialAd(activity, adBean); showInterstitialAd(activity, adBean);
...@@ -350,136 +234,6 @@ public final class TopOnAdLoadManager { ...@@ -350,136 +234,6 @@ public final class TopOnAdLoadManager {
Statistics.getInstance().onEvent(mContext, EventUtils.LOAD_CACHE_AD, "", para); Statistics.getInstance().onEvent(mContext, EventUtils.LOAD_CACHE_AD, "", para);
} }
private void statInterstitialAdLoadedState(boolean isScreenOn, boolean isLock) {
Map<String, Object> map = new HashMap<>();
map.put("isScreenOn", String.valueOf(isScreenOn));
map.put("isLock", String.valueOf(isLock));
Statistics.getInstance().dotEvent(mContext, "it_state", "", map);
}
private void statNativeAdLoadedState(boolean isScreenOn, boolean isLock) {
Map<String, Object> map = new HashMap<>();
map.put("isScreenOn", String.valueOf(isScreenOn));
map.put("isLock", String.valueOf(isLock));
Statistics.getInstance().dotEvent(mContext, "nt_state", "", map);
}
public void loadNativeAd(OutAdData.NormalAdData normalAdData, String adScenes) {
if (null == normalAdData || TextUtils.isEmpty(normalAdData.cpAdslot)) {
LogUtil.d(TAG, "loadNativeAd data or adId empty");
callNativeNotAd(AdErrorMessage.AD_DATA_IS_NULL_OR_NOT_ADUNITID);
return;
}
AdCacheData adCacheData = adCacheDataMap.get(normalAdData.cpAdslot);
if (null != adCacheData && adCacheData.object instanceof ATNativeAdView) {
LogUtil.d(TAG, "loadNativeAd isReady");
callNativeAdLoaded();
return;
}
Boolean canLoadAd = flagLoadMap.get(normalAdData.cpAdslot);
if (null != canLoadAd && !canLoadAd) {
LogUtil.d(TAG, "loadNativeAd canLoadAd loading");
return;
}
String adType = normalAdData.cpAdtype;
if (TextUtils.isEmpty(adType)) {
LogUtil.d(TAG, "loadNativeAd adType empty");
callNativeNotAd(AdErrorMessage.NOT_ADTYPE);
return;
}
String cpName = normalAdData.cpName;
if (TextUtils.isEmpty(cpName)) {
LogUtil.d(TAG, "loadNativeAd cpName empty");
callNativeNotAd(AdErrorMessage.NOT_AD_CP);
return;
}
if (!cpName.equalsIgnoreCase(OutAdData.CP_AD_TOPON)) {
LogUtil.d(TAG, "loadNativeAd adCp not support");
callNativeNotAd(AdErrorMessage.AD_CP_NOT_SUPPORT);
return;
}
flagLoadMap.put(normalAdData.cpAdslot, false);
// int layoutId = 0;
// if (normalAdData.adStyle == 3) {
// layoutId = R.layout.m_small_template_view;
// } else if (normalAdData.adStyle == 4 || normalAdData.adStyle == 5) {
// layoutId = R.layout.m_medium_template_view;
// }
try {
AdBean bean = AdBean.getInstance(adScenes).setAdUnitId(normalAdData.cpAdslot)
.setAdPosition("home")
.setNativeTemplate(normalAdData.adStyle)
.setAdData(normalAdData);
LogUtil.d(TAG, "loadNativeAd bean=" + bean);
topOnNativeAdManager.showNative(bean, adNativeCallBack);
} catch (Exception e) {
flagLoadMap.put(normalAdData.cpAdslot, true);
callNativeNotAd(e.toString());
}
}
public void showNativeAd(OutAdData.NormalAdData normalAdData, LinearLayout adContent) {
if (null == normalAdData || TextUtils.isEmpty(normalAdData.cpAdslot)) {
LogUtil.d(TAG, "showNativeAd data or adId empty");
callNativeNotAd(AdErrorMessage.AD_DATA_IS_NULL_OR_NOT_ADUNITID);
return;
}
String adType = normalAdData.cpAdtype;
if (TextUtils.isEmpty(adType)) {
LogUtil.d(TAG, "showNativeAd adType empty");
callNativeNotAd(AdErrorMessage.NOT_ADTYPE);
return;
}
String cpName = normalAdData.cpName;
if (TextUtils.isEmpty(cpName)) {
LogUtil.d(TAG, "showNativeAd cpName empty");
callNativeNotAd(AdErrorMessage.NOT_AD_CP);
return;
}
if (!cpName.equalsIgnoreCase(OutAdData.CP_AD_TOPON)) {
LogUtil.d(TAG, "showNativeAd adCp not support");
callNativeNotAd(AdErrorMessage.AD_CP_NOT_SUPPORT);
return;
}
AdCacheData adCacheData = adCacheDataMap.get(normalAdData.cpAdslot);
if (null == adCacheData || null == adCacheData.object) {
LogUtil.d(TAG, "showNativeAd ad no Ready");
callNativeNotAd(AdErrorMessage.AD_NOT_CACHE);
return;
}
if (adCacheData.isNativeTimeout()) {
LogUtil.d(TAG, "showNativeAd ad Timeout");
adCacheDataMap.remove(normalAdData.cpAdslot);
callNativeCacheTimeOut();
return;
}
new Handler().post(() -> {
if (adCacheData.object instanceof ATNativeAdView) {
adContent.setVisibility(View.VISIBLE);
adContent.removeAllViews();
adCacheDataMap.remove(normalAdData.cpAdslot);
ATNativeAdView adView = (ATNativeAdView) adCacheData.object;
if (adView.getParent() == null) {
adContent.addView(adView);
}
} else {
adCacheDataMap.remove(normalAdData.cpAdslot);
callNativeNotAd(AdErrorMessage.AD_TYPE_VIEW_ERROR);
}
});
}
private void callNativeNotAd(String errorMessage) {
callNotAd(nativeListenerHashMap, errorMessage);
}
private void callInterstitialNotAd(String errorMessage) { private void callInterstitialNotAd(String errorMessage) {
callNotAd(interstitialListenerHashMap, errorMessage); callNotAd(interstitialListenerHashMap, errorMessage);
} }
...@@ -512,10 +266,6 @@ public final class TopOnAdLoadManager { ...@@ -512,10 +266,6 @@ public final class TopOnAdLoadManager {
} }
} }
private void callNativeAdLoaded() {
callAdLoaded(nativeListenerHashMap);
}
private void callInterstitialAdLoaded() { private void callInterstitialAdLoaded() {
callAdLoaded(interstitialListenerHashMap); callAdLoaded(interstitialListenerHashMap);
} }
...@@ -548,21 +298,12 @@ public final class TopOnAdLoadManager { ...@@ -548,21 +298,12 @@ public final class TopOnAdLoadManager {
} }
} }
private void callNativeAdShow() {
// stop5MinTimer();
// OutAdManager.get().refreshShowAdNowRule(android.os.Process.myPid(), false);
callAdShow(nativeListenerHashMap);
}
private void callInterstitialAdShow() { private void callInterstitialAdShow() {
// stop5MinTimer();
// OutAdManager.get().refreshShowAdNowRule(android.os.Process.myPid(), false);
callAdShow(interstitialListenerHashMap); callAdShow(interstitialListenerHashMap);
} }
private void callAdShow(HashMap<String, WeakReference<OnInAdListener>> listenerHashMap) { private void callAdShow(HashMap<String, WeakReference<OnInAdListener>> listenerHashMap) {
LogUtil.d("OutShow 重置最后展示时间"); LogUtil.d("OutShow 重置最后展示时间");
// AppOutSP.saveHomeLastShowTime(System.currentTimeMillis());
OutHelp.get().setLastShowTime(); OutHelp.get().setLastShowTime();
Iterator<Map.Entry<String, WeakReference<OnInAdListener>>> iterator = listenerHashMap.entrySet().iterator(); Iterator<Map.Entry<String, WeakReference<OnInAdListener>>> iterator = listenerHashMap.entrySet().iterator();
...@@ -592,14 +333,7 @@ public final class TopOnAdLoadManager { ...@@ -592,14 +333,7 @@ public final class TopOnAdLoadManager {
} }
} }
private void callNativeCloseAd() {
callCloseAd(nativeListenerHashMap);
}
private void callInterstitialCloseAd() { private void callInterstitialCloseAd() {
// stop5MinTimer();
// OutAdManager.get().refreshShowAdNowRule(android.os.Process.myPid(), false);
topOnInterstitialAdLoad.destroy(showingAdBean);
callCloseAd(interstitialListenerHashMap); callCloseAd(interstitialListenerHashMap);
} }
...@@ -634,10 +368,6 @@ public final class TopOnAdLoadManager { ...@@ -634,10 +368,6 @@ public final class TopOnAdLoadManager {
adClosed(); adClosed();
} }
private void callNativeAdClk() {
callAdClk(nativeListenerHashMap);
}
private void callInterstitialAdClk() { private void callInterstitialAdClk() {
callAdClk(interstitialListenerHashMap); callAdClk(interstitialListenerHashMap);
} }
...@@ -670,72 +400,19 @@ public final class TopOnAdLoadManager { ...@@ -670,72 +400,19 @@ public final class TopOnAdLoadManager {
} }
} }
private void callNativeCacheTimeOut() {
callCacheTimeOut(nativeListenerHashMap);
}
private void callInterstitialCacheTimeOut() {
callCacheTimeOut(interstitialListenerHashMap);
}
private void callCacheTimeOut(HashMap<String, WeakReference<OnInAdListener>> listenerHashMap) {
Iterator<Map.Entry<String, WeakReference<OnInAdListener>>> iterator = listenerHashMap.entrySet().iterator();
ArrayList<String> deleteKeys = new ArrayList<>();
while (iterator.hasNext()) {
Map.Entry<String, WeakReference<OnInAdListener>> entry = iterator.next();
WeakReference<OnInAdListener> reference = entry.getValue();
if (reference != null) {
OnInAdListener adListener = reference.get();
if (adListener != null) {
adListener.cacheDataTimeOut();
} else {
String key = entry.getKey();
if (!TextUtils.isEmpty(key)) {
deleteKeys.add(key);
}
}
} else {
String key = entry.getKey();
if (!TextUtils.isEmpty(key)) {
deleteKeys.add(key);
}
}
}
for (String key : deleteKeys) {
listenerHashMap.remove(key);
}
}
public void registerCallBack(String adType, String tag, OnInAdListener onInAdListener) { public void registerCallBack(String adType, String tag, OnInAdListener onInAdListener) {
if (TextUtils.isEmpty(adType)) { if (TextUtils.isEmpty(adType)) {
return; return;
} }
switch (adType) {
case OutAdData.CP_AD_TYPE_CHAPING: registerInterstitialCallBack(tag, onInAdListener);
registerInterstitialCallBack(tag, onInAdListener);
break;
case OutAdData.CP_AD_TYPE_NATIVE:
registerNativeCallBack(tag, onInAdListener);
break;
default:
break;
}
} }
public void unregisterCallBack(String adType, String tag) { public void unregisterCallBack(String adType, String tag) {
if (TextUtils.isEmpty(adType)) { if (TextUtils.isEmpty(adType)) {
return; return;
} }
switch (adType) { unregisterInterstitialCallBack(tag);
case OutAdData.CP_AD_TYPE_CHAPING:
unregisterInterstitialCallBack(tag);
break;
case OutAdData.CP_AD_TYPE_NATIVE:
unregisterNativeCallBack(tag);
break;
default:
break;
}
} }
public void registerInterstitialCallBack(String tag, OnInAdListener onInAdListener) { public void registerInterstitialCallBack(String tag, OnInAdListener onInAdListener) {
...@@ -743,11 +420,6 @@ public final class TopOnAdLoadManager { ...@@ -743,11 +420,6 @@ public final class TopOnAdLoadManager {
registerCallBack(interstitialListenerHashMap, tag, onInAdListener); registerCallBack(interstitialListenerHashMap, tag, onInAdListener);
} }
public void registerNativeCallBack(String tag, OnInAdListener onInAdListener) {
LogUtil.d(TAG, "registerNativeCallBack tag =" + tag);
registerCallBack(nativeListenerHashMap, tag, onInAdListener);
}
public void registerCallBack(HashMap<String, WeakReference<OnInAdListener>> listenerHashMap, String tag, OnInAdListener onInAdListener) { public void registerCallBack(HashMap<String, WeakReference<OnInAdListener>> listenerHashMap, String tag, OnInAdListener onInAdListener) {
if (TextUtils.isEmpty(tag)) { if (TextUtils.isEmpty(tag)) {
return; return;
...@@ -776,11 +448,6 @@ public final class TopOnAdLoadManager { ...@@ -776,11 +448,6 @@ public final class TopOnAdLoadManager {
unregisterCallBack(interstitialListenerHashMap, tag); unregisterCallBack(interstitialListenerHashMap, tag);
} }
public void unregisterNativeCallBack(String tag) {
LogUtil.d(TAG, "unregisterNativeCallBack tag =" + tag);
unregisterCallBack(nativeListenerHashMap, tag);
}
private void unregisterCallBack(HashMap<String, WeakReference<OnInAdListener>> listenerHashMap, String tag) { private void unregisterCallBack(HashMap<String, WeakReference<OnInAdListener>> listenerHashMap, String tag) {
if (TextUtils.isEmpty(tag)) { if (TextUtils.isEmpty(tag)) {
return; return;
......
...@@ -14,13 +14,7 @@ import java.util.List; ...@@ -14,13 +14,7 @@ import java.util.List;
@Keep @Keep
public class OutAdData extends BaseWeatherBean { public class OutAdData extends BaseWeatherBean {
public static final String CP_AD_TOPON = "topon"; public static final String CP_AD_TOPON = "topon";
public static final String CP_AD_PANGLE = "Pangle"; public final static String CP_AD_TYPE_CHAPING = "3";
public static final String CP_ADMOD_PARTNER_ADMOD = "admob";
public static final String CP_ADMOD_PARTNER_FACEBOOK = "facebook";
public final static String CP_AD_TYPE_BANNER = "1";//BannerAd
public final static String CP_AD_TYPE_NATIVE = "2";//NativeAd
public final static String CP_AD_TYPE_CHAPING = "3";//ChaPing
//1=应用每天总展示次数类型 //1=应用每天总展示次数类型
public static final int CONFIG_TYPE_APP_SHOW_TIMES = 1; public static final int CONFIG_TYPE_APP_SHOW_TIMES = 1;
...@@ -38,14 +32,9 @@ public class OutAdData extends BaseWeatherBean { ...@@ -38,14 +32,9 @@ public class OutAdData extends BaseWeatherBean {
public final static int POSITION_LOCK = 10001; public final static int POSITION_LOCK = 10001;
//桌面 //桌面
public final static int POSITION_HOME = 10002; public final static int POSITION_HOME = 10002;
//在屏幕的展示位置类型
public final static int SHOW_TOP = 1;
public final static int SHOW_MID = 2;
public final static int SHOW_BOTTOM = 3;
//自营类 //自营类
public final static int AD_SELF_FLAG = 1; public final static int AD_SELF_FLAG = 1;
public final static int AD_OTHER_FLAG = 0;
@SerializedName("data") @SerializedName("data")
private Data data; private Data data;
......
...@@ -11,7 +11,9 @@ public enum DialogFailReason { ...@@ -11,7 +11,9 @@ public enum DialogFailReason {
EXIST_OUT, EXIST_OUT,
NO_DATA, NO_DATA,
INTERVAL_TIME, INTERVAL_TIME,
INTERVAL_TIME_START_DIALOG,
COUNT_EXCEEDS, COUNT_EXCEEDS,
NATIVE_EXCEEDS, NATIVE_EXCEEDS,
CP_EXCEEDS, CP_EXCEEDS,
NOT_READY,
} }
...@@ -50,13 +50,19 @@ public final class EventUtils { ...@@ -50,13 +50,19 @@ public final class EventUtils {
public static final String REMINDER_DIALOG_FG_SURPRISE_START = "reminder_dg_fg_surprise_start"; public static final String REMINDER_DIALOG_FG_SURPRISE_START = "reminder_dg_fg_surprise_start";
public static final String SCENES_SHOW = "show";
public static final String SCENES_CHECK = "check";
public static final String SCENES_LOAD = "load";
//外展弹窗事件 //外展弹窗事件
public static void staDialogFail(DialogFailReason reason, int actionState, String type) { public static void staDialogFail(DialogFailReason reason, int actionState, String scenes, String type) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("reason", reason.name().toLowerCase()); map.put("reason", reason.name().toLowerCase());
map.put("action", String.valueOf(actionState)); map.put("action", String.valueOf(actionState));
map.put("type", type); map.put("type", type);
map.put("hide", String.valueOf(IconHelp.get().isIconHide())); map.put("hide", String.valueOf(IconHelp.get().isIconHide()));
map.put("scenes", scenes);
Statistics.getInstance().dotEvent(OutHelp.get().getContext(), OUT_DIALOG_FAIL, "", map); Statistics.getInstance().dotEvent(OutHelp.get().getContext(), OUT_DIALOG_FAIL, "", map);
} }
...@@ -100,16 +106,8 @@ public final class EventUtils { ...@@ -100,16 +106,8 @@ public final class EventUtils {
return; return;
} }
String type = ""; String type = "interstitial";
if (adType.equals(OutAdData.CP_AD_TYPE_BANNER)) { String scene = "out";
type = "banner";
} else if (adType.equals(OutAdData.CP_AD_TYPE_NATIVE)) {
type = "native";
} else if (adType.equals(OutAdData.CP_AD_TYPE_CHAPING)) {
type = "interstitial";
}
String scene = "home";
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("adUnitId", data.cpAdslot); map.put("adUnitId", data.cpAdslot);
......
...@@ -7,65 +7,29 @@ public final class AppOutSP { ...@@ -7,65 +7,29 @@ public final class AppOutSP {
private static final String TAG = "AppOutSP"; private static final String TAG = "AppOutSP";
private static final String APP_OUT_PREF_FILE_NAME = "pref_app_out_file"; private static final String APP_OUT_PREF_FILE_NAME = "pref_app_out_file";
private static final String KEY_LOCK_NATIVE_AD_DAY_SHOW_COUNT = "lock_native_ad_day_show_count"; private static final String KEY_OUT_INTERSTITIAL_AD_DAY_SHOW_COUNT = "out_interstitial_ad_day_show_count";
private static final String KEY_LOCK_INTERSTITIAL_AD_DAY_SHOW_COUNT = "lock_interstitial_ad_day_show_count"; private static final String KEY_OUT_LAST_SHOW_TIME = "out_last_show_time";
private static final String KEY_HOME_NATIVE_AD_DAY_SHOW_COUNT = "home_native_ad_day_show_count";
private static final String KEY_HOME_INTERSTITIAL_AD_DAY_SHOW_COUNT = "home_interstitial_ad_day_show_count";
private static final String KEY_LOCK_LAST_SHOW_TIME = "lock_last_show_time";
private static final String KEY_HOME_LAST_SHOW_TIME = "home_last_show_time";
private static final String KEY_OUT_AD_DIALOG_CLOSE_LAST_TIME = "out_ad_dialog_close_last_time"; private static final String KEY_OUT_AD_DIALOG_CLOSE_LAST_TIME = "out_ad_dialog_close_last_time";
private static final String KEY_IS_APP_FIRST_START = "is_app_first_start_in_devices"; private static final String KEY_IS_APP_FIRST_START = "is_app_first_start_in_devices";
public static void saveLockNativeAdDayShowCount(int value) { public static void saveOutInterstitialAdDayShowCount(int value) {
getAppOutPref().put(KEY_LOCK_NATIVE_AD_DAY_SHOW_COUNT, value); getAppOutPref().put(KEY_OUT_INTERSTITIAL_AD_DAY_SHOW_COUNT, value);
} }
public static int getLockNativeAdDayShowCount() { public static int getOutInterstitialAdDayShowCount() {
return getAppOutPref().getInt(KEY_LOCK_NATIVE_AD_DAY_SHOW_COUNT, 0); return getAppOutPref().getInt(KEY_OUT_INTERSTITIAL_AD_DAY_SHOW_COUNT, 0);
} }
public static void saveLockInterstitialAdDayShowCount(int value) {
getAppOutPref().put(KEY_LOCK_INTERSTITIAL_AD_DAY_SHOW_COUNT, value);
}
public static int getLockInterstitialAdDayShowCount() {
return getAppOutPref().getInt(KEY_LOCK_INTERSTITIAL_AD_DAY_SHOW_COUNT, 0);
}
public static void saveHomeNativeAdDayShowCount(int value) {
getAppOutPref().put(KEY_HOME_NATIVE_AD_DAY_SHOW_COUNT, value);
}
public static int getHomeNativeAdDayShowCount() {
return getAppOutPref().getInt(KEY_HOME_NATIVE_AD_DAY_SHOW_COUNT, 0);
}
public static void saveHomeInterstitialAdDayShowCount(int value) { public static void saveOutLastShowTime(long value) {
getAppOutPref().put(KEY_HOME_INTERSTITIAL_AD_DAY_SHOW_COUNT, value); getAppOutPref().put(KEY_OUT_LAST_SHOW_TIME, value);
} }
public static int getHomeInterstitialAdDayShowCount() { public static long getOutLastShowTime() {
return getAppOutPref().getInt(KEY_HOME_INTERSTITIAL_AD_DAY_SHOW_COUNT, 0); return getAppOutPref().getLong(KEY_OUT_LAST_SHOW_TIME, 0);
} }
public static void saveLockLastShowTime(long value) {
getAppOutPref().put(KEY_LOCK_LAST_SHOW_TIME, value);
}
public static long getLockLastShowTime() {
return getAppOutPref().getLong(KEY_LOCK_LAST_SHOW_TIME, 0);
}
// public static void saveHomeLastShowTime(long value) {
// getAppOutPref().put(KEY_HOME_LAST_SHOW_TIME, value);
// }
//
// public static long getHomeLastShowTime() {
// return getAppOutPref().getLong(KEY_HOME_LAST_SHOW_TIME, 0);
// }
public static void saveOutAdDialogCloseLastTime(long value) { public static void saveOutAdDialogCloseLastTime(long value) {
getAppOutPref().put(KEY_OUT_AD_DIALOG_CLOSE_LAST_TIME, value); getAppOutPref().put(KEY_OUT_AD_DIALOG_CLOSE_LAST_TIME, value);
} }
......
...@@ -23,7 +23,7 @@ public class CheckHelper { ...@@ -23,7 +23,7 @@ public class CheckHelper {
* 检查当前场景是否能播放外展广告 * 检查当前场景是否能播放外展广告
* 解锁/回到桌面 触发展示的外展广告 * 解锁/回到桌面 触发展示的外展广告
*/ */
public static boolean checkAdCanShowByScene(int actionState) { public static boolean checkAdCanShowByScene(int actionState, String scenes) {
// boolean isInit = OutHelp.get().isInit(); // boolean isInit = OutHelp.get().isInit();
// if (!isInit) { // if (!isInit) {
// LogUtil.d(TAG + "(场景检查)保活未初始化,不能展示"); // LogUtil.d(TAG + "(场景检查)保活未初始化,不能展示");
...@@ -45,25 +45,25 @@ public class CheckHelper { ...@@ -45,25 +45,25 @@ public class CheckHelper {
if (!AppOutUtils.isScreenOn()) { if (!AppOutUtils.isScreenOn()) {
LogUtil.d(TAG + "(场景检查)手机未亮屏,不能展示"); LogUtil.d(TAG + "(场景检查)手机未亮屏,不能展示");
EventUtils.staDialogFail(DialogFailReason.SCREEN_OFF, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.SCREEN_OFF, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
if (isTelephonyCalling()) { if (isTelephonyCalling()) {
LogUtil.d(TAG + "(场景检查)通话中,不能展示"); LogUtil.d(TAG + "(场景检查)通话中,不能展示");
EventUtils.staDialogFail(DialogFailReason.CALLING, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.CALLING, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
if (OutHelp.get().isAppForeground()) { if (OutHelp.get().isAppForeground()) {
LogUtil.d(TAG + "(场景检查)应用在前台,不能展示"); LogUtil.d(TAG + "(场景检查)应用在前台,不能展示");
EventUtils.staDialogFail(DialogFailReason.IS_FOREGROUND, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.IS_FOREGROUND, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
if (AppOutUtils.isScreenLock()) { if (AppOutUtils.isScreenLock()) {
LogUtil.d(TAG + "(场景检查)锁屏中,不能展示"); LogUtil.d(TAG + "(场景检查)锁屏中,不能展示");
EventUtils.staDialogFail(DialogFailReason.LOCK, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.LOCK, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
...@@ -116,34 +116,33 @@ public class CheckHelper { ...@@ -116,34 +116,33 @@ public class CheckHelper {
// } // }
/** // /**
* 检查广告能否播放 // * 检查广告能否播放
* 广告次数检查 // * 广告次数检查
* // *
* @param data 广告数据 // * @param data 广告数据
* @param actionState 触发场景 // * @param actionState 触发场景
* @return // * @return
*/ // */
public static boolean checkCanShowAd(OutAdData.NormalAdData data, int actionState) { // public static boolean checkCanShowAd(OutAdData.NormalAdData data, int actionState) {
return checkCanShowAdByTimesFromAdData(data, actionState); // return checkCanShowAdByTimesFromAdData(data, actionState);
} // }
/** /**
* 检查广告数据是否可以播放 * 检查广告数据是否可以播放
*/ */
public static boolean checkCanShowAdByTimesFromAdData(OutAdData.NormalAdData data, int actionState) { public static boolean checkCanShowAdByTimesFromAdData(OutAdData.NormalAdData data, int actionState, String scenes) {
if (data == null) { if (data == null) {
LogUtil.d(TAG + "(次数检查)广告信息为空 不能播放"); LogUtil.d(TAG + "(次数检查)广告信息为空 不能播放");
EventUtils.staDialogFail(DialogFailReason.NO_DATA, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.NO_DATA, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
long curTime = System.currentTimeMillis(); long curTime = System.currentTimeMillis();
long lastShowTime = OutHelp.get().getLastShowTime(); long showIntervalTime = Math.abs(curTime - OutHelp.get().getLastShowTime());
long showIntervalTime = Math.abs(curTime - lastShowTime);
LogUtil.d(TAG + "(次数检查)上次展示时间=" + lastShowTime); LogUtil.d(TAG + "(次数检查)上次展示时间=" + OutHelp.get().getLastShowTime());
long spaceTime; long spaceTime;
...@@ -158,20 +157,18 @@ public class CheckHelper { ...@@ -158,20 +157,18 @@ public class CheckHelper {
if (showIntervalTime < spaceTime) { if (showIntervalTime < spaceTime) {
LogUtil.d(TAG + "(次数检查)未到间隔时间 不能播放"); LogUtil.d(TAG + "(次数检查)未到间隔时间 不能播放");
EventUtils.staDialogFail(DialogFailReason.INTERVAL_TIME, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.INTERVAL_TIME, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
int homeNativeAdDayShowCount = AppOutSP.getHomeNativeAdDayShowCount(); int homeInterstitialAdDayShowCount = AppOutSP.getOutInterstitialAdDayShowCount();
int homeInterstitialAdDayShowCount = AppOutSP.getHomeInterstitialAdDayShowCount(); int homeDayShowCount = homeInterstitialAdDayShowCount;
int homeDayShowCount = homeNativeAdDayShowCount + homeInterstitialAdDayShowCount;
if (!isSameDay(curTime, lastShowTime)) { if (!isSameDay(curTime, AppOutSP.getOutLastShowTime())) {
LogUtil.d(TAG + "(次数检查)上次播放不是今天 重置播放次数");
homeDayShowCount = 0; homeDayShowCount = 0;
homeNativeAdDayShowCount = 0;
homeInterstitialAdDayShowCount = 0; homeInterstitialAdDayShowCount = 0;
AppOutSP.saveHomeNativeAdDayShowCount(0); AppOutSP.saveOutInterstitialAdDayShowCount(0);
AppOutSP.saveHomeInterstitialAdDayShowCount(0);
} }
if (OutHelp.get().iconIsHide()) { if (OutHelp.get().iconIsHide()) {
...@@ -179,7 +176,7 @@ public class CheckHelper { ...@@ -179,7 +176,7 @@ public class CheckHelper {
LogUtil.d(TAG + "(次数检查)总次数 (icon隐藏) 配置次数=" + data.showTimeHide); LogUtil.d(TAG + "(次数检查)总次数 (icon隐藏) 配置次数=" + data.showTimeHide);
if (homeDayShowCount >= data.showTimeHide) { if (homeDayShowCount >= data.showTimeHide) {
LogUtil.d(TAG + "(次数检查)总次数 (icon隐藏) 超过播放次数"); LogUtil.d(TAG + "(次数检查)总次数 (icon隐藏) 超过播放次数");
EventUtils.staDialogFail(DialogFailReason.COUNT_EXCEEDS, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.COUNT_EXCEEDS, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
} else { } else {
...@@ -187,25 +184,7 @@ public class CheckHelper { ...@@ -187,25 +184,7 @@ public class CheckHelper {
LogUtil.d(TAG + "(次数检查)总次数 (icon未隐藏) 配置次数=" + data.showCount); LogUtil.d(TAG + "(次数检查)总次数 (icon未隐藏) 配置次数=" + data.showCount);
if (homeDayShowCount >= data.showCount) { if (homeDayShowCount >= data.showCount) {
LogUtil.d(TAG + "(次数检查)总次数 (icon未隐藏) 超过播放次数"); LogUtil.d(TAG + "(次数检查)总次数 (icon未隐藏) 超过播放次数");
EventUtils.staDialogFail(DialogFailReason.COUNT_EXCEEDS, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.COUNT_EXCEEDS, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false;
}
}
if (OutHelp.get().iconIsHide()) {
LogUtil.d(TAG + "(次数检查)原生 (icon隐藏) 当前次数=" + homeNativeAdDayShowCount);
LogUtil.d(TAG + "(次数检查)原生 (icon隐藏) 配置次数=" + data.showTimesHideForAdId);
if (OutAdData.CP_AD_TYPE_NATIVE.equals(data.cpAdtype) && (homeNativeAdDayShowCount >= data.showTimesHideForAdId)) {
LogUtil.d(TAG + "(次数检查)原生 (icon隐藏) 超过播放次数");
EventUtils.staDialogFail(DialogFailReason.NATIVE_EXCEEDS, actionState, EventUtils.DIALOG_TYPE_AD);
return false;
}
} else {
LogUtil.d(TAG + "(次数检查)原生 (icon未隐藏) 当前次数=" + homeNativeAdDayShowCount);
LogUtil.d(TAG + "(次数检查)原生 (icon未隐藏) 配置次数=" + data.showTimes);
if (OutAdData.CP_AD_TYPE_NATIVE.equals(data.cpAdtype) && (homeNativeAdDayShowCount >= data.showTimes)) {
LogUtil.d(TAG + "(次数检查)原生 (icon未隐藏) 超过播放次数");
EventUtils.staDialogFail(DialogFailReason.NATIVE_EXCEEDS, actionState, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
} }
...@@ -213,17 +192,17 @@ public class CheckHelper { ...@@ -213,17 +192,17 @@ public class CheckHelper {
if (OutHelp.get().iconIsHide()) { if (OutHelp.get().iconIsHide()) {
LogUtil.d(TAG + "(次数检查)插屏 (icon隐藏) 当前次数=" + homeInterstitialAdDayShowCount); LogUtil.d(TAG + "(次数检查)插屏 (icon隐藏) 当前次数=" + homeInterstitialAdDayShowCount);
LogUtil.d(TAG + "(次数检查)插屏 (icon隐藏) 配置次数=" + data.showTimesHideForAdId); LogUtil.d(TAG + "(次数检查)插屏 (icon隐藏) 配置次数=" + data.showTimesHideForAdId);
if (OutAdData.CP_AD_TYPE_CHAPING.equals(data.cpAdtype) && (homeInterstitialAdDayShowCount >= data.showTimesHideForAdId)) { if (homeInterstitialAdDayShowCount >= data.showTimesHideForAdId) {
LogUtil.d(TAG + "(次数检查)插屏 (icon隐藏) 超过播放次数"); LogUtil.d(TAG + "(次数检查)插屏 (icon隐藏) 超过播放次数");
EventUtils.staDialogFail(DialogFailReason.CP_EXCEEDS, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.CP_EXCEEDS, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
} else { } else {
LogUtil.d(TAG + "(次数检查)插屏 (icon未隐藏) 当前次数=" + homeInterstitialAdDayShowCount); LogUtil.d(TAG + "(次数检查)插屏 (icon未隐藏) 当前次数=" + homeInterstitialAdDayShowCount);
LogUtil.d(TAG + "(次数检查)插屏 (icon未隐藏) 配置次数=" + data.showTimes); LogUtil.d(TAG + "(次数检查)插屏 (icon未隐藏) 配置次数=" + data.showTimes);
if (OutAdData.CP_AD_TYPE_CHAPING.equals(data.cpAdtype) && (homeInterstitialAdDayShowCount >= data.showTimes)) { if (homeInterstitialAdDayShowCount >= data.showTimes) {
LogUtil.d(TAG + "(次数检查)插屏 (icon未隐藏) 超过播放次数"); LogUtil.d(TAG + "(次数检查)插屏 (icon未隐藏) 超过播放次数");
EventUtils.staDialogFail(DialogFailReason.CP_EXCEEDS, actionState, EventUtils.DIALOG_TYPE_AD); EventUtils.staDialogFail(DialogFailReason.CP_EXCEEDS, actionState, scenes, EventUtils.DIALOG_TYPE_AD);
return false; return false;
} }
} }
...@@ -245,18 +224,15 @@ public class CheckHelper { ...@@ -245,18 +224,15 @@ public class CheckHelper {
/** /**
* 检查广告是否准备好 * 检查广告是否准备好
*/ */
public static boolean checkAdReady(OutAdData.NormalAdData data) { public static boolean checkAdReady(OutAdData.NormalAdData data, String scenes) {
if (data == null) { if (data == null) {
return false; return false;
} }
boolean ready = false; boolean ready = TopOnAdLoadManager.getInstance().isInterstitialReady(data.cpName, data.cpAdslot);
if (OutAdData.CP_AD_TYPE_CHAPING.equals(data.cpAdtype)) {
ready = TopOnAdLoadManager.getInstance().isInterstitialReady(data.cpName, data.cpAdslot);
} else if (OutAdData.CP_AD_TYPE_NATIVE.equals(data.cpAdtype)) {
ready = TopOnAdLoadManager.getInstance().isNativeReady(data.cpAdslot);
}
LogUtil.d(TAG + "(缓存检查)是否有缓存:" + ready); LogUtil.d(TAG + "(缓存检查)是否有缓存:" + ready);
if (!ready) {
EventUtils.staDialogFail(DialogFailReason.NOT_READY, -1, scenes, EventUtils.DIALOG_TYPE_AD);
}
return ready; return ready;
} }
......
...@@ -13,6 +13,7 @@ import com.zl.sdk.ad.AdDataManager; ...@@ -13,6 +13,7 @@ import com.zl.sdk.ad.AdDataManager;
import com.zl.sdk.ad.TopOnAdLoadManager; import com.zl.sdk.ad.TopOnAdLoadManager;
import com.zl.sdk.bean.OutAdData; import com.zl.sdk.bean.OutAdData;
import com.zl.sdk.bean.RemindersInfo; import com.zl.sdk.bean.RemindersInfo;
import com.zl.sdk.event.DialogFailReason;
import com.zl.sdk.event.EventUtils; import com.zl.sdk.event.EventUtils;
import com.zl.sdk.event.statistics.AdScenes; import com.zl.sdk.event.statistics.AdScenes;
import com.zl.sdk.event.statistics.Statistics; import com.zl.sdk.event.statistics.Statistics;
...@@ -44,10 +45,12 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -44,10 +45,12 @@ public class OutAdManager extends BaseOutShowManager {
//展示广告失败次数 //展示广告失败次数
private int showAdFailTimes = 0; private int showAdFailTimes = 0;
//是否重试了 //是否重试了
private volatile boolean hadStartAdDialogFail = false; private volatile boolean hadStartAdDialogFail = false;
//上次拉起外展弹窗时间
private long lastStartAdDialogTime = 0L;
//限制不能重复拉起外展弹窗的时间
private final long startAdDialogIntervalTime = 5 * 1000L;
public void cleanLoadAdFailTime() { public void cleanLoadAdFailTime() {
showAdFailTimes = 0; showAdFailTimes = 0;
...@@ -83,26 +86,15 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -83,26 +86,15 @@ public class OutAdManager extends BaseOutShowManager {
LogUtil.d(TAG + "广告信息=" + adData); LogUtil.d(TAG + "广告信息=" + adData);
boolean canShowByScene = CheckHelper.checkAdCanShowByScene(actionState); boolean canShowByScene = CheckHelper.checkAdCanShowByScene(actionState, EventUtils.SCENES_SHOW);
boolean adDataCanShow = CheckHelper.checkCanShowAd(adData, actionState); boolean adDataCanShow = CheckHelper.checkCanShowAdByTimesFromAdData(adData, actionState, EventUtils.SCENES_SHOW);
boolean adReady = CheckHelper.checkAdReady(adData); boolean adReady = CheckHelper.checkAdReady(adData, EventUtils.SCENES_SHOW);
LogUtil.d(TAG + "能否播放(场景检查) :" + canShowByScene); LogUtil.d(TAG + "能否播放(场景检查) :" + canShowByScene);
LogUtil.d(TAG + "能否播放(次数检查):" + adDataCanShow); LogUtil.d(TAG + "能否播放(次数检查):" + adDataCanShow);
LogUtil.d(TAG + "能否播放(缓存检查) :" + adReady); LogUtil.d(TAG + "能否播放(缓存检查) :" + adReady);
return canShowByScene && adDataCanShow && adReady; return canShowByScene && adDataCanShow && adReady;
//TODO 去掉原生数据
/* if (adDataCanShow) {
return true;
} else {
LogUtil.d(TAG + "检查其他广告信息=" + adData);
adData = getNextAdData(adData.cpAdtype);
adDataCanShow = CheckHelper.checkCanShowAd(adData, actionState);
LogUtil.d(TAG + "能否播放(次数和缓存):" + adDataCanShow);
return adDataCanShow;
}*/
} }
...@@ -271,7 +263,7 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -271,7 +263,7 @@ public class OutAdManager extends BaseOutShowManager {
LogUtil.d(TAG + ">>>播放广告<<< =============>>> END 不能播放广告"); LogUtil.d(TAG + ">>>播放广告<<< =============>>> END 不能播放广告");
LogUtil.d(TAG); LogUtil.d(TAG);
boolean canShowByScene = CheckHelper.checkAdCanShowByScene(actionFrom.getAction()); boolean canShowByScene = CheckHelper.checkAdCanShowByScene(actionFrom.getAction(), EventUtils.SCENES_LOAD);
if (canShowByScene) { if (canShowByScene) {
LogUtil.d(TAG + ">>>播放广告<<< =============>>> END 不能播放广告 场景检测通过,去加载广告"); LogUtil.d(TAG + ">>>播放广告<<< =============>>> END 不能播放广告 场景检测通过,去加载广告");
...@@ -299,6 +291,8 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -299,6 +291,8 @@ public class OutAdManager extends BaseOutShowManager {
LogUtil.d(TAG); LogUtil.d(TAG);
LogUtil.d(TAG + ">>>广告逻辑结束<<< ===> END 返回失败"); LogUtil.d(TAG + ">>>广告逻辑结束<<< ===> END 返回失败");
LogUtil.d(TAG); LogUtil.d(TAG);
} }
...@@ -306,6 +300,15 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -306,6 +300,15 @@ public class OutAdManager extends BaseOutShowManager {
* 去拉起外展弹窗 播放or加载广告 * 去拉起外展弹窗 播放or加载广告
*/ */
private void startAdDialog(Context context, ActionFrom actionFrom, RemindersInfo remindersInfo, OutAdData.NormalAdData data) { private void startAdDialog(Context context, ActionFrom actionFrom, RemindersInfo remindersInfo, OutAdData.NormalAdData data) {
if (System.currentTimeMillis() - lastStartAdDialogTime <= startAdDialogIntervalTime) {
EventUtils.staDialogFail(DialogFailReason.INTERVAL_TIME_START_DIALOG, actionFrom.getAction(), EventUtils.SCENES_SHOW, EventUtils.DIALOG_TYPE_AD);
LogUtil.d(TAG + "拉起外展弹窗失败 : 5秒内不能重复拉起");
return;
}
lastStartAdDialogTime = System.currentTimeMillis();
try { try {
Intent intent = new Intent(); Intent intent = new Intent();
intent.setComponent(new ComponentName(context, OutHelp.get().getActivityName())); intent.setComponent(new ComponentName(context, OutHelp.get().getActivityName()));
...@@ -320,9 +323,6 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -320,9 +323,6 @@ public class OutAdManager extends BaseOutShowManager {
AppOutUtils.unlockSystem(); AppOutUtils.unlockSystem();
} }
//TODO 清除隐藏的Activity
// LaunchStart.getInstance().cleanAllActivityExcludeAds();
DxManager.get().setOutRemindersInfo(remindersInfo); DxManager.get().setOutRemindersInfo(remindersInfo);
DxManager.get().setOutAdData(data); DxManager.get().setOutAdData(data);
...@@ -355,18 +355,18 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -355,18 +355,18 @@ public class OutAdManager extends BaseOutShowManager {
private void outDialogShowFail(Context context, ActionFrom actionFrom, RemindersInfo remindersInfo, OutAdData.NormalAdData data, String reason) { private void outDialogShowFail(Context context, ActionFrom actionFrom, RemindersInfo remindersInfo, OutAdData.NormalAdData data, String reason) {
LogUtil.d(TAG, "广告弹窗 拉起失败 失败原因:" + reason); LogUtil.d(TAG, "广告弹窗 拉起失败 失败原因:" + reason);
try { try {
EventUtils.statRemindOutFgSurpriseStart(EventUtils.SLK_START_NO, reason, true, actionFrom.getAction());
OutHelp.get().clearNotification(); OutHelp.get().clearNotification();
if (!hadStartAdDialogFail) { if (!hadStartAdDialogFail) {
LogUtil.d(TAG, "广告弹窗 拉起失败 重试一次"); LogUtil.d(TAG, "广告弹窗 拉起失败 重试一次");
hadStartAdDialogFail = true; hadStartAdDialogFail = true;
startAdDialog(context, actionFrom, remindersInfo, data); new Handler().postDelayed(() -> startAdDialog(context, actionFrom, remindersInfo, data), startAdDialogIntervalTime);
} else { } else {
LogUtil.d(TAG + "广告弹窗 拉起失败 已经重试一次,不再重试"); LogUtil.d(TAG + "广告弹窗 拉起失败 已经重试一次,不再重试");
LogUtil.d(TAG + "广告弹窗 拉起失败 ,不再重试"); LogUtil.d(TAG + "广告弹窗 拉起失败 ,不再重试");
returnFailCallBack(reason); returnFailCallBack(reason);
} }
EventUtils.statRemindOutFgSurpriseStart(EventUtils.SLK_START_NO, reason, true, actionFrom.getAction());
} catch (Throwable ignored) { } catch (Throwable ignored) {
} }
} }
...@@ -374,9 +374,9 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -374,9 +374,9 @@ public class OutAdManager extends BaseOutShowManager {
private void outDialogShowSuccess(ActionFrom actionFrom) { private void outDialogShowSuccess(ActionFrom actionFrom) {
LogUtil.d(TAG + "广告弹窗(播放) 拉起成功"); LogUtil.d(TAG + "广告弹窗(播放) 拉起成功");
try { try {
returnSuccessCallBack();
EventUtils.statRemindOutFgSurpriseStart(EventUtils.SLK_START_OK, "", true, actionFrom.getAction()); EventUtils.statRemindOutFgSurpriseStart(EventUtils.SLK_START_OK, "", true, actionFrom.getAction());
} catch (Throwable throwable) { returnSuccessCallBack();
} catch (Throwable ignored) {
} }
} }
...@@ -406,8 +406,8 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -406,8 +406,8 @@ public class OutAdManager extends BaseOutShowManager {
OutAdData.NormalAdData localData = getAdData(); OutAdData.NormalAdData localData = getAdData();
if (localData != null if (localData != null
&& CheckHelper.checkCanShowAdByTimesFromAdData(localData, -1) && CheckHelper.checkCanShowAdByTimesFromAdData(localData, -1, EventUtils.SCENES_CHECK)
&& !CheckHelper.checkAdReady(localData)) { && !CheckHelper.checkAdReady(localData, EventUtils.SCENES_CHECK)) {
LogUtil.d(TAG); LogUtil.d(TAG);
LogUtil.d(TAG + ">>>加载广告<<< =============>>> END 加载广告(使用本地数据)"); LogUtil.d(TAG + ">>>加载广告<<< =============>>> END 加载广告(使用本地数据)");
LogUtil.d(TAG); LogUtil.d(TAG);
...@@ -423,18 +423,14 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -423,18 +423,14 @@ public class OutAdManager extends BaseOutShowManager {
OutAdData.NormalAdData preLoadData; OutAdData.NormalAdData preLoadData;
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
preLoadData = list.get(i); preLoadData = list.get(i);
//TODO 如果外展广告为原生,跳过加载
if (OutAdData.CP_AD_TYPE_NATIVE.equals(preLoadData.cpAdtype)) {
continue;
}
LogUtil.d(TAG + ">>>加载广告<<< index:" + i + " 检查广告能否加载:" + preLoadData); LogUtil.d(TAG + ">>>加载广告<<< index:" + i + " 检查广告能否加载:" + preLoadData);
if (CheckHelper.checkCanShowAdByTimesFromAdData(preLoadData, -1) if (CheckHelper.checkCanShowAdByTimesFromAdData(preLoadData, -1, EventUtils.SCENES_CHECK)
&& !CheckHelper.checkAdReady(preLoadData)) { && !CheckHelper.checkAdReady(preLoadData, EventUtils.SCENES_CHECK)) {
LogUtil.d(TAG); LogUtil.d(TAG);
LogUtil.d(TAG + ">>>加载广告<<< =============>>> END 加载广告"); LogUtil.d(TAG + ">>>加载广告<<< =============>>> END 加载广告");
...@@ -462,20 +458,11 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -462,20 +458,11 @@ public class OutAdManager extends BaseOutShowManager {
return; return;
} }
// if (WeatherAdData.CP_AD_TYPE_NATIVE.equals(normalAdData.cpAdtype)) { LogUtil.d(TAG + "加载广告(插屏) adData :" + normalAdData);
// LogUtil.d(TAG + "加载广告(原生) adData :" + normalAdData); hadStartAdDialogFail = false;
// TopOnAdLoadManager.getInstance().loadNativeAd(normalAdData, AdScenes.AD_SCENES_PURE); LogUtil.d(TAG + ">>>加载广告<<< =============>>> END 去加载广告");
// } else
if (OutAdData.CP_AD_TYPE_CHAPING.equals(normalAdData.cpAdtype)) {
LogUtil.d(TAG + "加载广告(插屏) adData :" + normalAdData);
hadStartAdDialogFail = false;
LogUtil.d(TAG + ">>>加载广告<<< =============>>> END 去加载广告");
TopOnAdLoadManager.getInstance().loadInterstitialAd(normalAdData, AdScenes.AD_SCENES_PURE);
// startAdDialog(OutHelp.get().getContext(), false, actionFrom, getReminderInfo(), normalAdData); TopOnAdLoadManager.getInstance().loadInterstitialAd(normalAdData, AdScenes.AD_SCENES_PURE);
}
} }
...@@ -484,41 +471,11 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -484,41 +471,11 @@ public class OutAdManager extends BaseOutShowManager {
if (adData == null) { if (adData == null) {
return; return;
} }
final long curTime = System.currentTimeMillis(); int outInterstitialAdDayShowCount = AppOutSP.getOutInterstitialAdDayShowCount();
if (adData.position == OutAdData.POSITION_LOCK) { AppOutSP.saveOutInterstitialAdDayShowCount(++outInterstitialAdDayShowCount);
AppOutSP.saveLockLastShowTime(curTime); LogUtil.d(TAG, "showAdSuccess interstitial outInterstitialAdDayShowCount =" + outInterstitialAdDayShowCount);
if (OutAdData.CP_AD_TYPE_NATIVE.equals(adData.cpAdtype)) {
int lockNativeAdDayDayShowCount = AppOutSP.getLockNativeAdDayShowCount();
AppOutSP.saveLockNativeAdDayShowCount(++lockNativeAdDayDayShowCount);
LogUtil.d(TAG, "showAdSuccess native lockNativeAdDayDayShowCount =" + lockNativeAdDayDayShowCount);
return;
}
if (OutAdData.CP_AD_TYPE_CHAPING.equals(adData.cpAdtype)) {
int lockInterstitialAdDayShowCount = AppOutSP.getLockInterstitialAdDayShowCount();
AppOutSP.saveLockInterstitialAdDayShowCount(++lockInterstitialAdDayShowCount);
LogUtil.d(TAG, "showAdSuccess interstitial lockInterstitialAdDayShowCount =" + lockInterstitialAdDayShowCount);
return;
}
return;
}
if (adData.position == OutAdData.POSITION_HOME) {
if (OutAdData.CP_AD_TYPE_NATIVE.equals(adData.cpAdtype)) {
int homeNativeAdDayShowCount = AppOutSP.getHomeNativeAdDayShowCount();
AppOutSP.saveHomeNativeAdDayShowCount(++homeNativeAdDayShowCount);
LogUtil.d(TAG, "showAdSuccess native homeNativeAdDayShowCount =" + homeNativeAdDayShowCount);
}
if (OutAdData.CP_AD_TYPE_CHAPING.equals(adData.cpAdtype)) {
int homeInterstitialAdDayShowCount = AppOutSP.getHomeInterstitialAdDayShowCount();
AppOutSP.saveHomeInterstitialAdDayShowCount(++homeInterstitialAdDayShowCount);
LogUtil.d(TAG, "showAdSuccess interstitial homeInterstitialAdDayShowCount =" + homeInterstitialAdDayShowCount);
}
}
} }
public void adClosed() { public void adClosed() {
// LogUtil.d(TAG + ">>>广告<<< =============>>> 广告关闭,再去加载广告");
// checkNeedLoadAd(ActionFrom.ACTION_UNKNOWN);
} }
} }
\ No newline at end of file
...@@ -3,6 +3,6 @@ package com.zl.sdk.out.ui; ...@@ -3,6 +3,6 @@ package com.zl.sdk.out.ui;
import android.app.Activity; import android.app.Activity;
public abstract class AbsView implements IView { public abstract class AbsView implements IView {
private static final String TAG = "OutWeatherDialog"; private static final String TAG = "OutDialog";
protected Activity activity; protected Activity activity;
} }
\ No newline at end of file
...@@ -8,6 +8,6 @@ public final class DialogFactory { ...@@ -8,6 +8,6 @@ public final class DialogFactory {
if (remindersInfo == null) { if (remindersInfo == null) {
return null; return null;
} }
return new WeatherPureAdDialog(remindersInfo, data); return new PureAdDialog(remindersInfo, data);
} }
} }
...@@ -23,17 +23,14 @@ import com.zl.sdk.util.LogUtil; ...@@ -23,17 +23,14 @@ import com.zl.sdk.util.LogUtil;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
class WeatherPureAdDialog extends AbsView { class PureAdDialog extends AbsView {
private static final String TAG = "WeatherPureAdDialog"; private static final String TAG = "PureAdDialog";
private FrameLayout rootView;
private RemindersInfo remindersInfo; private RemindersInfo remindersInfo;
private OutAdData.NormalAdData data; private OutAdData.NormalAdData data;
private View contentView;
// private LinearLayout weatherAdContainer;
private OnInAdListener onInAdListener; private OnInAdListener onInAdListener;
public WeatherPureAdDialog(RemindersInfo remindersInfo, OutAdData.NormalAdData data) { public PureAdDialog(RemindersInfo remindersInfo, OutAdData.NormalAdData data) {
this.remindersInfo = remindersInfo; this.remindersInfo = remindersInfo;
this.data = data; this.data = data;
} }
...@@ -41,7 +38,6 @@ class WeatherPureAdDialog extends AbsView { ...@@ -41,7 +38,6 @@ class WeatherPureAdDialog extends AbsView {
@Override @Override
public void onCreate(Activity activity, Intent intent, FrameLayout rootView) { public void onCreate(Activity activity, Intent intent, FrameLayout rootView) {
this.activity = activity; this.activity = activity;
this.rootView = rootView;
if (data == null) { if (data == null) {
finishActivity(); finishActivity();
return; return;
...@@ -62,14 +58,6 @@ class WeatherPureAdDialog extends AbsView { ...@@ -62,14 +58,6 @@ class WeatherPureAdDialog extends AbsView {
private void initView() { private void initView() {
// contentView = getContentView();
// FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
// FrameLayout.LayoutParams.MATCH_PARENT,
// FrameLayout.LayoutParams.WRAP_CONTENT
// );
//
// rootView.addView(contentView, params);
// weatherAdContainer = contentView.findViewById(R.id.weatherAdContainer);
} }
private View getContentView() { private View getContentView() {
...@@ -109,26 +97,13 @@ class WeatherPureAdDialog extends AbsView { ...@@ -109,26 +97,13 @@ class WeatherPureAdDialog extends AbsView {
finishActivity(); finishActivity();
return; return;
} }
if (adType.equals(OutAdData.CP_AD_TYPE_BANNER)) {
LogUtil.d(TAG + "initAd adType banner");
finishActivity();
return;
}
registerCallBack(adType); registerCallBack(adType);
if (adType.equals(OutAdData.CP_AD_TYPE_CHAPING)) { checkCanShowItAd(cpName, adUnitId);
checkCanShowItAd(cpName, adUnitId);
return;
}
// if (adType.equals(WeatherAdData.CP_AD_TYPE_NATIVE)) { // LogUtil.d(TAG + "initAd no support adType=" + adType);
// checkCanShowNativeAd(); // finishActivity();
// return;
// }
LogUtil.d(TAG + "initAd no support adType=" + adType);
finishActivity();
} }
...@@ -192,65 +167,23 @@ class WeatherPureAdDialog extends AbsView { ...@@ -192,65 +167,23 @@ class WeatherPureAdDialog extends AbsView {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("ad_ready", String.valueOf(adReady)); map.put("ad_ready", String.valueOf(adReady));
Statistics.getInstance().dotEvent(activity, "ad_dialog_exp", "", map); Statistics.getInstance().dotEvent(activity, "ad_dialog_exp", "", map);
} catch (Exception e) { } catch (Exception ignored) {
} }
} }
// private void checkCanShowNativeAd() {
// Object cacheData = TopOnAdLoadManager.getInstance().getAdCacheData(data.cpAdslot);
// boolean hasCache = cacheData instanceof AdCacheData
// && !((AdCacheData) cacheData).isNativeTimeout();
// LogUtil.d(TAG + "initAd native hasCache == " + hasCache);
// boolean isScreenOn = AppOutUtils.isScreenOn();
// boolean isLock = AppOutUtils.isScreenLock();
//
// if (hasCache) {
// LogUtil.d(TAG + "initAd native isScreenOn == " + isScreenOn + ", isLock =" + isLock);
// if (!isScreenOn || isLock) {
// statNativeScreenState("cache", isScreenOn, isLock);
// finishActivity();
// return;
// }
// showNativeAd();
// return;
// }
//
// statNativeScreenState("load", isScreenOn, isLock);
// TopOnAdLoadManager.getInstance().loadNativeAd(data, AdScenes.AD_SCENES_PURE);
// finishActivity();
// }
// private void statNativeScreenState(String state, boolean isScreenOn, boolean isLock) {
// Map<String, Object> map = new HashMap<>();
// map.put("state", state);
// map.put("isScreenOn", String.valueOf(isScreenOn));
// map.put("isLock", String.valueOf(isLock));
// Statistics.getInstance().dotEvent(activity, "native_state", "", map);
// }
@Override @Override
public void onDestroy() { public void onDestroy() {
LogUtil.d(TAG + "WeatherPureAdDialog onDestroy"); LogUtil.d(TAG + "PureAdDialog onDestroy");
if (data != null) { if (data != null) {
TopOnAdLoadManager.getInstance().unregisterCallBack(data.cpAdtype, TopOnAdLoadManager.REGISTER_TAG_WEATHER_PURE_AD); TopOnAdLoadManager.getInstance().unregisterCallBack(data.cpAdtype, TopOnAdLoadManager.REGISTER_TAG_WEATHER_PURE_AD);
} }
AppOutSP.saveOutAdDialogCloseLastTime(System.currentTimeMillis()); AppOutSP.saveOutAdDialogCloseLastTime(System.currentTimeMillis());
} }
// private void showNativeAd() {
// TopOnAdLoadManager.getInstance().showNativeAd(data, weatherAdContainer);
// }
private void showInterstitial() { private void showInterstitial() {
TopOnAdLoadManager.getInstance().showInterstitialAd(activity, data, AdScenes.AD_SCENES_PURE); TopOnAdLoadManager.getInstance().showInterstitialAd(activity, data, AdScenes.AD_SCENES_PURE);
} }
private void showBannerAd() {
// TopOnAdLoadManager.getInstance(activity).showAd(data, weatherAdContainer, activity);
}
/** /**
* 结束SLK 或者 退到后台 * 结束SLK 或者 退到后台
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment