Commit 8a1601a8 authored by wanglei's avatar wanglei

...

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