Commit 8a1601a8 authored by wanglei's avatar wanglei

...

parent 87ef0588
......@@ -2,6 +2,7 @@ package com.base.filerecoveryrecyclebin.ads.max
import android.annotation.SuppressLint
import android.app.Activity
import android.app.Dialog
import com.applovin.mediation.MaxAd
import com.applovin.mediation.MaxAdListener
import com.applovin.mediation.MaxError
......@@ -23,11 +24,6 @@ object AdMaxInterstitialUtils {
private var interLoadTime = Long.MAX_VALUE
private var onHidden: (() -> Unit)? = null
private var loadingListener: (() -> Unit)? = null
private var retryAttempt = 0
@SuppressLint("StaticFieldLeak")
private var customDialog: CustomDialog? = null
private var activityString: String = ""
private fun setListener(activity: Activity) {
......@@ -43,7 +39,6 @@ object AdMaxInterstitialUtils {
loadingListener = null
interLoadTime = System.currentTimeMillis()
retryAttempt = 0
val reqId = UUID.randomUUID().toString()
AdMaxEvent.pullAd(p0, "interAd", reqId = reqId)
}
......@@ -53,14 +48,9 @@ object AdMaxInterstitialUtils {
val reqId = UUID.randomUUID().toString()
AdMaxEvent.pullAd(null, "interAd", reqId = reqId, error = p1.message, code = p1.code)
AdDisplayUtils.getInstance().incrementAdRequestFailCount()
retryAttempt++
LogEx.logDebug(TAG, "onAdLoadFailed retryAttempt=$retryAttempt")
if (retryAttempt == 1) {
customDialog?.dismiss()
onHidden?.invoke()
onHidden = null
retryAttempt = 0
}
loadingListener?.invoke()
loadingListener = null
}
override fun onAdDisplayed(p0: MaxAd) {
......@@ -86,6 +76,8 @@ object AdMaxInterstitialUtils {
override fun onAdDisplayFailed(p0: MaxAd, p1: MaxError) {
LogEx.logDebug(TAG, "onAdDisplayFailed")
onHidden?.invoke()
onHidden = null
val obj2 = JSONObject()
obj2.put("code", p1.code)
obj2.put("reason", p1.message)
......@@ -125,9 +117,9 @@ object AdMaxInterstitialUtils {
obj1.put("ad_unit", "interAd")
EventUtils.event("ad_prepare_show", ext = obj1)
AdMaxInterstitialUtils.onHidden = onHidden
if (interstitialAd?.isReady == true) {
LogEx.logDebug(TAG, "有缓存直接播放。")
this.onHidden = onHidden
interstitialAd?.showAd(activity)
} else {
LogEx.logDebug(TAG, "展示广告时,没有缓存,需要拉取。")
......@@ -135,9 +127,23 @@ object AdMaxInterstitialUtils {
obj2.put("reason", "no ad")
obj2.put("ad_unit", "interAd")
EventUtils.event("ad_show_error", ext = obj2)
loadInterstitialAd(activity)
LogEx.logDebug(TAG, "isReady=false")
showAdDialogAndLoadInterstitial(activity)
val loaded = loadInterstitialAd(activity)
if (loaded) {
LogEx.logDebug(TAG, "loaded=true")
val dialog = showAdDialogAndLoadInterstitial(activity)
loadingListener = {
dialog?.dismiss()
if (interstitialAd?.isReady == true) {
this.onHidden = onHidden
interstitialAd?.showAd(activity)
} else {
onHidden?.invoke()
}
}
} else {
LogEx.logDebug(TAG, "loaded=false")
onHidden?.invoke()
}
}
}
......@@ -149,27 +155,24 @@ object AdMaxInterstitialUtils {
private fun showAdDialogAndLoadInterstitial(
activity: Activity,
) {
): Dialog? {
var customDialog: Dialog? = null
if (!activity.isFinishing && !activity.isDestroyed) {
customDialog = CustomDialog(activity, R.layout.dialog_ad_loading)
// 设置对话框的样式和内容
customDialog?.show()
customDialog.show()
}
loadingListener = {
customDialog?.dismiss()
interstitialAd?.showAd(activity)
}
return customDialog
}
fun loadInterstitialAd(activity: Activity) {
fun loadInterstitialAd(activity: Activity): Boolean {
setListener(activity)
if (!AdDisplayUtils.getInstance().shouldShowAd("interAd")) {
return
return false
}
if (interstitialAd?.isReady == true) {
return
return false
}
if (isAdInit.get()) {
LogEx.logDebug(TAG, "loadInterstitialAd")
......@@ -179,7 +182,9 @@ object AdMaxInterstitialUtils {
obj.put("ad_type", "interAd")
EventUtils.event("ad_pull_start", ext = obj)
interstitialAd?.loadAd()
return true
}
return false
}
......
......@@ -14,7 +14,7 @@ import org.json.JSONObject
import java.util.UUID
object AdMaxOpenUtils {
private val TAG = "dMaxOpenUtils"
private val TAG = "AdMaxOpenUtils"
private var appOpenAd: MaxAppOpenAd? = null
private var openLoadTime = Long.MAX_VALUE
private var onHidden: (() -> Unit)? = null
......@@ -31,7 +31,7 @@ object AdMaxOpenUtils {
LogEx.logDebug(TAG, "广告拉取成功")
openLoadTime = System.currentTimeMillis()
loadingListener?.invoke()
loadingListener =null
loadingListener = null
AdMaxEvent.pullAd(p0, "openAd")
}
......@@ -39,34 +39,25 @@ object AdMaxOpenUtils {
LogEx.logDebug(TAG, "广告拉取失败了,onAdLoadFailed:" + p1.message.toString())
LogEx.logDebug(TAG, "广告拉取失败了,onAdLoadFailed:" + p0)
LogEx.logDebug(TAG, "广告拉取失败了,onAdLoadFailed:" + p1.code)
loadingListener?.invoke()
loadingListener = null
onHidden?.invoke()
onHidden = null
AdDisplayUtils.getInstance().incrementAdRequestFailCount()
val reqId = UUID.randomUUID().toString()
AdMaxEvent.pullAd(null, "openAd", reqId = reqId, error = p1.message, code = p1.code)
}
override fun onAdDisplayed(p0: MaxAd) {
AdDisplayUtils.getInstance().incrementAdDisplayCount()
AdMaxEvent.showAd(p0, "openAd", activityString)
}
override fun onAdHidden(p0: MaxAd) {
LogEx.logDebug(TAG, "onAdHidden")
onHidden?.invoke()
onHidden = null
loadAppOpenAd(activity)
loadingListener = null
}
override fun onAdClicked(p0: MaxAd) {
AdDisplayUtils.getInstance().incrementAdClickCount()
AdmobCommonUtils.isMultiClick(appOpenAd)
AdMaxEvent.clickAd(p0, "openAd")
}
override fun onAdDisplayFailed(p0: MaxAd, p1: MaxError) {
LogEx.logDebug(TAG, "onAdDisplayFailed")
onHidden?.invoke()
......@@ -78,6 +69,13 @@ object AdMaxOpenUtils {
obj.put("ad_unit", "openAd")
EventUtils.event("ad_show_error", ext = obj)
}
override fun onAdClicked(p0: MaxAd) {
AdDisplayUtils.getInstance().incrementAdClickCount()
AdmobCommonUtils.isMultiClick(appOpenAd)
AdMaxEvent.clickAd(p0, "openAd")
}
})
appOpenAd?.setRevenueListener(AdMaxEvent.EventOnPaidEventListener())
......@@ -86,7 +84,7 @@ object AdMaxOpenUtils {
fun showAppOpenAd(
activity: Activity,
loaded: (() -> Unit)? = null,
loadCallBack: (() -> Unit)? = null,
onHidden: (() -> Unit)? = null
) {
......@@ -121,10 +119,11 @@ object AdMaxOpenUtils {
val obj1 = JSONObject()
obj1.put("ad_unit", "openAd")
EventUtils.event("ad_prepare_show", ext = obj1)
AdMaxOpenUtils.onHidden = onHidden
if (appOpenAd?.isReady == true) {
LogEx.logDebug(TAG, "广告准备好了,展示广告")
AdMaxOpenUtils.onHidden = onHidden
appOpenAd?.showAd()
} else {
val obj = JSONObject()
......@@ -132,26 +131,35 @@ object AdMaxOpenUtils {
obj.put("ad_unit", "openAd")
EventUtils.event("ad_show_error", ext = obj)
LogEx.logDebug(TAG, "展示时候,发现广告需要拉取")
appOpenAd?.loadAd()
loadingListener = {
LogEx.logDebug(TAG, "loadingListener callback")
loaded?.invoke()
appOpenAd?.showAd()
loadingListener = null
val loaded = loadAppOpenAd(activity)
if (loaded) {
loadingListener = {
loadCallBack?.invoke()
LogEx.logDebug(TAG, "loadingListener callback")
if (appOpenAd?.isReady == true) {
AdMaxOpenUtils.onHidden = onHidden
appOpenAd?.showAd()
} else {
onHidden?.invoke()
}
}
} else {
onHidden?.invoke()
}
}
}
fun loadAppOpenAd(activity: Activity) {
fun loadAppOpenAd(activity: Activity): Boolean {
setListener(activity)
if (!AdDisplayUtils.getInstance().shouldShowAd("openAd")) {
LogEx.logDebug(TAG, "!shouldShowAd")
return
return false
}
if (appOpenAd?.isReady == true) {
LogEx.logDebug(TAG, "appOpenAd?.isReady == true")
return
return false
}
if (AdmobMaxHelper.isAdInit.get()) {
......@@ -161,7 +169,9 @@ object AdMaxOpenUtils {
obj.put("ad_type", "openAd")
EventUtils.event("ad_pull_start", ext = obj)
appOpenAd?.loadAd()
return true
}
return false
}
fun isOpenAdLoaded(): Boolean {
......
......@@ -19,8 +19,10 @@ import com.base.filerecoveryrecyclebin.bean.ConstObject.SCAN_VIDEOS
import com.base.filerecoveryrecyclebin.databinding.FragmentHome3Binding
import com.base.filerecoveryrecyclebin.help.BaseFragment
import com.base.filerecoveryrecyclebin.help.KotlinExt.toFormatSize
import com.base.filerecoveryrecyclebin.utils.LogEx
class HomeFragment : BaseFragment<FragmentHome3Binding>() {
private val TAG = "HomeFragment"
override val binding: FragmentHome3Binding by lazy {
FragmentHome3Binding.inflate(layoutInflater)
......@@ -75,7 +77,7 @@ class HomeFragment : BaseFragment<FragmentHome3Binding>() {
binding.tvPhotoSize.visibility = View.INVISIBLE
binding.tvPhotoSize.text = it.toFormatSize(0)
} else {
binding.tvPhotoSize.visibility = View.GONE
binding.tvPhotoSize.visibility = View.INVISIBLE
}
}
}
......
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