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]