Commit 3ffa0b02 authored by wanglei's avatar wanglei

...

parent 55e94a3f
......@@ -50,8 +50,8 @@ class MyApplication : BaseApplication() {
}
}
fun initApp(isFirst: Boolean = false) {
if (!isFirst) {
fun initApp(isStartClick: Boolean = false) {
if (!isStartClick) {
@Suppress("DEPRECATION")
FacebookSdk.sdkInitialize(applicationContext)
// FacebookSdk.setIsDebugEnabled(true)
......
......@@ -2,7 +2,6 @@ package com.base.datarecovery.ads;
import android.content.SharedPreferences;
import android.util.Log;
import com.base.datarecovery.BuildConfig;
import com.base.datarecovery.MyApplication;
import com.base.datarecovery.help.BaseApplication;
......@@ -10,7 +9,6 @@ import com.base.datarecovery.utils.AppPreferences;
import com.base.datarecovery.utils.EventUtils;
import com.base.datarecovery.utils.LogEx;
import com.facebook.appevents.AppEventsLogger;
import org.json.JSONException;
import org.json.JSONObject;
import java.text.SimpleDateFormat;
......@@ -20,40 +18,37 @@ import java.util.Locale;
public class AdDisplayUtils {
private String TAG = "AdDisplayUtils";
private static final int DEFAULT_MAX_AD_REQUEST_COUNT = 100; // 广告请求次数限制默认值
private static final int DEFAULT_MAX_AD_REQUEST_FAIL_COUNT = 20; // 单个广告点击次数限制默认值
private static final int DEFAULT_MAX_AD_DISPLAY_COUNT = 45; // 总广告展示次数限制默认值
private static final int DEFAULT_MAX_AD_CLICK_COUNT = 10; // 单个广告点击次数限制默认值
public static final int DEFAULT_MAX_AD_REQUEST_COUNT = 100; // 广告请求次数限制默认值
public static final int DEFAULT_MAX_AD_REQUEST_FAIL_COUNT = 20; // 广告请求失败次数限制默认值
public static final int DEFAULT_MAX_AD_DISPLAY_COUNT = 45; // 总广告展示次数限制默认值
public static final int DEFAULT_MAX_AD_CLICK_COUNT = 10; // 单个广告点击次数限制默认值
private static final String AD_PREFS_NAME = "ad_prefs"; // SharedPreferences 名称
private static final String MAX_AD_DISPLAY_COUNT_KEY = "max_ad_display_count"; // 总广告展示次数限制的键
private static final String MAX_AD_REQUEST_COUNT_KEY = "max_ad_request_count"; // 广告请求次数限制的键
private static final String MAX_AD_CLICK_COUNT_KEY = "max_ad_click_count"; // 单个广告点击次数限制的键
private static final String MAX_AD_REQUEST_FAIL_COUNT_KEY = "max_ad_request_fail_count"; // 单个广告点击次数限制的键
private static AdDisplayUtils instance; // 单例对象
private static final String AD_DISPLAY_COUNT_KEY = "ad_display_count"; // 广告展示次数的键
private static final String AD_CLICK_COUNT_KEY = "ad_click_count"; // 广告点击次数的键
private static final String AD_REQUEST_FAIL_COUNT_KEY = "ad_request_fail_count"; // 单个广告点击次数限制的键
private static final String AD_REQUEST_COUNT_KEY = "ad_request_count";//广告请求次数
private String currentDate; // 当前日期
private static AdDisplayUtils instance; // 单例对象
private int maxAdRequestCount = DEFAULT_MAX_AD_REQUEST_COUNT; // 最大广告请求次数
private int maxAdRequestFailCount = DEFAULT_MAX_AD_REQUEST_FAIL_COUNT; // 请求失败总
private int maxAdDisplayCount = DEFAULT_MAX_AD_DISPLAY_COUNT; // 总广告展示次数限制
private int maxAdClickCount = DEFAULT_MAX_AD_CLICK_COUNT; // 单个广告点击次数限制
public void saveSp() {
private int adRequestCount = 0; // 当前广告请求次数
private int adRequestFailCount = 0; // 请求失败当前
private int adDisplayCount = 0; // 当前广告展示次数
private int adClickCount = 0; // 当前广告点击次数
this.maxAdRequestCount = Integer.parseInt(AppPreferences.getInstance().getString("adMaxRequestCount", String.valueOf(DEFAULT_MAX_AD_REQUEST_COUNT)));
saveMaxAdRequestCount();
this.maxAdRequestFailCount = Integer.parseInt(AppPreferences.getInstance().getString("adRequestFailCount", String.valueOf(DEFAULT_MAX_AD_REQUEST_FAIL_COUNT)));
saveMaxAdRequestFailCount();
private String currentDate; // 当前日期
this.maxAdDisplayCount = Integer.parseInt(AppPreferences.getInstance().getString("adShowCount", String.valueOf(DEFAULT_MAX_AD_DISPLAY_COUNT)));
saveMaxAdDisplayCount();
this.maxAdClickCount = Integer.parseInt(AppPreferences.getInstance().getString("adClickCount", String.valueOf(DEFAULT_MAX_AD_CLICK_COUNT)));
saveMaxAdClickCount();
}
private AdDisplayUtils() {
currentDate = getCurrentDate();
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
maxAdRequestCount = prefs.getInt(MAX_AD_REQUEST_COUNT_KEY, DEFAULT_MAX_AD_REQUEST_COUNT);
maxAdRequestFailCount = prefs.getInt(MAX_AD_REQUEST_FAIL_COUNT_KEY, DEFAULT_MAX_AD_REQUEST_FAIL_COUNT);
maxAdDisplayCount = prefs.getInt(MAX_AD_DISPLAY_COUNT_KEY, DEFAULT_MAX_AD_DISPLAY_COUNT);
......@@ -72,41 +67,20 @@ public class AdDisplayUtils {
return instance;
}
private String getAdRequestCountKey() {
return AD_REQUEST_COUNT_KEY + "_" + currentDate;
}
public boolean shouldDisplayAd() {
return adDisplayCount < getMaxAdDisplayCount();
}
public boolean shouldIncrementRequestFailAd() {
return adRequestFailCount < getMaxAdRequestFailCount();
}
public boolean shouldIncrementClickCount() {
return adClickCount < getMaxAdClickCount();
}
public boolean shouldSendAdRequest() {
return adRequestCount < getMaxAdRequestCount();
return adRequestCount < maxAdRequestCount;
}
public void setMaxAdRequestCount(int maxAdRequestCount) {
LogEx.INSTANCE.logDebug(TAG, "maxAdRequestCount" + maxAdRequestCount, false);
this.maxAdRequestCount = maxAdRequestCount;
saveMaxAdRequestCount();
public boolean shouldIncrementRequestFailAd() {
return adRequestFailCount < maxAdRequestFailCount;
}
private void saveMaxAdRequestCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(MAX_AD_REQUEST_COUNT_KEY, maxAdRequestCount);
editor.apply();
public boolean shouldDisplayAd() {
return adDisplayCount < maxAdDisplayCount;
}
public int getMaxAdRequestCount() {
return maxAdRequestCount;
public boolean shouldIncrementClickCount() {
return adClickCount < maxAdClickCount;
}
public boolean shouldShowAd(String ad_unit) {
......@@ -118,122 +92,108 @@ public class AdDisplayUtils {
boolean shouldIncrementRequestFailAd = shouldIncrementRequestFailAd();
boolean shouldSendAdRequest = shouldSendAdRequest();
LogEx.INSTANCE.logDebug(TAG, "shouldDisplayAd=" + shouldDisplayAd, false);
LogEx.INSTANCE.logDebug(TAG, "shouldIncrementClickCount=" + shouldIncrementClickCount, false);
LogEx.INSTANCE.logDebug(TAG, "shouldIncrementRequestFailAd=" + shouldIncrementRequestFailAd, false);
LogEx.INSTANCE.logDebug(TAG, "shouldSendAdRequest=" + shouldSendAdRequest, false);
LogEx.INSTANCE.logDebug(TAG, "shouldIncrementRequestFailAd=" + shouldIncrementRequestFailAd, false);
LogEx.INSTANCE.logDebug(TAG, "shouldIncrementClickCount=" + shouldIncrementClickCount, false);
LogEx.INSTANCE.logDebug(TAG, "shouldDisplayAd=" + shouldDisplayAd, false);
boolean s = shouldDisplayAd && shouldIncrementClickCount && shouldIncrementRequestFailAd && shouldSendAdRequest;
if (!s) {
boolean show = shouldIncrementRequestFailAd && shouldSendAdRequest && shouldDisplayAd && shouldIncrementClickCount;
if (!show) {
LogEx.INSTANCE.logDebug("glc", "!shouldShowAd", false);
JSONObject obj2 = new JSONObject();
try {
obj2.put("reason", "ad limit");
obj2.put("shouldSendAdRequest", shouldSendAdRequest);
obj2.put("shouldIncrementRequestFailAd", shouldIncrementRequestFailAd);
obj2.put("shouldDisplayAd", shouldDisplayAd);
obj2.put("shouldIncrementClickCount", shouldIncrementClickCount);
obj2.put("shouldIncrementRequestFailAd", shouldIncrementRequestFailAd);
obj2.put("shouldSendAdRequest", shouldSendAdRequest);
obj2.put("ad_unit", ad_unit);
EventUtils.INSTANCE.event("ad_show_error", null, obj2, false);
} catch (JSONException e) {
} catch (JSONException ignored) {
}
}
return s;
return show;
}
public void incrementAdDisplayCount() {
if (!currentDate.equals(getCurrentDate())) {
currentDate = getCurrentDate();
adDisplayCount = 0;
}
adDisplayCount++;
int max = AppPreferences.getInstance().getInt("facebookAdShowEventCount", 3);
if (adClickCount >= max && max != -1) {
AppEventsLogger logger = AppEventsLogger.newLogger(MyApplication.context);
logger.logEvent("ad_show");
AppPreferences.getInstance().put("facebookAdShowEventCount", -1);
}
saveAdDisplayCount();
}
public void incrementAdClickCount() {
if (!currentDate.equals(getCurrentDate())) {
currentDate = getCurrentDate();
adClickCount = 0;
}
adClickCount++;
saveAdClickCount();
}
//region AdRequestCount
private int maxAdRequestCount = 0; // 最大广告请求次数
private int adRequestCount = 0; // 当前广告请求次数
private static final String MAX_AD_REQUEST_COUNT_KEY = "max_ad_request_count"; // 广告请求次数限制的键
private static final String AD_REQUEST_COUNT_KEY = "ad_request_count";//广告请求次数
public void incrementAdRequestFailCount() {
if (!currentDate.equals(getCurrentDate())) {
currentDate = getCurrentDate();
adRequestFailCount = 0;
}
adRequestFailCount++;
saveAdRequestFailCount();
Log.d("glc", "广告请求失败:" + adRequestFailCount);
private void saveMaxAdRequestCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(MAX_AD_REQUEST_COUNT_KEY, maxAdRequestCount);
editor.apply();
}
public void setAdClickCount(int s) {
public void incrementAdRequestCount() {
if (!currentDate.equals(getCurrentDate())) {
currentDate = getCurrentDate();
adClickCount = 0;
adRequestCount = 0;
}
adClickCount = s;
saveAdClickCount();
}
public String getCurrentDate() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
Date currentDate = Calendar.getInstance().getTime();
return dateFormat.format(currentDate);
}
private String getAdDisplayCountKey() {
return AD_DISPLAY_COUNT_KEY + "_" + currentDate;
adRequestCount++;
saveAdRequestCount();
}
private String getAdClickCountKey() {
return AD_CLICK_COUNT_KEY + "_" + currentDate;
private String getAdRequestCountKey() {
return AD_REQUEST_COUNT_KEY + "_" + currentDate;
}
private void saveAdDisplayCount() {
private void saveAdRequestCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(getAdDisplayCountKey(), adDisplayCount);
editor.putInt(getAdRequestCountKey(), adRequestCount);
editor.apply();
}
//endregion
private void saveAdClickCount() {
//region AdRequestFailCount
private int maxAdRequestFailCount; // 请求失败总
private int adRequestFailCount = 0; // 请求失败当前
private static final String MAX_AD_REQUEST_FAIL_COUNT_KEY = "max_ad_request_fail_count"; // 单个广告点击次数限制的键
private static final String AD_REQUEST_FAIL_COUNT_KEY = "ad_request_fail_count"; // 单个广告点击次数限制的键
private void saveMaxAdRequestFailCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(getAdClickCountKey(), adClickCount);
editor.putInt(MAX_AD_REQUEST_FAIL_COUNT_KEY, maxAdRequestFailCount);
editor.apply();
}
private int getMaxAdDisplayCount() {
return maxAdDisplayCount;
public void incrementAdRequestFailCount() {
if (!currentDate.equals(getCurrentDate())) {
currentDate = getCurrentDate();
adRequestFailCount = 0;
}
adRequestFailCount++;
saveAdRequestFailCount();
Log.d("glc", "广告请求失败:" + adRequestFailCount);
}
public void setMaxAdDisplayCount(int maxAdDisplayCount) {
LogEx.INSTANCE.logDebug(TAG, "maxAdDisplayCount" + maxAdDisplayCount, false);
this.maxAdDisplayCount = maxAdDisplayCount;
saveMaxAdDisplayCount();
private String getAdRequestFailCountKey() {
return AD_REQUEST_FAIL_COUNT_KEY + "_" + currentDate;
}
public int getMaxAdClickCount() {
return maxAdClickCount;
private void saveAdRequestFailCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(getAdRequestFailCountKey(), adRequestFailCount);
editor.apply();
}
//endregion
public void setMaxAdClickCount(int maxAdClickCount) {
LogEx.INSTANCE.logDebug(TAG, "maxAdClickCount" + maxAdClickCount, false);
this.maxAdClickCount = maxAdClickCount;
saveMaxAdClickCount();
}
//region AdDisplayCount
private int maxAdDisplayCount; // 总广告展示次数限制
private int adDisplayCount = 0; // 当前广告展示次数
private static final String MAX_AD_DISPLAY_COUNT_KEY = "max_ad_display_count"; // 总广告展示次数限制的键
private static final String AD_DISPLAY_COUNT_KEY = "ad_display_count"; // 广告展示次数的键
private void saveMaxAdDisplayCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
......@@ -242,55 +202,79 @@ public class AdDisplayUtils {
editor.apply();
}
private void saveMaxAdClickCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(MAX_AD_CLICK_COUNT_KEY, maxAdClickCount);
editor.apply();
}
public void incrementAdDisplayCount() {
if (!currentDate.equals(getCurrentDate())) {
currentDate = getCurrentDate();
adDisplayCount = 0;
}
adDisplayCount++;
int max = AppPreferences.getInstance().getInt("facebookAdShowEventCount", 3);
if (adClickCount >= max && max != -1) {
AppEventsLogger logger = AppEventsLogger.newLogger(MyApplication.context);
logger.logEvent("ad_show");
AppPreferences.getInstance().put("facebookAdShowEventCount", -1);
}
public int getMaxAdRequestFailCount() {
return maxAdRequestFailCount;
saveAdDisplayCount();
}
public void setMaxAdRequestFailCount(int maxAdRequestFailCount) {
LogEx.INSTANCE.logDebug(TAG, "maxAdRequestFailCount" + maxAdRequestFailCount, false);
this.maxAdRequestFailCount = maxAdRequestFailCount;
saveMaxAdRequestFailCount();
private String getAdDisplayCountKey() {
return AD_DISPLAY_COUNT_KEY + "_" + currentDate;
}
private void saveMaxAdRequestFailCount() {
private void saveAdDisplayCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(MAX_AD_REQUEST_FAIL_COUNT_KEY, maxAdRequestFailCount);
editor.putInt(getAdDisplayCountKey(), adDisplayCount);
editor.apply();
}
//endregion
private void saveAdRequestFailCount() {
//region AdClickCount
public int maxAdClickCount; // 单个广告点击次数限制
private int adClickCount = 0; // 当前广告点击次数
private static final String MAX_AD_CLICK_COUNT_KEY = "max_ad_click_count"; // 单个广告点击次数限制的键
private static final String AD_CLICK_COUNT_KEY = "ad_click_count"; // 广告点击次数的键
private void saveMaxAdClickCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(getAdRequestFailCountKey(), adRequestFailCount);
editor.putInt(MAX_AD_CLICK_COUNT_KEY, maxAdClickCount);
editor.apply();
}
public void incrementAdRequestCount() {
public void incrementAdClickCount() {
LogEx.INSTANCE.logDebug(TAG, "incrementAdClickCount", false);
if (!currentDate.equals(getCurrentDate())) {
currentDate = getCurrentDate();
adRequestCount = 0;
adClickCount = 0;
}
adRequestCount++;
saveAdRequestCount();
adClickCount++;
saveAdClickCount();
}
private void saveAdRequestCount() {
private String getAdClickCountKey() {
return AD_CLICK_COUNT_KEY + "_" + currentDate;
}
private void saveAdClickCount() {
SharedPreferences prefs = BaseApplication.context.getSharedPreferences(AD_PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(getAdRequestCountKey(), adRequestCount);
editor.putInt(getAdClickCountKey(), adClickCount);
editor.apply();
LogEx.INSTANCE.logDebug(TAG, "adClickCount=" + adClickCount, false);
}
//endregion
private String getAdRequestFailCountKey() {
return AD_REQUEST_FAIL_COUNT_KEY + "_" + currentDate;
public String getCurrentDate() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
Date currentDate = Calendar.getInstance().getTime();
return dateFormat.format(currentDate);
}
}
package com.base.datarecovery.ads.admob
import com.base.datarecovery.ads.AdDisplayUtils
import com.base.datarecovery.utils.ActivityManagerUtils
object AdmobCommonUtils {
private var lastAd: Any? = null
private var maxMultiClick = 20
private var multiClick = 0
fun isMultiClick(currentAd: Any?) {
if (currentAd == null) {
return
}
if (lastAd == currentAd) {
multiClick++
if (multiClick >= maxMultiClick) {
AdDisplayUtils.getInstance()
.setAdClickCount(AdDisplayUtils.getInstance().maxAdClickCount)
ActivityManagerUtils.getInstance().finishAllActivity()
return
}
} else {
multiClick = 0
}
lastAd = currentAd
}
}
\ No newline at end of file
......@@ -8,13 +8,11 @@ import com.base.datarecovery.BuildConfig
import com.base.datarecovery.R
import com.base.datarecovery.ads.AdDisplayUtils
import com.base.datarecovery.ads.AdmobMaxHelper.lastShowedOnHiddenTime
import com.base.datarecovery.ads.admob.AdmobCommonUtils.isMultiClick
import com.base.datarecovery.ads.admob.AdmobEvent.clickAd
import com.base.datarecovery.ads.admob.AdmobEvent.pullAd
import com.base.datarecovery.ads.admob.AdmobEvent.showAd
import com.base.datarecovery.help.BaseApplication
import com.base.datarecovery.help.ConfigHelper
import com.base.datarecovery.utils.AppPreferences
import com.base.datarecovery.utils.EventUtils
import com.base.datarecovery.view.CustomDialog
import com.google.android.gms.ads.AdError
......@@ -169,7 +167,6 @@ object AdmobInterstitialUtils {
override fun onAdClicked() {
clickAd(thisInterAd?.responseInfo, "interAd")
AdDisplayUtils.getInstance().incrementAdClickCount()
isMultiClick(thisInterAd)
}
override fun onAdDismissedFullScreenContent() {
......
......@@ -6,7 +6,6 @@ import androidx.core.view.isVisible
import com.base.datarecovery.BuildConfig
import com.base.datarecovery.R
import com.base.datarecovery.ads.AdDisplayUtils
import com.base.datarecovery.ads.admob.AdmobCommonUtils.isMultiClick
import com.base.datarecovery.ads.admob.AdmobEvent.clickAd
import com.base.datarecovery.ads.admob.AdmobEvent.pullAd
import com.base.datarecovery.ads.admob.AdmobEvent.showAd
......@@ -64,11 +63,9 @@ object AdmobNativeUtils {
}.withAdListener(object : AdListener() {
override fun onAdClicked() {
clickAd(nativeAd?.responseInfo, "nativeAd")
isMultiClick(nativeAd)
}
override fun onAdFailedToLoad(p0: LoadAdError) {
AdDisplayUtils.getInstance().incrementAdRequestFailCount()
LogEx.logDebug(TAG, "onAdFailedToLoad=${p0.message}")
nativeAd = null
isLoading = false
......
......@@ -3,7 +3,6 @@ package com.base.datarecovery.ads.admob
import android.app.Activity
import com.base.datarecovery.BuildConfig
import com.base.datarecovery.ads.AdDisplayUtils
import com.base.datarecovery.ads.admob.AdmobCommonUtils.isMultiClick
import com.base.datarecovery.ads.admob.AdmobEvent.clickAd
import com.base.datarecovery.ads.admob.AdmobEvent.pullAd
import com.base.datarecovery.ads.admob.AdmobEvent.showAd
......@@ -103,7 +102,6 @@ object AdmobOpenUtils {
thisMOpenAd?.fullScreenContentCallback = object : FullScreenContentCallback() {
override fun onAdClicked() {
clickAd(thisMOpenAd?.responseInfo, "openAd")
isMultiClick(thisMOpenAd)
}
override fun onAdDismissedFullScreenContent() {
......
......@@ -10,7 +10,6 @@ import com.applovin.mediation.nativeAds.MaxNativeAdView
import com.applovin.mediation.nativeAds.MaxNativeAdViewBinder
import com.base.datarecovery.R
import com.base.datarecovery.ads.AdDisplayUtils
import com.base.datarecovery.ads.admob.AdmobCommonUtils
import com.base.datarecovery.ads.max.AdMaxEvent
import com.base.datarecovery.help.BaseApplication
import com.base.datarecovery.help.ConfigHelper
......@@ -47,7 +46,6 @@ object AdMaxNativeUtils {
override fun onNativeAdLoadFailed(p0: String, p1: MaxError) {
super.onNativeAdLoadFailed(p0, p1)
LogEx.logDebug(TAG, "onNativeAdLoadFailed")
AdDisplayUtils.getInstance().incrementAdRequestFailCount()
val obj2 = JSONObject()
obj2.put("reason", "no_ad")
obj2.put("ad_unit", "nativeAd")
......@@ -57,9 +55,7 @@ object AdMaxNativeUtils {
override fun onNativeAdClicked(p0: MaxAd) {
super.onNativeAdClicked(p0)
LogEx.logDebug(TAG, "onNativeAdClicked")
AdDisplayUtils.getInstance().incrementAdClickCount()
nativeAd?.let { AdMaxEvent.clickAd(it, "nativeAd") }
AdmobCommonUtils.isMultiClick(nativeAd)
}
override fun onNativeAdExpired(p0: MaxAd) {
......@@ -129,7 +125,6 @@ object AdMaxNativeUtils {
parent.removeAllViews()
parent.addView(adView)
nativeAd?.let { AdMaxEvent.showAd(it, "nativeAd", activityString) }
AdDisplayUtils.getInstance().incrementAdDisplayCount()
}
}
......
......@@ -7,8 +7,6 @@ import com.applovin.mediation.MaxError
import com.applovin.mediation.ads.MaxAppOpenAd
import com.base.datarecovery.MyApplication.Companion.isInterOpenShowing
import com.base.datarecovery.ads.AdDisplayUtils
import com.base.datarecovery.ads.AdmobMaxHelper.isAdInit
import com.base.datarecovery.ads.admob.AdmobCommonUtils
import com.base.datarecovery.help.ConfigHelper
import com.base.datarecovery.utils.EventUtils
import com.base.datarecovery.utils.LogEx
......
......@@ -3,7 +3,6 @@ package com.base.datarecovery.fcm;
import androidx.annotation.NonNull;
import com.base.datarecovery.MyApplication;
import com.base.datarecovery.ads.AdDisplayUtils;
import com.base.datarecovery.utils.AppPreferences;
import com.base.datarecovery.utils.EventUtils;
import com.base.datarecovery.utils.LogEx;
......
......@@ -17,7 +17,6 @@ import org.json.JSONObject
*/
object InstallHelps {
private val TAG = "InstallHelps"
@RequiresApi(Build.VERSION_CODES.O)
fun init() {
//InstallReferrer not empty
......@@ -84,7 +83,6 @@ object InstallHelps {
})
}
@RequiresApi(Build.VERSION_CODES.O)
fun requestCfg(callBackAd: Boolean) {
NewComUtils.requestCfg {
if (callBackAd) {
......
......@@ -13,6 +13,7 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.json.JSONObject
import java.io.BufferedReader
import java.io.InputStreamReader
import java.net.HttpURLConnection
......@@ -32,24 +33,28 @@ object NewComUtils {
private val url: String by lazy {
val packageName = ConfigHelper.packageName
val appCode = packageName.substringAfter(PACKAGE_NAME_PREFIX).take(5).toLowerCase(Locale.getDefault())
val baseRefer=
val baseRefer =
Base64.getEncoder().encodeToString(AppPreferences.getInstance().getString("referrerUrl", "").toByteArray())
if(Build.VERSION.SDK_INT >=Build.VERSION_CODES.O){
"$API_URL/${appCode}spk?pkg=$packageName" + "&referrer=${baseRefer}" +"&vn=${BuildConfig.VERSION_NAME}"+
"&vc=${BuildConfig.VERSION_CODE}&device=${AppPreferences.getInstance().getString("gid", "")}&aid=${AppPreferences.getInstance().getString("uuid", "")}"
}else{
"$API_URL/${appCode}spk?pkg=$packageName" +"&vn=${BuildConfig.VERSION_NAME}"+
"&vc=${BuildConfig.VERSION_CODE}&device=${AppPreferences.getInstance().getString("gid", "")}&aid=${AppPreferences.getInstance().getString("uuid", "")}"
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
"$API_URL/${appCode}spk?pkg=$packageName" + "&referrer=${baseRefer}" + "&vn=${BuildConfig.VERSION_NAME}" +
"&vc=${BuildConfig.VERSION_CODE}&device=${
AppPreferences.getInstance().getString("gid", "")
}&aid=${AppPreferences.getInstance().getString("uuid", "")}"
} else {
"$API_URL/${appCode}spk?pkg=$packageName" + "&vn=${BuildConfig.VERSION_NAME}" +
"&vc=${BuildConfig.VERSION_CODE}&device=${
AppPreferences.getInstance().getString("gid", "")
}&aid=${AppPreferences.getInstance().getString("uuid", "")}"
}
}
fun requestCfg(callback: (ConfigBean?) -> Unit) {
fun requestCfg(callback: () -> Unit) {
CoroutineScope(Dispatchers.IO).launch {
val response = doGet()
if (response == null) {
withContext(Dispatchers.Main) {
callback(null)
callback()
}
return@launch
}
......@@ -57,7 +62,7 @@ object NewComUtils {
val data = extractData(response)
if (data == null) {
withContext(Dispatchers.Main) {
callback(null)
callback()
}
return@launch
}
......@@ -65,7 +70,7 @@ object NewComUtils {
val decryptedData = AESHelper.decrypt(data)
parseConfigBean(decryptedData)
withContext(Dispatchers.Main) {
callback(null)
callback()
}
}
}
......@@ -105,19 +110,13 @@ object NewComUtils {
// 对于整型值使用parseInt, 长整型使用parseLong
LogEx.logDebug(TAG, "t=$t u=$u")
AppPreferences.getInstance().put(t, u)
}
AdDisplayUtils.getInstance().setMaxAdDisplayCount(
AppPreferences.getInstance().getString("adShowCount", "45").toInt()
)
AdDisplayUtils.getInstance().maxAdClickCount =
AppPreferences.getInstance().getString("adClickCount", "10").toInt()
AdDisplayUtils.getInstance().maxAdRequestFailCount =
AppPreferences.getInstance().getString("adRequestFailCount", "20").toInt()
val jsonObject = JSONObject()
jsonObject.put("ut", AppPreferences.getInstance().getString("ut", ""))
EventUtils.event("user_type", ext = jsonObject)
AdDisplayUtils.getInstance().maxAdRequestCount =
AppPreferences.getInstance().getString("adMaxRequestCount", "100").toInt()
AdDisplayUtils.getInstance().saveSp()
}
}
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