Commit 7cd2adf9 authored by wanglei's avatar wanglei

...

parent 7861e7d5
...@@ -2,10 +2,8 @@ package com.base.pdfviewerscannerwhite.ads.admob ...@@ -2,10 +2,8 @@ package com.base.pdfviewerscannerwhite.ads.admob
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.ViewTreeObserver import android.view.ViewTreeObserver
import androidx.core.view.children
import com.base.pdfviewerscannerwhite.BuildConfig import com.base.pdfviewerscannerwhite.BuildConfig
import com.base.pdfviewerscannerwhite.helper.ConfigHelper import com.base.pdfviewerscannerwhite.helper.ConfigHelper
import com.base.pdfviewerscannerwhite.utils.AppPreferences import com.base.pdfviewerscannerwhite.utils.AppPreferences
...@@ -39,6 +37,7 @@ object AdmobBannerUtils { ...@@ -39,6 +37,7 @@ object AdmobBannerUtils {
// onPaidEventListener = AdmobEvent.EventOnPaidEventListener(this) // onPaidEventListener = AdmobEvent.EventOnPaidEventListener(this)
// } // }
parent.addView(adView) parent.addView(adView)
adView?.onPaidEventListener = AdmobEvent.EventOnPaidEventListener(adView)
listener = ViewTreeObserver.OnGlobalLayoutListener { listener = ViewTreeObserver.OnGlobalLayoutListener {
val screenPixelDensity = context.resources.displayMetrics.density val screenPixelDensity = context.resources.displayMetrics.density
......
...@@ -8,6 +8,7 @@ import com.base.pdfviewerscannerwhite.utils.LogEx ...@@ -8,6 +8,7 @@ import com.base.pdfviewerscannerwhite.utils.LogEx
import com.facebook.appevents.AppEventsConstants import com.facebook.appevents.AppEventsConstants
import com.facebook.appevents.AppEventsLogger import com.facebook.appevents.AppEventsLogger
import com.google.android.gms.ads.AdValue import com.google.android.gms.ads.AdValue
import com.google.android.gms.ads.AdView
import com.google.android.gms.ads.OnPaidEventListener import com.google.android.gms.ads.OnPaidEventListener
import com.google.android.gms.ads.ResponseInfo import com.google.android.gms.ads.ResponseInfo
import com.google.android.gms.ads.appopen.AppOpenAd import com.google.android.gms.ads.appopen.AppOpenAd
...@@ -82,6 +83,7 @@ object AdmobEvent { ...@@ -82,6 +83,7 @@ object AdmobEvent {
val currentImpressionRevenue = adValue.valueMicros.toDouble() / 1000000.0 val currentImpressionRevenue = adValue.valueMicros.toDouble() / 1000000.0
params.putDouble(FirebaseAnalytics.Param.VALUE, currentImpressionRevenue) params.putDouble(FirebaseAnalytics.Param.VALUE, currentImpressionRevenue)
params.putString(FirebaseAnalytics.Param.CURRENCY, "USD") params.putString(FirebaseAnalytics.Param.CURRENCY, "USD")
LogEx.logDebug("EventOnPaidEventListener", "precisionType=${adValue.precisionType}")
val precisionType = when (adValue.precisionType) { val precisionType = when (adValue.precisionType) {
0 -> "UNKNOWN" 0 -> "UNKNOWN"
1 -> "ESTIMATED" 1 -> "ESTIMATED"
...@@ -185,7 +187,7 @@ object AdmobEvent { ...@@ -185,7 +187,7 @@ object AdmobEvent {
} }
is NativeAd -> { is NativeAd -> {
key = "ad_price_native" key = "ad_price"
val loadedAdapterResponseInfo = ad.responseInfo?.loadedAdapterResponseInfo val loadedAdapterResponseInfo = ad.responseInfo?.loadedAdapterResponseInfo
val adSourceName = loadedAdapterResponseInfo?.adSourceName val adSourceName = loadedAdapterResponseInfo?.adSourceName
val adSourceId = loadedAdapterResponseInfo?.adSourceId val adSourceId = loadedAdapterResponseInfo?.adSourceId
...@@ -206,6 +208,33 @@ object AdmobEvent { ...@@ -206,6 +208,33 @@ object AdmobEvent {
obj.put("mediationABTestVariant", mediationABTestVariant) obj.put("mediationABTestVariant", mediationABTestVariant)
obj.put("session_id", sessionId) obj.put("session_id", sessionId)
} }
else -> {
runCatching {
val adView = ad as AdView
val adUnitId = adView.adUnitId
val loadedAdapterResponseInfo = adView.responseInfo?.loadedAdapterResponseInfo
val adSourceName = loadedAdapterResponseInfo?.adSourceName
val adSourceId = loadedAdapterResponseInfo?.adSourceId
val adSourceInstanceName = loadedAdapterResponseInfo?.adSourceInstanceName
val adSourceInstanceId = loadedAdapterResponseInfo?.adSourceInstanceId
val sessionId = adView.responseInfo?.responseId
val extras = adView.responseInfo?.responseExtras
val mediationGroupName = extras?.getString("mediation_group_name")
val mediationABTestName = extras?.getString("mediation_ab_test_name")
val mediationABTestVariant = extras?.getString("mediation_ab_test_variant")
obj.put("ad_unit", "banner")
obj.put("adUnitId", adUnitId)
obj.put("adSourceName", adSourceName)
obj.put("adSourceId", adSourceId)
obj.put("adSourceInstanceName", adSourceInstanceName)
obj.put("adSourceInstanceId", adSourceInstanceId)
obj.put("mediationGroupName", mediationGroupName)
obj.put("mediationABTestName", mediationABTestName)
obj.put("mediationABTestVariant", mediationABTestVariant)
obj.put("session_id", sessionId)
}
}
} }
EventUtils.event(key, ext = obj) EventUtils.event(key, ext = obj)
} }
...@@ -250,7 +279,7 @@ object AdmobEvent { ...@@ -250,7 +279,7 @@ object AdmobEvent {
if (adUnit != "nativeAd") { if (adUnit != "nativeAd") {
EventUtils.event("ad_show", ext = obj) EventUtils.event("ad_show", ext = obj)
} else { } else {
EventUtils.event("bigimage_ad_show", ext = obj) EventUtils.event("ad_show", ext = obj)
} }
} }
} }
\ No newline at end of file
...@@ -90,7 +90,7 @@ object AdmobNativeUtils { ...@@ -90,7 +90,7 @@ object AdmobNativeUtils {
fun showNativeAd(activity: Activity?, parent: ViewGroup, layout: Int = R.layout.layout_admob_native_custom) { fun showNativeAd(activity: Activity?, parent: ViewGroup, layout: Int = R.layout.layout_admob_native_custom) {
val obj = JSONObject() val obj = JSONObject()
obj.put("ad_unit", "nativeAd") obj.put("ad_unit", "nativeAd")
EventUtils.event("ad_prepare_show_native", ext = obj) EventUtils.event("ad_prepare_show", ext = obj)
if (!AdDisplayUtils.shouldShowNative()) { if (!AdDisplayUtils.shouldShowNative()) {
return return
} }
......
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