Commit 8bdef84d authored by wanglei's avatar wanglei

预加载

parent 97543c6e
......@@ -19,6 +19,7 @@ import com.base.datarecovery.activity.screenshot.ScreenShotActivity
import com.base.datarecovery.ads.admob.AdmobInterstitialUtils
import com.base.datarecovery.ads.admob.AdmobNativeUtils
import com.base.datarecovery.ads.admob.AdmobOpenUtils
import com.base.datarecovery.ads.max.AdMaxInit.maxInitAction
import com.base.datarecovery.ads.max.AdMaxInterstitialUtils
import com.base.datarecovery.ads.max.AdMaxOpenUtils
import com.base.datarecovery.bean.ConstObject
......@@ -40,6 +41,7 @@ import com.base.datarecovery.help.ConfigHelper
import com.base.datarecovery.service.StayNotificationService.Companion.startStayNotification
import com.base.datarecovery.utils.BarUtils
import com.base.datarecovery.utils.LogEx
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableSharedFlow
......@@ -73,22 +75,24 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
actionId = intent?.extras?.getInt("actionId") ?: -1
closeNotification()
AdmobNativeUtils.loadNativeAd()
AdmobInterstitialUtils.loadInterstitialAd(this)
progressCollect()
if (ifAgreePrivacy) {
job = startProgress()
binding.llStart.visibility = View.GONE
binding.llProgress.visibility = View.VISIBLE
LogEx.logDebug(TAG, "ifAgreePrivacy=$ifAgreePrivacy")
if (ConfigHelper.admobTrueMaxFlase) {
LogEx.logDebug(TAG, "load admob")
AdmobNativeUtils.loadNativeAd()
AdmobInterstitialUtils.loadInterstitialAd(this)
} else {
AdMaxOpenUtils.loadAppOpenAd(this)
AdMaxInterstitialUtils.loadInterstitialAd(this)
LogEx.logDebug(TAG, "load max")
maxInitAction = {
AdMaxOpenUtils.loadAppOpenAd(this)
AdMaxInterstitialUtils.loadInterstitialAd(this)
}
}
job = startProgress()
binding.llStart.visibility = View.GONE
binding.llProgress.visibility = View.VISIBLE
} else {
binding.llStart.visibility = View.VISIBLE
binding.llProgress.visibility = View.GONE
......@@ -198,8 +202,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
AdmobNativeUtils.loadNativeAd()
AdmobInterstitialUtils.loadInterstitialAd(this)
} else {
AdMaxOpenUtils.loadAppOpenAd(this)
AdMaxInterstitialUtils.loadInterstitialAd(this)
maxInitAction = {
AdMaxOpenUtils.loadAppOpenAd(this)
AdMaxInterstitialUtils.loadInterstitialAd(this)
}
}
binding.llStart.visibility = View.GONE
binding.llProgress.visibility = View.VISIBLE
......@@ -209,7 +215,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
private var processTime = 0L
private var outTimeAdStart = false
private fun startProgress() = lifecycleScope.launch {
private fun startProgress() = lifecycleScope.launch(Dispatchers.Main) {
LogEx.logDebug(TAG, "startProgress")
while (isActive) {
val value = binding.pb.progress + 2
......
......@@ -2,10 +2,14 @@ package com.base.datarecovery.ads
import android.app.Activity
import com.base.datarecovery.ads.admob.AdmobInterstitialUtils
import com.base.datarecovery.ads.admob.AdmobOpenUtils
import com.base.datarecovery.ads.max.AdMaxInterstitialUtils
import com.base.datarecovery.ads.max.AdMaxOpenUtils
import com.base.datarecovery.help.ConfigHelper
import com.base.datarecovery.utils.LogEx
object AdmobMaxHelper {
private val TAG=""
fun admobMaxShowInterstitialAd(activity: Activity, onHidden: (() -> Unit)? = null) {
if (ConfigHelper.admobTrueMaxFlase) {
......@@ -18,4 +22,6 @@ object AdmobMaxHelper {
}
}
}
}
\ No newline at end of file
......@@ -8,11 +8,13 @@ import com.base.datarecovery.utils.LogEx
import com.google.android.gms.ads.identifier.AdvertisingIdClient
import java.util.Collections
import java.util.concurrent.Executors
import java.util.concurrent.atomic.AtomicBoolean
object AdMaxInit {
private val TAG = "com.base.datarecovery.ads.max.AdMaxInit"
var isAdMaxInit = false
private val TAG = "AdMaxInit"
var isAdMaxInit = AtomicBoolean(false)
var maxInitAction: (() -> Unit)? = null
fun Context.initAdMax() {
// If you want to test your own AppLovin SDK key, change the value here and update the package name in the build.gradle
......@@ -34,7 +36,8 @@ object AdMaxInit {
val sdk = AppLovinSdk.getInstance(this)
sdk.initialize(initConfigBuilder.build()) {
LogEx.logDebug(TAG, "max init")
isAdMaxInit = true
isAdMaxInit.set(true)
maxInitAction?.invoke()
}
executor.shutdown()
......
......@@ -22,7 +22,7 @@ import kotlin.math.pow
object AdMaxInterstitialUtils {
private val TAG = "com.base.datarecovery.ads.max.AdMaxInterstitialUtils"
private val TAG = "AdMaxInterstitialUtils"
private var interstitialAd: MaxInterstitialAd? = null
private var interLoadTime = Long.MAX_VALUE
private var onHidden: (() -> Unit)? = null
......@@ -192,9 +192,10 @@ object AdMaxInterstitialUtils {
}
fun loadInterstitialAd(activity: Activity) {
fun loadInterstitialAd(activity: Activity) {
setListener(activity)
if (AdMaxInit.isAdMaxInit) {
if (AdMaxInit.isAdMaxInit.get()) {
LogEx.logDebug(TAG, "loadInterstitialAd")
interstitialAd?.loadAd()
}
}
......
......@@ -14,10 +14,11 @@ 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
import kotlinx.coroutines.MainScope
import org.json.JSONObject
object AdMaxOpenUtils {
private val TAG = "com.base.datarecovery.ads.max.AdMaxOpenUtils"
private val TAG = "AdMaxOpenUtils"
private var appOpenAd: MaxAppOpenAd? = null
private var openLoadTime = Long.MAX_VALUE
private var onHidden: (() -> Unit)? = null
......@@ -121,7 +122,7 @@ object AdMaxOpenUtils {
appOpenAd?.loadAd()
}
if (!AdMaxInit.isAdMaxInit) {
if (!AdMaxInit.isAdMaxInit.get()) {
onHidden?.invoke()
return
}
......@@ -150,8 +151,12 @@ object AdMaxOpenUtils {
fun loadAppOpenAd(activity: Activity) {
setListener(activity)
if (AdMaxInit.isAdMaxInit) {
LogEx.logDebug(TAG, "loadAppOpenAd1")
if (AdMaxInit.isAdMaxInit.get()) {
LogEx.logDebug(TAG, "loadAppOpenAd2")
appOpenAd?.loadAd()
} else {
LogEx.logDebug(TAG, "loadAppOpenAd3")
}
}
......
......@@ -8,7 +8,9 @@ object LogEx {
val filterTAG = arrayOf(
"FileScanActivity",
"FileHexEx",
"FileGridAdapter"
"FileGridAdapter",
"EventUtils",
"ReportUtils"
)
fun logDebug(tag: String, content: String, isMust: Boolean = false) {
......
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