From cf7f8d0fc781be9797a6939265c5c826a3fd6001 Mon Sep 17 00:00:00 2001
From: Valentin Petrovych
<72038591+ValentinPostindustria@users.noreply.github.com>
Date: Mon, 14 Feb 2022 12:37:04 +0200
Subject: [PATCH] AdMob corrections (#360)
* feat(AdMob): use appropriate ad unit format for MediationInterstitialAdUnit test cases #354
* feat(AdMob): fix native ad crash #357
* feat(AdMob): minor corrections for Native ad #356
---
.../mobile/prebidkotlindemo/AdTypesRepository.kt | 10 +++++++---
.../ads/inappadmob/InAppAdMobInterstitial.kt | 5 +++--
.../ads/inappmopub/InAppMoPubInterstitial.kt | 5 +++--
.../ads/inappmopub/InAppMoPubVideoInterstitial.kt | 9 ++++++++-
.../mobile/renderingtestapp/InternalTestApplication.kt | 2 ++
.../plugplay/bidding/admob/AdMobNativeFragment.kt | 10 ++++++----
.../mopub/MopubBannersWithInterstitialFragment.kt | 4 +++-
.../bidding/mopub/MopubInterstitialFragment.kt | 4 ++--
.../plugplay/bidding/mopub/MopubNativeFragment.kt | 2 +-
.../src/main/res/values/strings.xml | 10 +++++-----
10 files changed, 40 insertions(+), 21 deletions(-)
diff --git a/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/AdTypesRepository.kt b/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/AdTypesRepository.kt
index 9a69f77f9..6bf0ebf73 100644
--- a/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/AdTypesRepository.kt
+++ b/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/AdTypesRepository.kt
@@ -15,6 +15,7 @@ import org.prebid.mobile.prebidkotlindemo.ads.inappmopub.InAppMoPubBanner
import org.prebid.mobile.prebidkotlindemo.ads.inappmopub.InAppMoPubInterstitial
import org.prebid.mobile.prebidkotlindemo.ads.inappmopub.InAppMoPubRewardedInterstitial
import org.prebid.mobile.prebidkotlindemo.ads.inappmopub.InAppMoPubVideoInterstitial
+import org.prebid.mobile.rendering.bidding.enums.AdUnitFormat
object AdTypesRepository {
@@ -247,7 +248,8 @@ object AdTypesRepository {
InAppMoPubVideoInterstitial.create(
activity,
"062a5be1c0764e84b45244ecd58b237f",
- "28259226-68de-49f8-88d6-f0f2fab846e3"
+ "28259226-68de-49f8-88d6-f0f2fab846e3",
+ 30, 30
)
},
onDestroy = { InAppMoPubVideoInterstitial.destroy() }
@@ -285,7 +287,8 @@ object AdTypesRepository {
InAppAdMobInterstitial.create(
activity,
"ca-app-pub-1875909575462531/6393291067",
- "5a4b8dcf-f984-4b04-9448-6529908d6cb6"
+ "5a4b8dcf-f984-4b04-9448-6529908d6cb6",
+ AdUnitFormat.DISPLAY
)
},
onDestroy = { InAppAdMobInterstitial.destroy() }
@@ -296,7 +299,8 @@ object AdTypesRepository {
InAppAdMobInterstitial.create(
activity,
"ca-app-pub-1875909575462531/6393291067",
- "12f58bc2-b664-4672-8d19-638bcc96fd5c"
+ "12f58bc2-b664-4672-8d19-638bcc96fd5c",
+ AdUnitFormat.VIDEO
)
},
onDestroy = { InAppAdMobInterstitial.destroy() }
diff --git a/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappadmob/InAppAdMobInterstitial.kt b/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappadmob/InAppAdMobInterstitial.kt
index 9597134f7..aaef02ecb 100644
--- a/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappadmob/InAppAdMobInterstitial.kt
+++ b/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappadmob/InAppAdMobInterstitial.kt
@@ -20,7 +20,8 @@ object InAppAdMobInterstitial {
fun create(
activity: Activity,
adUnitId: String,
- configId: String
+ configId: String,
+ adUnitFormat: AdUnitFormat
) {
val extras = Bundle()
val request = AdRequest
@@ -32,7 +33,7 @@ object InAppAdMobInterstitial {
adUnit = MediationInterstitialAdUnit(
activity,
configId,
- AdUnitFormat.DISPLAY,
+ adUnitFormat,
mediationUtils
)
adUnit?.fetchDemand { result ->
diff --git a/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappmopub/InAppMoPubInterstitial.kt b/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappmopub/InAppMoPubInterstitial.kt
index 6fc3fb9b8..5804467fd 100644
--- a/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappmopub/InAppMoPubInterstitial.kt
+++ b/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappmopub/InAppMoPubInterstitial.kt
@@ -7,8 +7,8 @@ import com.mopub.common.SdkConfiguration
import com.mopub.mediation.MoPubInterstitialMediationUtils
import com.mopub.mobileads.MoPubErrorCode
import com.mopub.mobileads.MoPubInterstitial
-import org.prebid.mobile.rendering.bidding.data.AdSize
import org.prebid.mobile.rendering.bidding.display.MediationInterstitialAdUnit
+import org.prebid.mobile.rendering.bidding.enums.AdUnitFormat
object InAppMoPubInterstitial {
@@ -38,9 +38,10 @@ object InAppMoPubInterstitial {
adUnit = MediationInterstitialAdUnit(
activity,
configId,
- AdSize(minPercentageWidth, minPercentageHeight),
+ AdUnitFormat.DISPLAY,
mediationUtils
)
+ adUnit?.setMinSizePercentage(minPercentageWidth, minPercentageHeight)
MoPub.initializeSdk(activity, SdkConfiguration.Builder(adUnitId).build()) {
adUnit?.fetchDemand {
diff --git a/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappmopub/InAppMoPubVideoInterstitial.kt b/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappmopub/InAppMoPubVideoInterstitial.kt
index 1839282ab..f716f91cb 100644
--- a/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappmopub/InAppMoPubVideoInterstitial.kt
+++ b/Example/PrebidDemoKotlin/src/main/java/org/prebid/mobile/prebidkotlindemo/ads/inappmopub/InAppMoPubVideoInterstitial.kt
@@ -16,7 +16,13 @@ object InAppMoPubVideoInterstitial {
private var moPubInterstitial: MoPubInterstitial? = null
private var adUnit: MediationInterstitialAdUnit? = null
- fun create(activity: Activity, adUnitId: String, configId: String) {
+ fun create(
+ activity: Activity,
+ adUnitId: String,
+ configId: String,
+ minPercentageWidth: Int,
+ minPercentageHeight: Int
+ ) {
moPubInterstitial = MoPubInterstitial(activity, adUnitId)
moPubInterstitial?.interstitialAdListener = object : MoPubInterstitial.InterstitialAdListener {
override fun onInterstitialLoaded(p0: MoPubInterstitial?) {
@@ -35,6 +41,7 @@ object InAppMoPubVideoInterstitial {
AdUnitFormat.VIDEO,
mediationUtils
)
+ adUnit?.setMinSizePercentage(minPercentageWidth, minPercentageHeight)
MoPub.initializeSdk(activity, SdkConfiguration.Builder(adUnitId).build()) {
adUnit?.fetchDemand {
diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/InternalTestApplication.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/InternalTestApplication.kt
index dc082a5a5..5a385eece 100644
--- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/InternalTestApplication.kt
+++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/InternalTestApplication.kt
@@ -23,6 +23,7 @@ import android.preference.PreferenceManager
import android.webkit.WebView
import androidx.multidex.MultiDex
import androidx.multidex.MultiDexApplication
+import org.prebid.mobile.PrebidMobile
import org.prebid.mobile.rendering.sdk.PrebidRenderingSettings
import org.prebid.mobile.renderingtestapp.utils.DemoItemProvider
import org.prebid.mobile.renderingtestapp.utils.MockServerUtils
@@ -41,6 +42,7 @@ class InternalTestApplication : MultiDexApplication() {
super.onCreate()
instance = this
+ PrebidMobile.setApplicationContext(this)
PrebidRenderingSettings.setAccountId(getString(R.string.prebid_account_id_prod))
PrebidRenderingSettings.logLevel = PrebidRenderingSettings.LogLevel.DEBUG
diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/admob/AdMobNativeFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/admob/AdMobNativeFragment.kt
index f7cb62512..b173ca021 100644
--- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/admob/AdMobNativeFragment.kt
+++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/admob/AdMobNativeFragment.kt
@@ -61,9 +61,11 @@ class AdMobNativeFragment : AdFragment() {
adLoader = AdLoader
.Builder(requireContext(), adUnitId)
.forNativeAd { ad: NativeAd ->
- btnAdLoaded.isEnabled = true
+ btnAdLoaded?.isEnabled = true
nativeAd = ad
- createCustomView(viewContainer, nativeAd!!)
+ viewContainer?.let {
+ createCustomView(it, nativeAd!!)
+ }
}
.withAdListener(object : AdListener() {
override fun onAdFailedToLoad(adError: LoadAdError) {
@@ -102,8 +104,8 @@ class AdMobNativeFragment : AdFragment() {
}
private fun resetAdEvents() {
- btnAdLoaded.isEnabled = false
- btnAdFailed.isEnabled = false
+ btnAdLoaded?.isEnabled = false
+ btnAdFailed?.isEnabled = false
}
private fun createCustomView(wrapper: ViewGroup, nativeAd: NativeAd) {
diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubBannersWithInterstitialFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubBannersWithInterstitialFragment.kt
index 47c9b3306..cfb94223a 100644
--- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubBannersWithInterstitialFragment.kt
+++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubBannersWithInterstitialFragment.kt
@@ -31,6 +31,7 @@ import kotlinx.android.synthetic.main.fragment_interstitial_html_with_banners.*
import org.prebid.mobile.rendering.bidding.data.AdSize
import org.prebid.mobile.rendering.bidding.display.MediationBannerAdUnit
import org.prebid.mobile.rendering.bidding.display.MediationInterstitialAdUnit
+import org.prebid.mobile.rendering.bidding.enums.AdUnitFormat
import org.prebid.mobile.renderingtestapp.R
import org.prebid.mobile.renderingtestapp.plugplay.bidding.base.BaseBannersWithInterstitialFragment
import org.prebid.mobile.renderingtestapp.utils.getAdDescription
@@ -63,9 +64,10 @@ class MopubBannersWithInterstitialFragment : BaseBannersWithInterstitialFragment
MediationInterstitialAdUnit(
requireContext(),
interstitialConfigId,
- AdSize(30, 30),
+ AdUnitFormat.DISPLAY,
mediationUtils
)
+ mediationInterstitialAdUnit?.setMinSizePercentage(30, 30)
fetchInterstitial()
}
diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubInterstitialFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubInterstitialFragment.kt
index 4db6ecabf..734422392 100644
--- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubInterstitialFragment.kt
+++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubInterstitialFragment.kt
@@ -25,7 +25,6 @@ import com.mopub.mobileads.MoPubErrorCode
import com.mopub.mobileads.MoPubInterstitial
import kotlinx.android.synthetic.main.events_mopub_interstitial.*
import kotlinx.android.synthetic.main.fragment_mopub_interstitial.*
-import org.prebid.mobile.rendering.bidding.data.AdSize
import org.prebid.mobile.rendering.bidding.display.MediationInterstitialAdUnit
import org.prebid.mobile.rendering.bidding.enums.AdUnitFormat
import org.prebid.mobile.renderingtestapp.AdFragment
@@ -114,10 +113,11 @@ class MopubInterstitialFragment : AdFragment() {
MediationInterstitialAdUnit(
requireContext(),
configId,
- AdSize(minWidthPerc, minHeightPerc),
+ AdUnitFormat.DISPLAY,
mediationUtils
)
}
+ mopubInterstitialAdUnit.setMinSizePercentage(30, 30)
}
private fun handleLoadButtonClick() {
diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubNativeFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubNativeFragment.kt
index 58758f00a..341266e13 100644
--- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubNativeFragment.kt
+++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubNativeFragment.kt
@@ -184,7 +184,7 @@ open class MopubNativeFragment : AdFragment() {
val image = NativeImageAsset()
image.imageType = NativeImageAsset.IMAGE_TYPE.MAIN
- image.hMin = 20
+ image.hMin = 200
image.wMin = 200
image.isRequired = true
addAsset(image)
diff --git a/Example/PrebidInternalTestApp/src/main/res/values/strings.xml b/Example/PrebidInternalTestApp/src/main/res/values/strings.xml
index 1c74a97fd..214cda072 100755
--- a/Example/PrebidInternalTestApp/src/main/res/values/strings.xml
+++ b/Example/PrebidInternalTestApp/src/main/res/values/strings.xml
@@ -157,13 +157,13 @@
Banner Native Styles (GAM) [MRect]
Banner Native Styles (GAM) [Fluid]
Banner Native Styles No Assets (GAM) [MRect]
- Native Ad Custom Templates (GAM) [OK, OXANativeAd]
+ Native Ad Custom Templates (GAM) [OK, NativeAd]
Native Ad (GAM) [noBids, GADNativeCustomTemplateAd]
- Native Ad Unified Ad (GAM) [OK, OXANativeAd]
+ Native Ad Unified Ad (GAM) [OK, NativeAd]
Native Ad (GAM) [noBids, GADUnifiedNativeAd]
Native Ad (GAM) [OK, GADNativeCustomTemplateAd]
Native Ad (GAM) [OK, GADUnifiedNativeAd]
- Native Ad Feed (GAM) [OK, OXANativeAd]
+ Native Ad Feed (GAM) [OK, NativeAd]
@@ -194,8 +194,8 @@
Banner Native Styles No Assets (MoPub)
Native Ad (MoPub) [noBids, MPNativeAd]
Native Ad Feed (MoPub) [noBids, MPNativeAd]
- Native Ad (MoPub) [OK, OXANativeAdAdapter]
- Native Ad Video (MoPub) [OK, OXANativeAdAdapter]
+ Native Ad (MoPub) [OK, NativeAdAdapter]
+ Native Ad Video (MoPub) [OK, NativeAdAdapter]
Banner 320x50 (AdMob) [OK, OXB Adapter]