diff --git a/ThirdPartyAdapters/dtexchange/CHANGELOG.md b/ThirdPartyAdapters/dtexchange/CHANGELOG.md index 5a1a3a05f..662217395 100644 --- a/ThirdPartyAdapters/dtexchange/CHANGELOG.md +++ b/ThirdPartyAdapters/dtexchange/CHANGELOG.md @@ -20,6 +20,7 @@ Built and tested with: #### Version 8.4.0.0 - Removed class-level references to Context. Can help reduce memory leak issues. +- Added watermark on bidding ads. - Verified compatibility with DT Exchange SDK 8.4.0. Built and tested with: diff --git a/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/DTExchangeBannerAd.kt b/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/DTExchangeBannerAd.kt index d3d43411f..8597a26e9 100644 --- a/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/DTExchangeBannerAd.kt +++ b/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/DTExchangeBannerAd.kt @@ -41,7 +41,8 @@ class DTExchangeBannerAd( adSpot.setRequestListener(this) controller.eventsListener = this FyberAdapterUtils.updateFyberExtraParams(mediationBannerAdConfiguration.mediationExtras) - adSpot.loadAd(bidResponse) + val watermark = mediationBannerAdConfiguration.watermark + adSpot.loadAd(bidResponse, watermark) } override fun onInneractiveSuccessfulAdRequest(iAdSpot: InneractiveAdSpot?) { diff --git a/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/DTExchangeInterstitialAd.kt b/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/DTExchangeInterstitialAd.kt index 663cbead5..47e45c1ec 100644 --- a/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/DTExchangeInterstitialAd.kt +++ b/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/DTExchangeInterstitialAd.kt @@ -42,7 +42,8 @@ class DTExchangeInterstitialAd( adSpot.setRequestListener(this) controller.eventsListener = this FyberAdapterUtils.updateFyberExtraParams(mediationInterstitialAdConfiguration.mediationExtras) - adSpot.loadAd(bidResponse) + val watermark = mediationInterstitialAdConfiguration.watermark + adSpot.loadAd(bidResponse, watermark) } override fun showAd(context: Context) { diff --git a/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/FyberRewardedVideoRenderer.java b/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/FyberRewardedVideoRenderer.java index 20ee78c5f..b7f749b9c 100644 --- a/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/FyberRewardedVideoRenderer.java +++ b/ThirdPartyAdapters/dtexchange/dtexchange/src/main/java/com/google/ads/mediation/fyber/FyberRewardedVideoRenderer.java @@ -91,7 +91,8 @@ void loadWaterfallAd(MediationRewardedAdConfiguration adConfiguration) { void loadRtbAd(MediationRewardedAdConfiguration adConfiguration) { String bidResponse = adConfiguration.getBidResponse(); initializeFyberClasses(adConfiguration); - rewardedSpot.loadAd(bidResponse); + String watermark = adConfiguration.getWatermark(); + rewardedSpot.loadAd(bidResponse, watermark); } private void initializeFyberClasses(MediationRewardedAdConfiguration adConfiguration) { diff --git a/ThirdPartyAdapters/dtexchange/dtexchange/src/test/kotlin/com/google/ads/mediation/fyber/DTExchangeBannerAdTest.kt b/ThirdPartyAdapters/dtexchange/dtexchange/src/test/kotlin/com/google/ads/mediation/fyber/DTExchangeBannerAdTest.kt index 01a35907e..abba03739 100644 --- a/ThirdPartyAdapters/dtexchange/dtexchange/src/test/kotlin/com/google/ads/mediation/fyber/DTExchangeBannerAdTest.kt +++ b/ThirdPartyAdapters/dtexchange/dtexchange/src/test/kotlin/com/google/ads/mediation/fyber/DTExchangeBannerAdTest.kt @@ -10,6 +10,7 @@ import com.fyber.inneractive.sdk.external.InneractiveAdViewUnitController import com.fyber.inneractive.sdk.external.InneractiveErrorCode import com.google.ads.mediation.adaptertestkit.AdErrorMatcher import com.google.ads.mediation.adaptertestkit.AdapterTestKitConstants.TEST_BID_RESPONSE +import com.google.ads.mediation.adaptertestkit.AdapterTestKitConstants.TEST_WATERMARK import com.google.ads.mediation.adaptertestkit.createMediationBannerAdConfiguration import com.google.android.gms.ads.AdError import com.google.android.gms.ads.mediation.MediationAdLoadCallback @@ -45,7 +46,13 @@ class DTExchangeBannerAdTest { @Before fun setUp() { - dtExchangeBannerAd = DTExchangeBannerAd(mockAdLoadCallback) + val adConfiguration = + createMediationBannerAdConfiguration( + context = context, + bidResponse = TEST_BID_RESPONSE, + watermark = TEST_WATERMARK, + ) + dtExchangeBannerAd = DTExchangeBannerAd(adConfiguration, mockAdLoadCallback) } @Test diff --git a/ThirdPartyAdapters/dtexchange/dtexchange/src/test/kotlin/com/google/ads/mediation/fyber/FyberMediationAdapterTest.kt b/ThirdPartyAdapters/dtexchange/dtexchange/src/test/kotlin/com/google/ads/mediation/fyber/FyberMediationAdapterTest.kt index cf6bf2e77..76d10f8d0 100644 --- a/ThirdPartyAdapters/dtexchange/dtexchange/src/test/kotlin/com/google/ads/mediation/fyber/FyberMediationAdapterTest.kt +++ b/ThirdPartyAdapters/dtexchange/dtexchange/src/test/kotlin/com/google/ads/mediation/fyber/FyberMediationAdapterTest.kt @@ -26,6 +26,7 @@ import com.fyber.inneractive.sdk.external.OnFyberMarketplaceInitializedListener. import com.google.ads.mediation.adaptertestkit.AdErrorMatcher import com.google.ads.mediation.adaptertestkit.AdapterTestKitConstants import com.google.ads.mediation.adaptertestkit.AdapterTestKitConstants.TEST_BID_RESPONSE +import com.google.ads.mediation.adaptertestkit.AdapterTestKitConstants.TEST_WATERMARK import com.google.ads.mediation.adaptertestkit.assertGetSdkVersion import com.google.ads.mediation.adaptertestkit.assertGetVersionInfo import com.google.ads.mediation.adaptertestkit.createMediationBannerAdConfiguration @@ -311,7 +312,11 @@ class FyberMediationAdapterTest { fun loadRtbBannerAd_invokesLoadAd() { mockStatic(InneractiveAdSpotManager::class.java).use { val bannerAdConfiguration = - createMediationBannerAdConfiguration(context = activity, bidResponse = TEST_BID_RESPONSE) + createMediationBannerAdConfiguration( + context = activity, + bidResponse = TEST_BID_RESPONSE, + watermark = TEST_WATERMARK, + ) val mockAdSpot = mock() val mockInneractiveAdSpotManager = mock { on { createSpot() } doReturn mockAdSpot } @@ -323,7 +328,7 @@ class FyberMediationAdapterTest { InneractiveAdManager.setMediationName(eq(FyberMediationAdapter.MEDIATOR_NAME)) InneractiveAdManager.setMediationVersion(eq(MobileAds.getVersion().toString())) } - verify(mockAdSpot).loadAd(eq(TEST_BID_RESPONSE)) + verify(mockAdSpot).loadAd(eq(TEST_BID_RESPONSE), eq(TEST_WATERMARK)) } } @@ -337,6 +342,7 @@ class FyberMediationAdapterTest { createMediationInterstitialAdConfiguration( context = activity, bidResponse = TEST_BID_RESPONSE, + watermark = TEST_WATERMARK, ) val mockAdSpot = mock() val mockInneractiveAdSpotManager = @@ -349,7 +355,7 @@ class FyberMediationAdapterTest { InneractiveAdManager.setMediationName(eq(FyberMediationAdapter.MEDIATOR_NAME)) InneractiveAdManager.setMediationVersion(eq(MobileAds.getVersion().toString())) } - verify(mockAdSpot).loadAd(eq(TEST_BID_RESPONSE)) + verify(mockAdSpot).loadAd(eq(TEST_BID_RESPONSE), eq(TEST_WATERMARK)) } } @@ -439,7 +445,11 @@ class FyberMediationAdapterTest { fun loadRtbRewardedAd_invokesLoadAd() { mockStatic(InneractiveAdSpotManager::class.java).use { val rewardedAdParameters = - createMediationRewardedAdConfiguration(context = activity, bidResponse = TEST_BID_RESPONSE) + createMediationRewardedAdConfiguration( + context = activity, + bidResponse = TEST_BID_RESPONSE, + watermark = TEST_WATERMARK, + ) val mockAdSpot = mock() val mockInneractiveAdSpotManager = mock { on { createSpot() } doReturn mockAdSpot } @@ -451,7 +461,7 @@ class FyberMediationAdapterTest { InneractiveAdManager.setMediationName(eq(FyberMediationAdapter.MEDIATOR_NAME)) InneractiveAdManager.setMediationVersion(eq(MobileAds.getVersion().toString())) } - verify(mockAdSpot).loadAd(eq(TEST_BID_RESPONSE)) + verify(mockAdSpot).loadAd(eq(TEST_BID_RESPONSE), eq(TEST_WATERMARK)) } }