Commit 917861da authored by wanglei's avatar wanglei

插页广告

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