Commit 917861da authored by wanglei's avatar wanglei

插页广告

parent 71863dc9
......@@ -185,9 +185,9 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
if (oneClickStart) {
return@setOnClickListener
}
(application as MyApplication).initApp()
oneClickStart = true
ifAgreePrivacy = true
(application as MyApplication).initApp()
binding.llStart.visibility = View.GONE
binding.llProgress.visibility = View.VISIBLE
job = startProgress()
......
......@@ -12,6 +12,7 @@ import java.util.concurrent.Executors
object AdMaxInit {
private val TAG = "AdMaxInit"
var isAdMaxInit = false
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
......@@ -33,6 +34,7 @@ object AdMaxInit {
val sdk = AppLovinSdk.getInstance(this)
sdk.initialize(initConfigBuilder.build()) {
LogEx.logDebug(TAG, "max init")
isAdMaxInit = true
}
executor.shutdown()
......
......@@ -14,7 +14,13 @@ import com.base.filerecoveryrecyclebin.ads.AdmobCommonUtils
import com.base.filerecoveryrecyclebin.help.ConfigHelper
import com.base.filerecoveryrecyclebin.utils.EventUtils
import com.base.filerecoveryrecyclebin.utils.LogEx
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import org.json.JSONObject
import java.util.concurrent.TimeUnit
import kotlin.math.min
import kotlin.math.pow
object AdMaxOpenUtils {
private val TAG = "AdMaxOpenUtils"
......@@ -23,6 +29,8 @@ object AdMaxOpenUtils {
private var onHidden: (() -> Unit)? = null
private var loadingListener: (() -> Unit)? = null
private var retryAttempt = 0
private fun setListener(context: Context) {
if (appOpenAd == null) {
appOpenAd = MaxAppOpenAd(ConfigHelper.openAdMaxId, context)
......@@ -33,12 +41,27 @@ object AdMaxOpenUtils {
loadingListener?.invoke()
}
override fun onAdLoadFailed(p0: String, p1: MaxError) {
LogEx.logDebug(TAG, "onAdLoadFailed")
onHidden?.invoke()
retryAttempt++
val delayMillis = TimeUnit.SECONDS.toMillis(2.0.pow(min(6, retryAttempt)).toLong())
MainScope().launch {
delay(delayMillis)
appOpenAd?.loadAd()
}
}
override fun onAdDisplayed(p0: MaxAd) {
}
override fun onAdHidden(p0: MaxAd) {
onHidden?.invoke()
appOpenAd?.loadAd()
loadingListener = null
}
override fun onAdClicked(p0: MaxAd) {
......@@ -46,11 +69,9 @@ object AdMaxOpenUtils {
AdmobCommonUtils.isMultiClick(appOpenAd)
}
override fun onAdLoadFailed(p0: String, p1: MaxError) {
appOpenAd?.loadAd()
}
override fun onAdDisplayFailed(p0: MaxAd, p1: MaxError) {
onHidden?.invoke()
appOpenAd?.loadAd()
val obj = JSONObject()
......@@ -94,31 +115,29 @@ object AdMaxOpenUtils {
appOpenAd?.loadAd()
}
if (!AdMaxInit.isAdMaxInit) {
onHidden?.invoke()
return
}
LogEx.logDebug(TAG, "showAppOpenAd continue")
appOpenAd?.loadAd()
this.onHidden = onHidden
if (appOpenAd?.isReady != true) {
LogEx.logDebug(TAG, "isReady=false")
appOpenAd?.loadAd()
loadingListener = {
loaded?.invoke()
LogEx.logDebug(TAG, "loadingListener callback")
if (appOpenAd?.isReady == true) {
loadingListener = {
LogEx.logDebug(TAG, "loadingListener callback")
loaded?.invoke()
val obj1 = JSONObject()
obj1.put("ad_unit", "openAd")
EventUtils.event("ad_prepare_show", ext = obj1)
this.onHidden = onHidden
appOpenAd?.showAd()
loadingListener = null
appOpenAd?.loadAd()
} else {
onHidden?.invoke()
appOpenAd?.loadAd()
val obj = JSONObject()
obj.put("reason", "no_ad")
obj.put("ad_unit", "openAd")
EventUtils.event("ad_show_error", ext = obj)
}
}
}
}
\ No newline at end of file
}
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