Commit fa7c8d39 authored by wanglei's avatar wanglei

[商业化]优化启动页已经跳转还显示开屏

parent 57e27536
......@@ -27,6 +27,8 @@ abstract class AdEvent {
var adUnit: String = ""
var from: String = ""
val reqId = UUID.randomUUID().toString()
var isUnLimit: Boolean = false
fun adPrepareShow() {
val obj1 = JSONObject()
......
......@@ -182,12 +182,14 @@ object AdsMgr {
val from = activity::class.java.simpleName
if (adsConfigBean.adSwitch) {
val admobEvent = AdmobEvent("openAd", from)
admobEvent.isUnLimit = isUnLimit
if (isAdmobInit) {
adOpenMgr.show(activity, isUnLimit, AdmobEvent("openAd", from), showCallBack)
adOpenMgr.show(activity, admobEvent, showCallBack)
} else {
admobInitCallBack = {
}
adOpenMgr.show(activity, isUnLimit, AdmobEvent("openAd", from), showCallBack)
adOpenMgr.show(activity, admobEvent, showCallBack)
}
} else {
if (isMaxInit) {
......
......@@ -9,6 +9,7 @@ import com.base.appzxhy.business.ads.AdState
import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.business.ads.AdsType
import com.base.appzxhy.business.ads.LimitUtils
import com.base.appzxhy.utils.LogEx
import com.google.android.gms.ads.AdError
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.FullScreenContentCallback
......@@ -27,11 +28,11 @@ class AdOpenMgr {
private var showCallBack: AdsShowCallBack? = null
fun show(activity: Activity, isUnLimit: Boolean, adEvent: AdEvent, showCallBack: AdsShowCallBack?) {
fun show(activity: Activity, adEvent: AdEvent, showCallBack: AdsShowCallBack?) {
if (activity.isFinishing || activity.isDestroyed) {
return
}
if (!isUnLimit) {
if (!adEvent.isUnLimit) {
if (!LimitUtils.isAdShow(AdsType.OPEN, adEvent)) {
showCallBack?.failed()
return
......@@ -53,7 +54,9 @@ class AdOpenMgr {
val needLoad = adState.currentAd == null || !adAvailable()
if (needLoad) {
if (!adState.loadingAd) {
loadAd(activity, adEvent, isUnLimit, true)
loadAd(activity, adEvent) {
showReadyAd(adEvent)
}
}
} else {
showReadyAd(adEvent)
......@@ -62,10 +65,16 @@ class AdOpenMgr {
private fun showReadyAd(adEvent: AdEvent) {
val ac = adState.activityRef?.get()
if (ac == null || ac.isFinishing || ac.isDestroyed) {
LogEx.logDebug(TAG, "showReadyAd ac=null isFinishing isDestroyed")
return
}
adState.currentAd?.run {
fullScreenContentCallback = object : FullScreenContentCallback() {
override fun onAdShowedFullScreenContent() {
val ac = adState.activityRef?.get()
(adEvent as AdmobEvent).showAd(this@run.responseInfo, ac)
showCallBack?.show()
......@@ -114,11 +123,10 @@ class AdOpenMgr {
fun loadAd(
context: Context,
adEvent: AdEvent,
isUnLimit: Boolean = false,
isShow: Boolean = false,
loadCallBack: (() -> Unit)? = null
) {
if (!isUnLimit) {
if (!adEvent.isUnLimit) {
if (!LimitUtils.isAdShow(AdsType.OPEN, adEvent)) {
this.showCallBack?.close()
this.showCallBack = null
......@@ -127,7 +135,6 @@ class AdOpenMgr {
}
}
adEvent.adPulStart()
AppOpenAd.load(
......@@ -137,13 +144,10 @@ class AdOpenMgr {
object : AppOpenAd.AppOpenAdLoadCallback() {
override fun onAdLoaded(appOpenAd: AppOpenAd) {
adState.onAdLoaded(appOpenAd)
if (this@AdOpenMgr.showCallBack != null || isShow) {
showReadyAd(adEvent)
}
loadCallBack?.invoke()
(adEvent as AdmobEvent).pullAd(appOpenAd.responseInfo)
appOpenAd.onPaidEventListener = AdmobOnPaidEventListener(appOpenAd, adEvent.scope)
LimitUtils.addRequestNum()
}
override fun onAdFailedToLoad(loadAdError: LoadAdError) {
......
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