Commit fa7c8d39 authored by wanglei's avatar wanglei

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

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