Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
B
Browser White
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
Browser White
Commits
c2ab1805
Commit
c2ab1805
authored
Sep 18, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
9c58d64f
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
739 additions
and
739 deletions
+739
-739
AdmobMaxHelper.kt
...src/main/java/com/base/browserwhite/ads/AdmobMaxHelper.kt
+17
-17
AdMaxEvent.kt
...src/main/java/com/base/browserwhite/ads/max/AdMaxEvent.kt
+144
-144
AdMaxInit.kt
app/src/main/java/com/base/browserwhite/ads/max/AdMaxInit.kt
+47
-47
AdMaxInterstitialUtils.kt
...a/com/base/browserwhite/ads/max/AdMaxInterstitialUtils.kt
+194
-194
AdMaxNativeUtils.kt
...in/java/com/base/browserwhite/ads/max/AdMaxNativeUtils.kt
+158
-158
AdMaxOpenUtils.kt
...main/java/com/base/browserwhite/ads/max/AdMaxOpenUtils.kt
+179
-179
No files found.
app/src/main/java/com/base/browserwhite/ads/AdmobMaxHelper.kt
View file @
c2ab1805
...
@@ -8,11 +8,11 @@ import com.base.browserwhite.R
...
@@ -8,11 +8,11 @@ import com.base.browserwhite.R
import
com.base.browserwhite.ads.admob.AdmobInterstitialUtils
import
com.base.browserwhite.ads.admob.AdmobInterstitialUtils
import
com.base.browserwhite.ads.admob.AdmobNativeUtils
import
com.base.browserwhite.ads.admob.AdmobNativeUtils
import
com.base.browserwhite.ads.admob.AdmobOpenUtils
import
com.base.browserwhite.ads.admob.AdmobOpenUtils
import
com.base.browserwhite.ads.max.AdMaxInit
//
import com.base.browserwhite.ads.max.AdMaxInit
import
com.base.browserwhite.ads.max.AdMaxInit.initAdMax
//
import com.base.browserwhite.ads.max.AdMaxInit.initAdMax
import
com.base.browserwhite.ads.max.AdMaxInterstitialUtils
//
import com.base.browserwhite.ads.max.AdMaxInterstitialUtils
import
com.base.browserwhite.ads.max.AdMaxNativeUtils
//
import com.base.browserwhite.ads.max.AdMaxNativeUtils
import
com.base.browserwhite.ads.max.AdMaxOpenUtils
//
import com.base.browserwhite.ads.max.AdMaxOpenUtils
import
com.base.browserwhite.help.EventUtils
import
com.base.browserwhite.help.EventUtils
import
com.base.browserwhite.utils.AppPreferences
import
com.base.browserwhite.utils.AppPreferences
import
com.base.browserwhite.utils.LogEx
import
com.base.browserwhite.utils.LogEx
...
@@ -87,7 +87,7 @@ object AdmobMaxHelper {
...
@@ -87,7 +87,7 @@ object AdmobMaxHelper {
}
else
{
}
else
{
if
(!
isAdInit
.
get
())
{
if
(!
isAdInit
.
get
())
{
LogEx
.
logDebug
(
TAG
,
"init sp AdMax"
)
LogEx
.
logDebug
(
TAG
,
"init sp AdMax"
)
MyApplication
.
context
.
initAdMax
()
//
MyApplication.context.initAdMax()
}
}
}
}
}
}
...
@@ -119,9 +119,9 @@ object AdmobMaxHelper {
...
@@ -119,9 +119,9 @@ object AdmobMaxHelper {
onHidden
?.
invoke
(
it
)
onHidden
?.
invoke
(
it
)
}
}
}
else
{
}
else
{
AdMaxInterstitialUtils
.
showInterstitialAd
(
activity
)
{
//
AdMaxInterstitialUtils.showInterstitialAd(activity) {
onHidden
?.
invoke
(
true
)
//
onHidden?.invoke(true)
}
//
}
}
}
}
}
...
@@ -137,9 +137,9 @@ object AdmobMaxHelper {
...
@@ -137,9 +137,9 @@ object AdmobMaxHelper {
if
(
getSpAdmobTrueMaxFalse
())
{
if
(
getSpAdmobTrueMaxFalse
())
{
AdmobOpenUtils
.
showAppOpenAd
(
activity
,
showBefore
=
showBeforeAction
,
onHidden
=
onHidden
)
AdmobOpenUtils
.
showAppOpenAd
(
activity
,
showBefore
=
showBeforeAction
,
onHidden
=
onHidden
)
}
else
{
}
else
{
AdMaxOpenUtils
.
showAppOpenAd
(
activity
,
loadCallBack
=
showBeforeAction
)
{
//
AdMaxOpenUtils.showAppOpenAd(activity, loadCallBack = showBeforeAction) {
onHidden
?.
invoke
(
true
)
//
onHidden?.invoke(true)
}
//
}
}
}
}
}
...
@@ -166,7 +166,7 @@ object AdmobMaxHelper {
...
@@ -166,7 +166,7 @@ object AdmobMaxHelper {
// if (where == 2) {
// if (where == 2) {
// layout = R.layout.layout_max_native_big_2
// layout = R.layout.layout_max_native_big_2
// }
// }
AdMaxNativeUtils
.
showNativeAd
(
activity
,
parent
,
layout
)
//
AdMaxNativeUtils.showNativeAd(activity, parent, layout)
}
}
}
}
...
@@ -182,13 +182,13 @@ object AdmobMaxHelper {
...
@@ -182,13 +182,13 @@ object AdmobMaxHelper {
}
else
{
}
else
{
if
(
isAdInit
.
get
())
{
if
(
isAdInit
.
get
())
{
// com.base.browserwhite.ads.max.AdMaxOpenUtils.loadAppOpenAd(activity)
// com.base.browserwhite.ads.max.AdMaxOpenUtils.loadAppOpenAd(activity)
AdMaxInterstitialUtils
.
loadInterstitialAd
(
activity
)
//
AdMaxInterstitialUtils.loadInterstitialAd(activity)
}
else
{
}
else
{
AdMaxInit
.
maxInitAction
=
{
//
AdMaxInit.maxInitAction = {
Log
.
d
(
TAG
,
"max init suc"
)
Log
.
d
(
TAG
,
"max init suc"
)
// com.base.browserwhite.ads.max.AdMaxOpenUtils.loadAppOpenAd(activity)
// com.base.browserwhite.ads.max.AdMaxOpenUtils.loadAppOpenAd(activity)
// com.base.browserwhite.ads.max.AdMaxInterstitialUtils.loadInterstitialAd(activity)
// com.base.browserwhite.ads.max.AdMaxInterstitialUtils.loadInterstitialAd(activity)
}
//
}
}
}
}
}
}
}
...
...
app/src/main/java/com/base/browserwhite/ads/max/AdMaxEvent.kt
View file @
c2ab1805
package
com.base.browserwhite.ads.max
//package com.base.browserwhite.ads.max
//
import
android.os.Bundle
//import android.os.Bundle
import
com.applovin.mediation.MaxAd
//import com.applovin.mediation.MaxAd
import
com.applovin.mediation.MaxAdRevenueListener
//import com.applovin.mediation.MaxAdRevenueListener
import
com.applovin.sdk.AppLovinSdk
//import com.applovin.sdk.AppLovinSdk
import
com.base.browserwhite.MyApplication
//import com.base.browserwhite.MyApplication
import
com.base.browserwhite.help.EventUtils
//import com.base.browserwhite.help.EventUtils
import
com.base.browserwhite.utils.LogEx
//import com.base.browserwhite.utils.LogEx
import
com.facebook.FacebookSdk
//import com.facebook.FacebookSdk
import
com.facebook.appevents.AppEventsConstants
//import com.facebook.appevents.AppEventsConstants
import
com.facebook.appevents.AppEventsLogger
//import com.facebook.appevents.AppEventsLogger
import
com.google.firebase.analytics.FirebaseAnalytics
//import com.google.firebase.analytics.FirebaseAnalytics
import
org.json.JSONObject
//import org.json.JSONObject
//
object
AdMaxEvent
{
//object AdMaxEvent {
fun
pullAd
(
ad
:
MaxAd
?,
adUnit
:
String
,
error
:
String
?
=
null
,
reqId
:
String
?
=
null
,
code
:
Int
?
=
null
)
{
// fun pullAd(ad: MaxAd?, adUnit: String, error: String? = null, reqId: String? = null, code: Int? = null) {
val
obj
=
JSONObject
()
// val obj = JSONObject()
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
// obj.put("UnitId", ad?.adUnitId)
obj
.
put
(
"ad_unit"
,
adUnit
)
// obj.put("ad_unit", adUnit)
obj
.
put
(
// obj.put(
"creativeId"
,
// "creativeId",
ad
?.
creativeId
// ad?.creativeId
)
// )
obj
.
put
(
"req_id"
,
reqId
)
// obj.put("req_id", reqId)
obj
.
put
(
"status"
,
if
(
ad
==
null
)
"0"
else
"1"
)
// obj.put("status", if (ad == null) "0" else "1")
obj
.
put
(
"networkname"
,
ad
?.
networkName
)
// obj.put("networkname", ad?.networkName)
obj
.
put
(
"placement"
,
ad
?.
placement
)
// obj.put("placement", ad?.placement)
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
// obj.put("networkplacement", ad?.networkPlacement)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
// obj.put("latency", ad?.requestLatencyMillis)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
)
// obj.put("valueMicros", ad?.revenue)
if
(
error
==
null
)
{
// if (error == null) {
obj
.
put
(
"status"
,
"1"
)
// obj.put("status", "1")
}
else
{
// } else {
obj
.
put
(
"errMsg"
,
error
)
// obj.put("errMsg", error)
obj
.
put
(
"status"
,
"2"
)
// obj.put("status", "2")
}
// }
EventUtils
.
event
(
"ad_pull"
,
ext
=
obj
)
// EventUtils.event("ad_pull", ext = obj)
}
// }
//
fun
clickAd
(
ad
:
MaxAd
?,
adUnit
:
String
)
{
// fun clickAd(ad: MaxAd?, adUnit: String) {
//
val
obj
=
JSONObject
()
// val obj = JSONObject()
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
// obj.put("UnitId", ad?.adUnitId)
obj
.
put
(
"ad_unit"
,
adUnit
)
// obj.put("ad_unit", adUnit)
obj
.
put
(
// obj.put(
"creativeId"
,
// "creativeId",
ad
?.
creativeId
// ad?.creativeId
)
// )
obj
.
put
(
"networkname"
,
ad
?.
networkName
)
// obj.put("networkname", ad?.networkName)
obj
.
put
(
"placement"
,
ad
?.
placement
)
// obj.put("placement", ad?.placement)
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
// obj.put("networkplacement", ad?.networkPlacement)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
// obj.put("latency", ad?.requestLatencyMillis)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
)
// obj.put("valueMicros", ad?.revenue)
if
(!
adUnit
.
equals
(
"nativeAd"
))
{
// if (!adUnit.equals("nativeAd")) {
EventUtils
.
event
(
"ad_click"
,
ext
=
obj
)
// EventUtils.event("ad_click", ext = obj)
}
else
{
// } else {
EventUtils
.
event
(
"big_imgad_click"
,
ext
=
obj
)
// EventUtils.event("big_imgad_click", ext = obj)
}
// }
//
}
// }
//
fun
showAd
(
ad
:
MaxAd
?,
adUnit
:
String
,
activity
:
String
?)
{
// fun showAd(ad: MaxAd?, adUnit: String, activity: String?) {
val
obj
=
JSONObject
()
// val obj = JSONObject()
obj
.
put
(
"UnitId"
,
ad
?.
adUnitId
)
// obj.put("UnitId", ad?.adUnitId)
obj
.
put
(
"ad_unit"
,
adUnit
)
// obj.put("ad_unit", adUnit)
obj
.
put
(
// obj.put(
"creativeId"
,
// "creativeId",
ad
?.
creativeId
// ad?.creativeId
)
// )
obj
.
put
(
"networkname"
,
ad
?.
networkName
)
// obj.put("networkname", ad?.networkName)
obj
.
put
(
"placement"
,
ad
?.
placement
)
// obj.put("placement", ad?.placement)
obj
.
put
(
"networkplacement"
,
ad
?.
networkPlacement
)
// obj.put("networkplacement", ad?.networkPlacement)
obj
.
put
(
"latency"
,
ad
?.
requestLatencyMillis
)
// obj.put("latency", ad?.requestLatencyMillis)
obj
.
put
(
"valueMicros"
,
ad
?.
revenue
)
// obj.put("valueMicros", ad?.revenue)
obj
.
put
(
"from"
,
activity
)
// obj.put("from", activity)
obj
.
put
(
"mediation"
,
"applovin"
)
// obj.put("mediation", "applovin")
LogEx
.
logDebug
(
"glc"
,
"from: $activity"
)
// LogEx.logDebug("glc", "from: $activity")
if
(
adUnit
!=
"nativeAd"
)
{
// if (adUnit != "nativeAd") {
EventUtils
.
event
(
"ad_show"
,
ext
=
obj
)
// EventUtils.event("ad_show", ext = obj)
}
else
{
// } else {
EventUtils
.
event
(
"big_img_show"
,
ext
=
obj
)
// EventUtils.event("big_img_show", ext = obj)
}
// }
//
}
// }
//
private
val
taichiPref
=
FacebookSdk
.
getApplicationContext
()
// private val taichiPref = FacebookSdk.getApplicationContext()
.
getSharedPreferences
(
"TaichiTroasCache"
,
0
)
// .getSharedPreferences("TaichiTroasCache", 0)
private
val
taichiSharedPreferencesEditor
=
taichiPref
.
edit
()
// private val taichiSharedPreferencesEditor = taichiPref.edit()
//
class
EventOnPaidEventListener
:
MaxAdRevenueListener
{
// class EventOnPaidEventListener : MaxAdRevenueListener {
override
fun
onAdRevenuePaid
(
ad
:
MaxAd
)
{
// override fun onAdRevenuePaid(ad: MaxAd) {
val
params
=
Bundle
()
// val params = Bundle()
val
currentImpressionRevenue
:
Double
=
ad
.
revenue
// In USD
// val currentImpressionRevenue: Double = ad.revenue // In USD
val
mFirebaseAnalytics
=
FirebaseAnalytics
.
getInstance
(
MyApplication
.
context
)
// val mFirebaseAnalytics = FirebaseAnalytics.getInstance(MyApplication.context)
params
.
putString
(
FirebaseAnalytics
.
Param
.
AD_PLATFORM
,
"appLovin"
)
// params.putString(FirebaseAnalytics.Param.AD_PLATFORM, "appLovin")
params
.
putString
(
FirebaseAnalytics
.
Param
.
AD_SOURCE
,
ad
.
networkName
)
// params.putString(FirebaseAnalytics.Param.AD_SOURCE, ad.networkName)
params
.
putString
(
FirebaseAnalytics
.
Param
.
AD_FORMAT
,
ad
.
format
.
getDisplayName
())
// params.putString(FirebaseAnalytics.Param.AD_FORMAT, ad.format.getDisplayName())
params
.
putString
(
FirebaseAnalytics
.
Param
.
AD_UNIT_NAME
,
ad
.
adUnitId
)
// params.putString(FirebaseAnalytics.Param.AD_UNIT_NAME, ad.adUnitId)
params
.
putDouble
(
FirebaseAnalytics
.
Param
.
VALUE
,
currentImpressionRevenue
)
// params.putDouble(FirebaseAnalytics.Param.VALUE, currentImpressionRevenue)
params
.
putString
(
FirebaseAnalytics
.
Param
.
CURRENCY
,
"USD"
)
// params.putString(FirebaseAnalytics.Param.CURRENCY, "USD")
mFirebaseAnalytics
.
logEvent
(
FirebaseAnalytics
.
Event
.
AD_IMPRESSION
,
params
)
// mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.AD_IMPRESSION, params)
mFirebaseAnalytics
.
logEvent
(
"Ad_Impression_Revenue"
,
params
)
// mFirebaseAnalytics.logEvent("Ad_Impression_Revenue", params)
val
previousTaichiTroasCache
=
taichiPref
.
getFloat
(
"TaichiTroasCache"
,
0f
)
// val previousTaichiTroasCache = taichiPref.getFloat("TaichiTroasCache", 0f)
val
currentTaichiTroasCache
=
previousTaichiTroasCache
+
currentImpressionRevenue
// val currentTaichiTroasCache = previousTaichiTroasCache + currentImpressionRevenue
if
(
currentTaichiTroasCache
>=
0.01
)
{
// if (currentTaichiTroasCache >= 0.01) {
val
roasbundle
=
Bundle
()
// val roasbundle = Bundle()
roasbundle
.
putDouble
(
FirebaseAnalytics
.
Param
.
VALUE
,
currentTaichiTroasCache
)
// roasbundle.putDouble(FirebaseAnalytics.Param.VALUE, currentTaichiTroasCache)
roasbundle
.
putString
(
FirebaseAnalytics
.
Param
.
CURRENCY
,
"USD"
)
///(Required)tROAS事件必须
// roasbundle.putString(FirebaseAnalytics.Param.CURRENCY, "USD")///(Required)tROAS事件必须
mFirebaseAnalytics
.
logEvent
(
"Total_Ads_Revenue_001"
,
roasbundle
)
// 给Taichi用
// mFirebaseAnalytics.logEvent("Total_Ads_Revenue_001", roasbundle) // 给Taichi用
taichiSharedPreferencesEditor
.
putFloat
(
"TaichiTroasCache"
,
0f
)
//重新清零,开始计算
// taichiSharedPreferencesEditor.putFloat("TaichiTroasCache", 0f)//重新清零,开始计算
//
val
logger
=
AppEventsLogger
.
newLogger
(
MyApplication
.
context
)
// val logger = AppEventsLogger.newLogger(MyApplication.context)
val
parameters
=
Bundle
()
// val parameters = Bundle()
parameters
.
putString
(
AppEventsConstants
.
EVENT_PARAM_CURRENCY
,
"USD"
)
// parameters.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD")
logger
.
logEvent
(
"ad_value"
,
currentTaichiTroasCache
,
parameters
)
// logger.logEvent("ad_value", currentTaichiTroasCache, parameters)
}
else
{
// } else {
taichiSharedPreferencesEditor
.
putFloat
(
// taichiSharedPreferencesEditor.putFloat(
"TaichiTroasCache"
,
// "TaichiTroasCache",
currentTaichiTroasCache
.
toFloat
()
// currentTaichiTroasCache.toFloat()
)
// )
taichiSharedPreferencesEditor
.
commit
()
// taichiSharedPreferencesEditor.commit()
}
// }
val
obj
=
JSONObject
()
// val obj = JSONObject()
val
revenue
=
ad
.
revenue
// val revenue = ad.revenue
val
countryCode
=
// val countryCode =
AppLovinSdk
.
getInstance
(
MyApplication
.
context
).
configuration
.
countryCode
// AppLovinSdk.getInstance(MyApplication.context).configuration.countryCode
val
networkName
=
ad
.
networkName
// val networkName = ad.networkName
val
adUnitId
=
ad
.
adUnitId
// val adUnitId = ad.adUnitId
val
adFormat
=
ad
.
format
// val adFormat = ad.format
val
placement
=
ad
.
placement
// val placement = ad.placement
val
networkPlacement
=
ad
.
networkPlacement
// val networkPlacement = ad.networkPlacement
obj
.
put
(
"valueMicros"
,
revenue
)
// obj.put("valueMicros", revenue)
obj
.
put
(
"currencyCode"
,
countryCode
)
// obj.put("currencyCode", countryCode)
obj
.
put
(
"adUnitId"
,
adUnitId
)
// obj.put("adUnitId", adUnitId)
obj
.
put
(
"networkName"
,
networkName
)
// obj.put("networkName", networkName)
obj
.
put
(
"adFormat"
,
adFormat
)
// obj.put("adFormat", adFormat)
obj
.
put
(
"placement"
,
placement
)
// obj.put("placement", placement)
obj
.
put
(
"networkPlacement"
,
networkPlacement
)
// obj.put("networkPlacement", networkPlacement)
EventUtils
.
event
(
"ad_price"
,
ext
=
obj
)
// EventUtils.event("ad_price", ext = obj)
}
// }
//
}
// }
}
//}
\ No newline at end of file
\ No newline at end of file
app/src/main/java/com/base/browserwhite/ads/max/AdMaxInit.kt
View file @
c2ab1805
package
com.base.browserwhite.ads.max
//package com.base.browserwhite.ads.max
//
import
android.content.Context
//import android.content.Context
import
com.applovin.sdk.AppLovinMediationProvider
//import com.applovin.sdk.AppLovinMediationProvider
import
com.applovin.sdk.AppLovinSdk
//import com.applovin.sdk.AppLovinSdk
import
com.applovin.sdk.AppLovinSdkInitializationConfiguration
//import com.applovin.sdk.AppLovinSdkInitializationConfiguration
import
com.base.browserwhite.ads.AdmobMaxHelper.isAdInit
//import com.base.browserwhite.ads.AdmobMaxHelper.isAdInit
import
com.base.browserwhite.help.EventUtils
//import com.base.browserwhite.help.EventUtils
import
com.base.browserwhite.utils.LogEx
//import com.base.browserwhite.utils.LogEx
import
java.util.concurrent.Executors
//import java.util.concurrent.Executors
//
object
AdMaxInit
{
//object AdMaxInit {
//
private
const
val
TAG
=
"AdMaxInit"
// private const val TAG = "AdMaxInit"
var
maxInitAction
:
(()
->
Unit
)?
=
null
// var maxInitAction: (() -> Unit)? = null
//
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
// val YOUR_SDK_KEY = "05TMDQ5tZabpXQ45_UTbmEGNUtVAzSTzT6KmWQc5_CuWdzccS4DCITZoL3yIWUG3bbq60QC_d4WF28tUC4gVTF"
//// val YOUR_SDK_KEY = "05TMDQ5tZabpXQ45_UTbmEGNUtVAzSTzT6KmWQc5_CuWdzccS4DCITZoL3yIWUG3bbq60QC_d4WF28tUC4gVTF"
val
YOUR_SDK_KEY
=
"GGPreND6SRmCt1zJgn5faiLGD8c2PVGPLgPpSg7cHanVTud1DhtuI9MmteTqlEviaJ57WnxW68kQDaATJ5z3cW"
// val YOUR_SDK_KEY = "GGPreND6SRmCt1zJgn5faiLGD8c2PVGPLgPpSg7cHanVTud1DhtuI9MmteTqlEviaJ57WnxW68kQDaATJ5z3cW"
//
val
executor
=
Executors
.
newSingleThreadExecutor
();
// val executor = Executors.newSingleThreadExecutor();
executor
.
execute
{
// executor.execute {
//
val
initConfigBuilder
=
AppLovinSdkInitializationConfiguration
.
builder
(
YOUR_SDK_KEY
,
this
)
// val initConfigBuilder = AppLovinSdkInitializationConfiguration.builder(YOUR_SDK_KEY, this)
initConfigBuilder
.
mediationProvider
=
AppLovinMediationProvider
.
MAX
// initConfigBuilder.mediationProvider = AppLovinMediationProvider.MAX
//
// Enable test mode by default for the current device. Cannot be run on the main thread.
// // Enable test mode by default for the current device. Cannot be run on the main thread.
// val currentGaid = AdvertisingIdClient.getAdvertisingIdInfo(this).id
//// val currentGaid = AdvertisingIdClient.getAdvertisingIdInfo(this).id
// if (currentGaid != null) {
//// if (currentGaid != null) {
// initConfigBuilder.testDeviceAdvertisingIds = Collections.singletonList(currentGaid)
//// initConfigBuilder.testDeviceAdvertisingIds = Collections.singletonList(currentGaid)
//// }
//
//
// // Initialize the AppLovin SDK
// val sdk = AppLovinSdk.getInstance(this)
// sdk.initialize(initConfigBuilder.build()) {
// LogEx.logDebug(TAG, "max init")
// isAdInit.set(true)
// maxInitAction?.invoke()
// maxInitAction = null
// EventUtils.event("MaxInit", "MaxInit")
// }
// }
//
// executor.shutdown()
// Initialize the AppLovin SDK
// }
val
sdk
=
AppLovinSdk
.
getInstance
(
this
)
// }
sdk
.
initialize
(
initConfigBuilder
.
build
())
{
//}
LogEx
.
logDebug
(
TAG
,
"max init"
)
\ No newline at end of file
isAdInit
.
set
(
true
)
maxInitAction
?.
invoke
()
maxInitAction
=
null
EventUtils
.
event
(
"MaxInit"
,
"MaxInit"
)
}
executor
.
shutdown
()
}
}
}
\ No newline at end of file
app/src/main/java/com/base/browserwhite/ads/max/AdMaxInterstitialUtils.kt
View file @
c2ab1805
package
com.base.browserwhite.ads.max
//package com.base.browserwhite.ads.max
//
import
android.app.Activity
//import android.app.Activity
import
android.app.Dialog
//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
import
com.applovin.mediation.ads.MaxInterstitialAd
//import com.applovin.mediation.ads.MaxInterstitialAd
import
com.base.browserwhite.R
//import com.base.browserwhite.R
import
com.base.browserwhite.ads.AdDisplayUtils
//import com.base.browserwhite.ads.AdDisplayUtils
import
com.base.browserwhite.ads.AdmobMaxHelper.isInterOpenShowing
//import com.base.browserwhite.ads.AdmobMaxHelper.isInterOpenShowing
import
com.base.browserwhite.ads.AdmobMaxHelper.lastShowedOnHiddenTime
//import com.base.browserwhite.ads.AdmobMaxHelper.lastShowedOnHiddenTime
import
com.base.browserwhite.ads.CustomDialog
//import com.base.browserwhite.ads.CustomDialog
import
com.base.browserwhite.help.ConfigHelper
//import com.base.browserwhite.help.ConfigHelper
import
com.base.browserwhite.help.EventUtils
//import com.base.browserwhite.help.EventUtils
import
com.base.browserwhite.utils.LogEx
//import com.base.browserwhite.utils.LogEx
import
org.json.JSONObject
//import org.json.JSONObject
import
java.util.UUID
//import java.util.UUID
//
object
AdMaxInterstitialUtils
{
//object AdMaxInterstitialUtils {
//
private
const
val
TAG
=
"AdMaxInterstitialUtils"
// private const val TAG = "AdMaxInterstitialUtils"
private
var
interstitialAd
:
MaxInterstitialAd
?
=
null
// private var interstitialAd: MaxInterstitialAd? = null
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
activityString
:
String
=
""
// private var activityString: String = ""
//
private
fun
setListener
(
activity
:
Activity
)
{
// private fun setListener(activity: Activity) {
activityString
=
activity
::
class
.
java
.
toString
().
split
(
"."
).
last
()
// activityString = activity::class.java.toString().split(".").last()
if
(
interstitialAd
==
null
)
{
// if (interstitialAd == null) {
//
interstitialAd
=
MaxInterstitialAd
(
ConfigHelper
.
interAdMaxId
,
activity
)
// interstitialAd = MaxInterstitialAd(ConfigHelper.interAdMaxId, activity)
interstitialAd
?.
setListener
(
object
:
MaxAdListener
{
// interstitialAd?.setListener(object : MaxAdListener {
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
// override fun onAdLoaded(p0: MaxAd) {
LogEx
.
logDebug
(
TAG
,
"onAdLoaded"
)
// LogEx.logDebug(TAG, "onAdLoaded")
//
loadingListener
?.
invoke
()
// loadingListener?.invoke()
loadingListener
=
null
// loadingListener = null
//
interLoadTime
=
System
.
currentTimeMillis
()
// interLoadTime = System.currentTimeMillis()
val
reqId
=
UUID
.
randomUUID
().
toString
()
// val reqId = UUID.randomUUID().toString()
AdMaxEvent
.
pullAd
(
p0
,
"interAd"
,
reqId
=
reqId
)
// AdMaxEvent.pullAd(p0, "interAd", reqId = reqId)
}
// }
//
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
// override fun onAdLoadFailed(p0: String, p1: MaxError) {
LogEx
.
logDebug
(
TAG
,
"onAdLoadFailed"
)
// LogEx.logDebug(TAG, "onAdLoadFailed")
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()
//
loadingListener
?.
invoke
()
// loadingListener?.invoke()
loadingListener
=
null
// loadingListener = null
}
// }
//
override
fun
onAdDisplayed
(
p0
:
MaxAd
)
{
// override fun onAdDisplayed(p0: MaxAd) {
LogEx
.
logDebug
(
TAG
,
"onAdDisplayed"
)
// LogEx.logDebug(TAG, "onAdDisplayed")
AdDisplayUtils
.
getInstance
().
incrementAdDisplayCount
()
// AdDisplayUtils.getInstance().incrementAdDisplayCount()
AdMaxEvent
.
showAd
(
p0
,
"interAd"
,
activityString
)
// AdMaxEvent.showAd(p0, "interAd", activityString)
//
isInterOpenShowing
=
true
// isInterOpenShowing = true
}
// }
//
override
fun
onAdHidden
(
p0
:
MaxAd
)
{
// override fun onAdHidden(p0: MaxAd) {
LogEx
.
logDebug
(
TAG
,
"onAdHidden"
)
// LogEx.logDebug(TAG, "onAdHidden")
onHidden
?.
invoke
()
// onHidden?.invoke()
onHidden
=
null
// onHidden = null
AdMaxOpenUtils
.
loadAppOpenAd
(
activity
)
// AdMaxOpenUtils.loadAppOpenAd(activity)
// loadInterstitialAd(activity)
//// loadInterstitialAd(activity)
//
isInterOpenShowing
=
false
// isInterOpenShowing = false
lastShowedOnHiddenTime
=
System
.
currentTimeMillis
()
// lastShowedOnHiddenTime = System.currentTimeMillis()
}
// }
//
override
fun
onAdClicked
(
p0
:
MaxAd
)
{
// override fun onAdClicked(p0: MaxAd) {
LogEx
.
logDebug
(
TAG
,
"onAdClicked activity=$activityString"
)
// LogEx.logDebug(TAG, "onAdClicked activity=$activityString")
AdDisplayUtils
.
getInstance
().
incrementAdClickCount
()
// AdDisplayUtils.getInstance().incrementAdClickCount()
AdMaxEvent
.
clickAd
(
p0
,
"interAd"
)
// AdMaxEvent.clickAd(p0, "interAd")
}
// }
//
//
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()
onHidden
=
null
// 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)
obj2
.
put
(
"ad_unit"
,
"interAd"
)
// obj2.put("ad_unit", "interAd")
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj2
)
// EventUtils.event("ad_show_error", ext = obj2)
//
isInterOpenShowing
=
false
// isInterOpenShowing = false
}
// }
})
// })
interstitialAd
?.
setRevenueListener
(
AdMaxEvent
.
EventOnPaidEventListener
())
// interstitialAd?.setRevenueListener(AdMaxEvent.EventOnPaidEventListener())
}
// }
}
// }
//
fun
showInterstitialAd
(
activity
:
Activity
,
onHidden
:
(()
->
Unit
)?
=
null
)
{
// fun showInterstitialAd(activity: Activity, onHidden: (() -> Unit)? = null) {
setListener
(
activity
)
// setListener(activity)
//
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
)
{
// if (activity.isFinishing || activity.isDestroyed) {
return
// return
}
// }
//
if
(
isAdExpired
())
{
// if (isAdExpired()) {
val
obj2
=
JSONObject
()
// val obj2 = JSONObject()
obj2
.
put
(
"ad_unit"
,
"interAd"
)
// obj2.put("ad_unit", "interAd")
EventUtils
.
event
(
"ad_expire"
,
ext
=
obj2
)
// EventUtils.event("ad_expire", ext = obj2)
onHidden
?.
invoke
()
// onHidden?.invoke()
loadInterstitialAd
(
activity
)
// loadInterstitialAd(activity)
return
// return
}
// }
//
//
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"interAd"
))
{
// if (!AdDisplayUtils.getInstance().shouldShowAd("interAd")) {
onHidden
?.
invoke
()
// onHidden?.invoke()
return
// return
}
// }
//
LogEx
.
logDebug
(
TAG
,
"showInterstitialAd,展示插屏广告"
)
// LogEx.logDebug(TAG, "showInterstitialAd,展示插屏广告")
//
val
obj1
=
JSONObject
()
// val obj1 = JSONObject()
obj1
.
put
(
"ad_unit"
,
"interAd"
)
// obj1.put("ad_unit", "interAd")
EventUtils
.
event
(
"ad_prepare_show"
,
ext
=
obj1
)
// EventUtils.event("ad_prepare_show", ext = obj1)
isInterOpenShowing
=
false
// isInterOpenShowing = false
//
if
(
interstitialAd
?.
isReady
==
true
)
{
// if (interstitialAd?.isReady == true) {
LogEx
.
logDebug
(
TAG
,
"有缓存直接播放。"
)
// LogEx.logDebug(TAG, "有缓存直接播放。")
AdMaxInterstitialUtils
.
onHidden
=
onHidden
// AdMaxInterstitialUtils.onHidden = onHidden
interstitialAd
?.
showAd
(
activity
)
// interstitialAd?.showAd(activity)
}
else
{
// } else {
LogEx
.
logDebug
(
TAG
,
"展示广告时,没有缓存,需要拉取。"
)
// LogEx.logDebug(TAG, "展示广告时,没有缓存,需要拉取。")
val
obj2
=
JSONObject
()
// val obj2 = JSONObject()
obj2
.
put
(
"reason"
,
"no cache ad"
)
// obj2.put("reason", "no cache ad")
obj2
.
put
(
"ad_unit"
,
"interAd"
)
// obj2.put("ad_unit", "interAd")
EventUtils
.
event
(
"ad_nocache_pull"
,
ext
=
obj2
)
// EventUtils.event("ad_nocache_pull", ext = obj2)
val
loaded
=
loadInterstitialAd
(
activity
)
// val loaded = loadInterstitialAd(activity)
if
(
loaded
)
{
// if (loaded) {
LogEx
.
logDebug
(
TAG
,
"loaded=true"
)
// LogEx.logDebug(TAG, "loaded=true")
val
dialog
=
showAdDialogAndLoadInterstitial
(
activity
)
// val dialog = showAdDialogAndLoadInterstitial(activity)
loadingListener
=
{
// loadingListener = {
dialog
?.
dismiss
()
// dialog?.dismiss()
if
(
interstitialAd
?.
isReady
==
true
)
{
// if (interstitialAd?.isReady == true) {
AdMaxInterstitialUtils
.
onHidden
=
onHidden
// AdMaxInterstitialUtils.onHidden = onHidden
interstitialAd
?.
showAd
(
activity
)
// interstitialAd?.showAd(activity)
}
else
{
// } else {
onHidden
?.
invoke
()
// onHidden?.invoke()
}
// }
}
// }
}
else
{
// } else {
LogEx
.
logDebug
(
TAG
,
"loaded=false"
)
// LogEx.logDebug(TAG, "loaded=false")
onHidden
?.
invoke
()
// onHidden?.invoke()
}
// }
}
// }
//
}
// }
//
private
fun
isAdExpired
():
Boolean
{
// private fun isAdExpired(): Boolean {
return
System
.
currentTimeMillis
()
-
interLoadTime
>
1000
*
60
*
60
// return System.currentTimeMillis() - interLoadTime > 1000 * 60 * 60
}
// }
//
//
private
fun
showAdDialogAndLoadInterstitial
(
// private fun showAdDialogAndLoadInterstitial(
activity
:
Activity
,
// activity: Activity,
):
Dialog
?
{
// ): Dialog? {
var
customDialog
:
Dialog
?
=
null
// 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()
}
// }
return
customDialog
// return customDialog
}
// }
//
fun
loadInterstitialAd
(
activity
:
Activity
):
Boolean
{
// fun loadInterstitialAd(activity: Activity): Boolean {
setListener
(
activity
)
// setListener(activity)
//
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"interAd"
))
{
// if (!AdDisplayUtils.getInstance().shouldShowAd("interAd")) {
return
false
// return false
}
// }
//
LogEx
.
logDebug
(
TAG
,
"loadInterstitialAd"
)
// LogEx.logDebug(TAG, "loadInterstitialAd")
val
reqId
=
UUID
.
randomUUID
().
toString
()
// val reqId = UUID.randomUUID().toString()
val
obj
=
JSONObject
()
// val obj = JSONObject()
obj
.
put
(
"req_id"
,
reqId
)
// obj.put("req_id", reqId)
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()
AdDisplayUtils
.
getInstance
().
incrementAdRequestCount
()
// AdDisplayUtils.getInstance().incrementAdRequestCount()
return
true
// return true
}
// }
//
}
//}
\ No newline at end of file
\ No newline at end of file
app/src/main/java/com/base/browserwhite/ads/max/AdMaxNativeUtils.kt
View file @
c2ab1805
package
com.base.browserwhite.ads.max
//package com.base.browserwhite.ads.max
//
import
android.app.Activity
//import android.app.Activity
import
android.content.Context
//import android.content.Context
import
android.view.ViewGroup
//import android.view.ViewGroup
import
androidx.core.view.isVisible
//import androidx.core.view.isVisible
import
com.applovin.mediation.MaxAd
//import com.applovin.mediation.MaxAd
import
com.applovin.mediation.MaxError
//import com.applovin.mediation.MaxError
import
com.applovin.mediation.nativeAds.MaxNativeAdListener
//import com.applovin.mediation.nativeAds.MaxNativeAdListener
import
com.applovin.mediation.nativeAds.MaxNativeAdLoader
//import com.applovin.mediation.nativeAds.MaxNativeAdLoader
import
com.applovin.mediation.nativeAds.MaxNativeAdView
//import com.applovin.mediation.nativeAds.MaxNativeAdView
import
com.applovin.mediation.nativeAds.MaxNativeAdViewBinder
//import com.applovin.mediation.nativeAds.MaxNativeAdViewBinder
import
com.base.browserwhite.MyApplication
//import com.base.browserwhite.MyApplication
import
com.base.browserwhite.R
//import com.base.browserwhite.R
import
com.base.browserwhite.ads.AdDisplayUtils
//import com.base.browserwhite.ads.AdDisplayUtils
import
com.base.browserwhite.help.ConfigHelper
//import com.base.browserwhite.help.ConfigHelper
import
com.base.browserwhite.help.EventUtils
//import com.base.browserwhite.help.EventUtils
import
com.base.browserwhite.utils.LogEx
//import com.base.browserwhite.utils.LogEx
import
org.json.JSONObject
//import org.json.JSONObject
//
object
AdMaxNativeUtils
{
//object AdMaxNativeUtils {
//
private
val
TAG
=
"AdMaxNativeUtils"
// private val TAG = "AdMaxNativeUtils"
private
var
nativeAdLoader
:
MaxNativeAdLoader
=
MaxNativeAdLoader
(
ConfigHelper
.
nativeAdMaxId
,
MyApplication
.
context
)
// private var nativeAdLoader: MaxNativeAdLoader = MaxNativeAdLoader(ConfigHelper.nativeAdMaxId, MyApplication.context)
private
var
nativeAd
:
MaxAd
?
=
null
// private var nativeAd: MaxAd? = null
private
var
nativeLoadTime
=
Long
.
MAX_VALUE
// private var nativeLoadTime = Long.MAX_VALUE
private
var
haveSetAdListener
:
Boolean
=
false
// private var haveSetAdListener: Boolean = false
private
var
loadingListener
:
(()
->
Unit
)?
=
null
// private var loadingListener: (() -> Unit)? = null
private
var
activityString
:
String
=
""
// private var activityString: String = ""
private
fun
setNativeAdListener
()
{
// private fun setNativeAdListener() {
if
(!
haveSetAdListener
)
{
// if (!haveSetAdListener) {
//加载展示监听
// //加载展示监听
nativeAdLoader
.
setNativeAdListener
(
object
:
MaxNativeAdListener
()
{
// nativeAdLoader.setNativeAdListener(object : MaxNativeAdListener() {
override
fun
onNativeAdLoaded
(
nativeAdView
:
MaxNativeAdView
?,
ad
:
MaxAd
)
{
// override fun onNativeAdLoaded(nativeAdView: MaxNativeAdView?, ad: MaxAd) {
LogEx
.
logDebug
(
TAG
,
"onNativeAdLoaded"
)
// LogEx.logDebug(TAG, "onNativeAdLoaded")
// Cleanup any pre-existing native ad to prevent memory leaks.
// // Cleanup any pre-existing native ad to prevent memory leaks.
if
(
nativeAd
?.
nativeAd
?.
isExpired
==
true
)
{
// if (nativeAd?.nativeAd?.isExpired == true) {
nativeAdLoader
.
destroy
(
nativeAd
)
// nativeAdLoader.destroy(nativeAd)
}
// }
//
// Save ad to be rendered later.
// // Save ad to be rendered later.
nativeAd
=
ad
// nativeAd = ad
nativeLoadTime
=
System
.
currentTimeMillis
()
// nativeLoadTime = System.currentTimeMillis()
loadingListener
?.
invoke
()
// loadingListener?.invoke()
loadingListener
=
null
// loadingListener = null
}
// }
//
override
fun
onNativeAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
// override fun onNativeAdLoadFailed(p0: String, p1: MaxError) {
super
.
onNativeAdLoadFailed
(
p0
,
p1
)
// super.onNativeAdLoadFailed(p0, p1)
loadingListener
?.
invoke
()
// loadingListener?.invoke()
loadingListener
=
null
// loadingListener = null
LogEx
.
logDebug
(
TAG
,
"onNativeAdLoadFailed"
)
// LogEx.logDebug(TAG, "onNativeAdLoadFailed")
LogEx
.
logDebug
(
TAG
,
"code=${p1.code}"
)
// LogEx.logDebug(TAG, "code=${p1.code}")
LogEx
.
logDebug
(
TAG
,
"message=${p1.message}"
)
// LogEx.logDebug(TAG, "message=${p1.message}")
// AdDisplayUtils.getInstance().incrementAdRequestFailCount()
//// AdDisplayUtils.getInstance().incrementAdRequestFailCount()
val
obj2
=
JSONObject
()
// val obj2 = JSONObject()
obj2
.
put
(
"reason"
,
"no_ad"
)
// obj2.put("reason", "no_ad")
obj2
.
put
(
"ad_unit"
,
"nativeAd"
)
// obj2.put("ad_unit", "nativeAd")
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj2
)
// EventUtils.event("ad_show_error", ext = obj2)
}
// }
//
override
fun
onNativeAdClicked
(
p0
:
MaxAd
)
{
// override fun onNativeAdClicked(p0: MaxAd) {
super
.
onNativeAdClicked
(
p0
)
// super.onNativeAdClicked(p0)
LogEx
.
logDebug
(
TAG
,
"onNativeAdClicked"
)
// LogEx.logDebug(TAG, "onNativeAdClicked")
// AdDisplayUtils.getInstance().incrementAdClickCount()
//// AdDisplayUtils.getInstance().incrementAdClickCount()
nativeAd
?.
let
{
AdMaxEvent
.
clickAd
(
it
,
"nativeAd"
)
}
// nativeAd?.let { AdMaxEvent.clickAd(it, "nativeAd") }
}
// }
//
override
fun
onNativeAdExpired
(
p0
:
MaxAd
)
{
// override fun onNativeAdExpired(p0: MaxAd) {
super
.
onNativeAdExpired
(
p0
)
// super.onNativeAdExpired(p0)
}
// }
})
// })
//
//
//广告价格监听
// //广告价格监听
nativeAdLoader
.
setRevenueListener
{
ad
->
// nativeAdLoader.setRevenueListener { ad ->
//
}
// }
//
//
haveSetAdListener
=
true
// haveSetAdListener = true
//
//
}
// }
}
// }
//
private
fun
createNativeAdView
(
context
:
Context
,
layout
:
Int
):
MaxNativeAdView
{
// private fun createNativeAdView(context: Context, layout: Int): MaxNativeAdView {
//
// val binder: MaxNativeAdViewBinder = MaxNativeAdViewBinder.Builder(R.layout.layout_max_native_custom)
//// val binder: MaxNativeAdViewBinder = MaxNativeAdViewBinder.Builder(R.layout.layout_max_native_custom)
// .setTitleTextViewId(R.id.title_text_view)
//// .setTitleTextViewId(R.id.title_text_view)
// .setBodyTextViewId(R.id.body_text_view)
//// .setBodyTextViewId(R.id.body_text_view)
// .setAdvertiserTextViewId(R.id.advertiser_text_view)
//// .setAdvertiserTextViewId(R.id.advertiser_text_view)
// .setIconImageViewId(R.id.icon_image_view)
//// .setIconImageViewId(R.id.icon_image_view)
// .setMediaContentViewGroupId(R.id.media_view_container)
//// .setMediaContentViewGroupId(R.id.media_view_container)
// .setOptionsContentViewGroupId(R.id.options_view)
//// .setOptionsContentViewGroupId(R.id.options_view)
// .setStarRatingContentViewGroupId(R.id.star_rating_view)
//// .setStarRatingContentViewGroupId(R.id.star_rating_view)
// .setCallToActionButtonId(R.id.cta_button)
//// .setCallToActionButtonId(R.id.cta_button)
//// .build()
//// return MaxNativeAdView(binder, context)
//
// val binder: MaxNativeAdViewBinder = MaxNativeAdViewBinder.Builder(layout)
// .setTitleTextViewId(R.id.ad_headline)
// .setBodyTextViewId(R.id.ad_body)
//// .setAdvertiserTextViewId(R.id.advertiser_text_view)
// .setIconImageViewId(R.id.ad_app_icon)
// .setMediaContentViewGroupId(R.id.ad_media)
//// .setOptionsContentViewGroupId(R.id.options_view)
//// .setStarRatingContentViewGroupId(R.id.star_rating_view)
// .setCallToActionButtonId(R.id.ad_call_to_action)
// .build()
// .build()
// return MaxNativeAdView(binder, context)
// return MaxNativeAdView(binder, context)
// }
val
binder
:
MaxNativeAdViewBinder
=
MaxNativeAdViewBinder
.
Builder
(
layout
)
//
.
setTitleTextViewId
(
R
.
id
.
ad_headline
)
// fun loadNativeAd() {
.
setBodyTextViewId
(
R
.
id
.
ad_body
)
// setNativeAdListener()
// .setAdvertiserTextViewId(R.id.advertiser_text_view)
// if (!AdDisplayUtils.getInstance().shouldShowAd("nativeAd")) {
.
setIconImageViewId
(
R
.
id
.
ad_app_icon
)
// return
.
setMediaContentViewGroupId
(
R
.
id
.
ad_media
)
// }
// .setOptionsContentViewGroupId(R.id.options_view)
// nativeAdLoader.loadAd()
// .setStarRatingContentViewGroupId(R.id.star_rating_view)
// }
.
setCallToActionButtonId
(
R
.
id
.
ad_call_to_action
)
//
.
build
()
//
return
MaxNativeAdView
(
binder
,
context
)
// fun showNativeAd(activity: Activity, parent: ViewGroup, layout: Int) {
}
// activityString = activity::class.java.toString().split(".").last()
// LogEx.logDebug(TAG, "activityString=$activityString")
fun
loadNativeAd
()
{
// setNativeAdListener()
setNativeAdListener
()
//
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"nativeAd"
))
{
// if (!AdDisplayUtils.getInstance().shouldShowAd("nativeAd")) {
return
// LogEx.logDebug(TAG, "!shouldShowAd")
}
// return
nativeAdLoader
.
loadAd
()
// }
}
//
// if (nativeAd?.nativeAd?.isExpired == true || nativeAd == null) {
// LogEx.logDebug(TAG, "nativeAd?.nativeAd?.isExpired == true")
fun
showNativeAd
(
activity
:
Activity
,
parent
:
ViewGroup
,
layout
:
Int
)
{
// nativeAdLoader.destroy(nativeAd)
activityString
=
activity
::
class
.
java
.
toString
().
split
(
"."
).
last
()
// nativeAdLoader.loadAd()
LogEx
.
logDebug
(
TAG
,
"activityString=$activityString"
)
// loadingListener = {
setNativeAdListener
()
// if (nativeAd != null) {
// showReadyNative(activity, parent, layout)
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"nativeAd"
))
{
// }
LogEx
.
logDebug
(
TAG
,
"!shouldShowAd"
)
// }
return
// } else {
}
// showReadyNative(activity, parent, layout)
// }
if
(
nativeAd
?.
nativeAd
?.
isExpired
==
true
||
nativeAd
==
null
)
{
//
LogEx
.
logDebug
(
TAG
,
"nativeAd?.nativeAd?.isExpired == true"
)
// }
nativeAdLoader
.
destroy
(
nativeAd
)
//
nativeAdLoader
.
loadAd
()
// private fun showReadyNative(activity: Activity, parent: ViewGroup, layout: Int) {
loadingListener
=
{
// val adView = createNativeAdView(activity, layout)
if
(
nativeAd
!=
null
)
{
//
showReadyNative
(
activity
,
parent
,
layout
)
// LogEx.logDebug(TAG, "showReadNative adUnitId=${nativeAd?.adUnitId}")
}
// parent.isVisible = true
}
// parent.removeAllViews()
}
else
{
// nativeAdLoader.render(adView, nativeAd)
showReadyNative
(
activity
,
parent
,
layout
)
// parent.addView(adView)
}
// nativeAd?.let { AdMaxEvent.showAd(it, "nativeAd", activityString) }
// LogEx.logDebug(TAG, "loadingListener finish")
}
// }
//
private
fun
showReadyNative
(
activity
:
Activity
,
parent
:
ViewGroup
,
layout
:
Int
)
{
//}
val
adView
=
createNativeAdView
(
activity
,
layout
)
\ No newline at end of file
LogEx
.
logDebug
(
TAG
,
"showReadNative adUnitId=${nativeAd?.adUnitId}"
)
parent
.
isVisible
=
true
parent
.
removeAllViews
()
nativeAdLoader
.
render
(
adView
,
nativeAd
)
parent
.
addView
(
adView
)
nativeAd
?.
let
{
AdMaxEvent
.
showAd
(
it
,
"nativeAd"
,
activityString
)
}
LogEx
.
logDebug
(
TAG
,
"loadingListener finish"
)
}
}
\ No newline at end of file
app/src/main/java/com/base/browserwhite/ads/max/AdMaxOpenUtils.kt
View file @
c2ab1805
package
com.base.browserwhite.ads.max
//package com.base.browserwhite.ads.max
//
import
android.app.Activity
//import android.app.Activity
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
import
com.applovin.mediation.ads.MaxAppOpenAd
//import com.applovin.mediation.ads.MaxAppOpenAd
import
com.base.browserwhite.ads.AdDisplayUtils
//import com.base.browserwhite.ads.AdDisplayUtils
import
com.base.browserwhite.ads.AdmobMaxHelper.isInterOpenShowing
//import com.base.browserwhite.ads.AdmobMaxHelper.isInterOpenShowing
import
com.base.browserwhite.help.ConfigHelper
//import com.base.browserwhite.help.ConfigHelper
import
com.base.browserwhite.help.EventUtils
//import com.base.browserwhite.help.EventUtils
import
com.base.browserwhite.utils.LogEx
//import com.base.browserwhite.utils.LogEx
import
org.json.JSONObject
//import org.json.JSONObject
import
java.util.UUID
//import java.util.UUID
//
object
AdMaxOpenUtils
{
//object AdMaxOpenUtils {
private
const
val
TAG
=
"AdMaxOpenUtils"
// private const 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
private
var
loadingListener
:
((
flag
:
Boolean
)
->
Unit
)?
=
null
// private var loadingListener: ((flag: Boolean) -> Unit)? = null
private
var
activityString
=
""
// private var activityString = ""
//
private
fun
setListener
(
activity
:
Activity
)
{
// private fun setListener(activity: Activity) {
activityString
=
activity
::
class
.
java
.
toString
().
split
(
"."
).
last
()
// activityString = activity::class.java.toString().split(".").last()
if
(
appOpenAd
==
null
)
{
// if (appOpenAd == null) {
appOpenAd
=
MaxAppOpenAd
(
ConfigHelper
.
openAdMaxId
,
activity
)
// appOpenAd = MaxAppOpenAd(ConfigHelper.openAdMaxId, activity)
//
appOpenAd
?.
setListener
(
object
:
MaxAdListener
{
// appOpenAd?.setListener(object : MaxAdListener {
override
fun
onAdLoaded
(
p0
:
MaxAd
)
{
// override fun onAdLoaded(p0: MaxAd) {
LogEx
.
logDebug
(
TAG
,
"广告拉取成功"
)
// LogEx.logDebug(TAG, "广告拉取成功")
openLoadTime
=
System
.
currentTimeMillis
()
// openLoadTime = System.currentTimeMillis()
loadingListener
?.
invoke
(
true
)
// loadingListener?.invoke(true)
loadingListener
=
null
// loadingListener = null
AdMaxEvent
.
pullAd
(
p0
,
"openAd"
)
// AdMaxEvent.pullAd(p0, "openAd")
}
// }
//
override
fun
onAdLoadFailed
(
p0
:
String
,
p1
:
MaxError
)
{
// override fun onAdLoadFailed(p0: String, p1: MaxError) {
LogEx
.
logDebug
(
TAG
,
"广告拉取失败了,onAdLoadFailed:"
+
p0
)
// LogEx.logDebug(TAG, "广告拉取失败了,onAdLoadFailed:" + p0)
LogEx
.
logDebug
(
TAG
,
"广告拉取失败了,onAdLoadFailed:"
+
p1
.
message
.
toString
())
// LogEx.logDebug(TAG, "广告拉取失败了,onAdLoadFailed:" + p1.message.toString())
LogEx
.
logDebug
(
TAG
,
"广告拉取失败了,onAdLoadFailed:"
+
p1
.
code
)
// LogEx.logDebug(TAG, "广告拉取失败了,onAdLoadFailed:" + p1.code)
loadingListener
?.
invoke
(
false
)
// loadingListener?.invoke(false)
loadingListener
=
null
// loadingListener = 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)
//
isInterOpenShowing
=
true
// isInterOpenShowing = true
}
// }
//
override
fun
onAdHidden
(
p0
:
MaxAd
)
{
// override fun onAdHidden(p0: MaxAd) {
LogEx
.
logDebug
(
TAG
,
"onAdHidden"
)
// LogEx.logDebug(TAG, "onAdHidden")
onHidden
?.
invoke
()
// onHidden?.invoke()
onHidden
=
null
// onHidden = null
loadAppOpenAd
(
activity
)
// loadAppOpenAd(activity)
//
isInterOpenShowing
=
false
// isInterOpenShowing = false
}
// }
//
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()
onHidden
=
null
// onHidden = null
loadAppOpenAd
(
activity
)
// loadAppOpenAd(activity)
val
obj
=
JSONObject
()
// val obj = JSONObject()
obj
.
put
(
"code"
,
p1
.
code
)
// obj.put("code", p1.code)
obj
.
put
(
"reason"
,
p1
.
message
)
// obj.put("reason", p1.message)
obj
.
put
(
"ad_unit"
,
"openAd"
)
// obj.put("ad_unit", "openAd")
EventUtils
.
event
(
"ad_show_error"
,
ext
=
obj
)
// EventUtils.event("ad_show_error", ext = obj)
//
isInterOpenShowing
=
false
// isInterOpenShowing = false
}
// }
//
override
fun
onAdClicked
(
p0
:
MaxAd
)
{
// override fun onAdClicked(p0: MaxAd) {
AdDisplayUtils
.
getInstance
().
incrementAdClickCount
()
// AdDisplayUtils.getInstance().incrementAdClickCount()
AdMaxEvent
.
clickAd
(
p0
,
"openAd"
)
// AdMaxEvent.clickAd(p0, "openAd")
}
// }
//
})
// })
//
appOpenAd
?.
setRevenueListener
(
AdMaxEvent
.
EventOnPaidEventListener
())
// appOpenAd?.setRevenueListener(AdMaxEvent.EventOnPaidEventListener())
}
// }
}
// }
//
fun
showAppOpenAd
(
// fun showAppOpenAd(
activity
:
Activity
,
// activity: Activity,
loadCallBack
:
((
loaded
:
Boolean
)
->
Unit
)?
=
null
,
// loadCallBack: ((loaded: Boolean) -> Unit)? = null,
onHidden
:
(()
->
Unit
)?
=
null
// onHidden: (() -> Unit)? = null
)
{
// ) {
//
setListener
(
activity
)
// setListener(activity)
//
if
(
activity
.
isFinishing
||
activity
.
isDestroyed
)
{
// if (activity.isFinishing || activity.isDestroyed) {
return
// return
}
// }
//
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"openAd"
))
{
// if (!AdDisplayUtils.getInstance().shouldShowAd("openAd")) {
LogEx
.
logDebug
(
TAG
,
"!shouldShowAd"
)
// LogEx.logDebug(TAG, "!shouldShowAd")
onHidden
?.
invoke
()
return
}
if
(
System
.
currentTimeMillis
()
-
openLoadTime
>
1000
*
60
*
60
)
{
LogEx
.
logDebug
(
TAG
,
"openLoadTime > "
)
onHidden
?.
invoke
()
val
obj2
=
JSONObject
()
obj2
.
put
(
"ad_unit"
,
"openAd"
)
EventUtils
.
event
(
"ad_expire"
,
ext
=
obj2
)
appOpenAd
?.
loadAd
()
}
// if (!isAdInit.get()) {
// EventUtils.event("isAdInit", value = "showAppOpenAd isAdInit=${isAdInit.get()}")
// onHidden?.invoke()
// onHidden?.invoke()
// return
// return
// }
// }
//
// if (System.currentTimeMillis() - openLoadTime > 1000 * 60 * 60) {
LogEx
.
logDebug
(
TAG
,
"showAppOpenAd"
)
// LogEx.logDebug(TAG, "openLoadTime > ")
val
obj1
=
JSONObject
()
// onHidden?.invoke()
obj1
.
put
(
"ad_unit"
,
"openAd"
)
// val obj2 = JSONObject()
EventUtils
.
event
(
"ad_prepare_show"
,
ext
=
obj1
)
// obj2.put("ad_unit", "openAd")
// EventUtils.event("ad_expire", ext = obj2)
isInterOpenShowing
=
false
// appOpenAd?.loadAd()
// }
if
(
appOpenAd
?.
isReady
==
true
)
{
//
LogEx
.
logDebug
(
TAG
,
"广告准备好了,展示广告"
)
//// if (!isAdInit.get()) {
AdMaxOpenUtils
.
onHidden
=
onHidden
//// EventUtils.event("isAdInit", value = "showAppOpenAd isAdInit=${isAdInit.get()}")
appOpenAd
?.
showAd
()
//// onHidden?.invoke()
}
else
{
//// return
val
obj
=
JSONObject
()
//// }
obj
.
put
(
"reason"
,
"no cache ad"
)
//
obj
.
put
(
"ad_unit"
,
"openAd"
)
//
EventUtils
.
event
(
"ad_nocache_pull"
,
ext
=
obj
)
// LogEx.logDebug(TAG, "showAppOpenAd")
LogEx
.
logDebug
(
TAG
,
"展示时候,发现广告需要拉取"
)
// val obj1 = JSONObject()
val
loaded
=
loadAppOpenAd
(
activity
)
// obj1.put("ad_unit", "openAd")
if
(
loaded
)
{
// EventUtils.event("ad_prepare_show", ext = obj1)
loadingListener
=
{
loadResult
->
//
loadCallBack
?.
invoke
(
loadResult
)
// isInterOpenShowing = false
LogEx
.
logDebug
(
TAG
,
"loadingListener callback"
)
//
if
(
appOpenAd
?.
isReady
==
true
)
{
// if (appOpenAd?.isReady == true) {
AdMaxOpenUtils
.
onHidden
=
onHidden
// LogEx.logDebug(TAG, "广告准备好了,展示广告")
appOpenAd
?.
showAd
()
// AdMaxOpenUtils.onHidden = onHidden
}
else
{
// appOpenAd?.showAd()
onHidden
?.
invoke
()
// } else {
}
// val obj = JSONObject()
}
// obj.put("reason", "no cache ad")
}
else
{
// obj.put("ad_unit", "openAd")
onHidden
?.
invoke
()
// EventUtils.event("ad_nocache_pull", ext = obj)
}
// LogEx.logDebug(TAG, "展示时候,发现广告需要拉取")
// val loaded = loadAppOpenAd(activity)
}
// if (loaded) {
}
// loadingListener = { loadResult ->
// loadCallBack?.invoke(loadResult)
fun
loadAppOpenAd
(
activity
:
Activity
):
Boolean
{
// LogEx.logDebug(TAG, "loadingListener callback")
setListener
(
activity
)
// if (appOpenAd?.isReady == true) {
// AdMaxOpenUtils.onHidden = onHidden
if
(!
AdDisplayUtils
.
getInstance
().
shouldShowAd
(
"openAd"
))
{
// appOpenAd?.showAd()
LogEx
.
logDebug
(
TAG
,
"!shouldShowAd"
)
// } else {
return
false
// onHidden?.invoke()
}
// }
// }
val
reqId
=
UUID
.
randomUUID
().
toString
()
// } else {
val
obj
=
JSONObject
()
// onHidden?.invoke()
obj
.
put
(
"req_id"
,
reqId
)
// }
obj
.
put
(
"ad_type"
,
"openAd"
)
//
EventUtils
.
event
(
"ad_pull_start"
,
ext
=
obj
)
// }
appOpenAd
?.
loadAd
()
// }
AdDisplayUtils
.
getInstance
().
incrementAdRequestCount
()
//
return
true
// fun loadAppOpenAd(activity: Activity): Boolean {
// setListener(activity)
}
//
// if (!AdDisplayUtils.getInstance().shouldShowAd("openAd")) {
// LogEx.logDebug(TAG, "!shouldShowAd")
// return false
}
// }
//
// val reqId = UUID.randomUUID().toString()
// val obj = JSONObject()
// obj.put("req_id", reqId)
// obj.put("ad_type", "openAd")
// EventUtils.event("ad_pull_start", ext = obj)
// appOpenAd?.loadAd()
// AdDisplayUtils.getInstance().incrementAdRequestCount()
// return true
//
// }
//
//
//
//}
//
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment