From 1f63cb64e81342adcd537aba06ec07270e8883ad Mon Sep 17 00:00:00 2001 From: shinwan2 Date: Sun, 23 Jun 2024 13:24:29 +0900 Subject: [PATCH 1/3] test: Add unit test --- .../parameters/BasicParameterBuilderTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/PrebidMobile/PrebidMobile-core/src/test/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilderTest.java b/PrebidMobile/PrebidMobile-core/src/test/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilderTest.java index 9a715224b..4a3ae0bc7 100644 --- a/PrebidMobile/PrebidMobile-core/src/test/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilderTest.java +++ b/PrebidMobile/PrebidMobile-core/src/test/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilderTest.java @@ -43,6 +43,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.prebid.mobile.AdSize; +import org.prebid.mobile.BannerAdUnit; import org.prebid.mobile.BannerParameters; import org.prebid.mobile.DataObject; import org.prebid.mobile.ExternalUserId; @@ -136,6 +137,30 @@ public void cleanup() throws Exception { PrebidMobile.unregisterPluginRenderer(otherPlugin); } + @Test + public void banner_videoDimensionsNotSet_allImpsHaveDimensions() throws JSONException { + final BannerAdUnit adUnit = new BannerAdUnit( + "unitId", + 300, + 250, + EnumSet.of(AdUnitFormat.BANNER, AdUnitFormat.VIDEO) + ); + final VideoParameters videoParameters = new VideoParameters(Lists.newArrayList("video/mp4")); + adUnit.setVideoParameters(videoParameters); + + final BidRequest bidRequest = configIntoBidRequest(adUnit.getConfiguration()); + + Imp imp = bidRequest.getImp().get(0); + assertNotNull(imp); + Banner banner = imp.banner; + assertNotNull(banner); + assertEquals("{\"format\":[{\"w\":300,\"h\":250}]}", banner.getJsonObject().toString()); + + Video video = imp.video; + assertNotNull(video); + assertEquals("{\"delivery\":[3],\"w\":300,\"h\":250,\"mimes\":[\"video\\/mp4\"]}", video.getJsonObject().toString()); + } + @Test public void multiformat_setAllParameterTypes_allTypesInRequestObject() throws JSONException { AdUnitConfiguration config = new AdUnitConfiguration(); From 65a17f9b2385a01dae916f134f760f9d8612a4d8 Mon Sep 17 00:00:00 2001 From: shinwan2 Date: Sun, 23 Jun 2024 13:24:53 +0900 Subject: [PATCH 2/3] fix: Fix video imp does not contain dimensions --- .../parameters/BasicParameterBuilder.java | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilder.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilder.java index 85d76bb44..dd7255c3a 100644 --- a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilder.java +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilder.java @@ -23,6 +23,9 @@ import android.text.TextUtils; import android.util.Pair; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import org.json.JSONArray; import org.json.JSONObject; import org.prebid.mobile.AdSize; @@ -301,27 +304,32 @@ private void setVideoImpValues(Imp imp) { } } + setVideoDimensionsTo(video); + video.delivery = new int[]{VIDEO_DELIVERY_DOWNLOAD}; + + imp.video = video; + } + + private void setVideoDimensionsTo(@NonNull Video video) { VideoParameters videoParams = adConfiguration.getVideoParameters(); - if (videoParams != null) { - AdSize adSize = videoParams.getAdSize(); - if (adSize != null) { - video.w = adSize.getWidth(); - video.h = adSize.getHeight(); - } + @Nullable AdSize adSize = null; + if (videoParams != null && videoParams.getAdSize() != null) { + adSize = videoParams.getAdSize(); } else if (!adConfiguration.getSizes().isEmpty()) { for (AdSize size : adConfiguration.getSizes()) { - video.w = size.getWidth(); - video.h = size.getHeight(); + adSize = size; break; } + } + + if (adSize != null) { + video.w = adSize.getWidth(); + video.h = adSize.getHeight(); } else if (resources != null) { Configuration deviceConfiguration = resources.getConfiguration(); video.w = deviceConfiguration.screenWidthDp; video.h = deviceConfiguration.screenHeightDp; } - video.delivery = new int[]{VIDEO_DELIVERY_DOWNLOAD}; - - imp.video = video; } private void setBannerImpValues(Imp imp) { From 37ea4c7e0b67bd71bb1008b1aeb2612d2df205ca Mon Sep 17 00:00:00 2001 From: shinwan2 Date: Tue, 25 Jun 2024 12:26:37 +0900 Subject: [PATCH 3/3] refactor: Rename method --- .../networking/parameters/BasicParameterBuilder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilder.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilder.java index dd7255c3a..84ce89725 100644 --- a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilder.java +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilder.java @@ -304,13 +304,13 @@ private void setVideoImpValues(Imp imp) { } } - setVideoDimensionsTo(video); + setVideoDimensions(video); video.delivery = new int[]{VIDEO_DELIVERY_DOWNLOAD}; imp.video = video; } - private void setVideoDimensionsTo(@NonNull Video video) { + private void setVideoDimensions(@NonNull Video video) { VideoParameters videoParams = adConfiguration.getVideoParameters(); @Nullable AdSize adSize = null; if (videoParams != null && videoParams.getAdSize() != null) {