@@ -469,15 +469,20 @@ function buildCdbRequest(context, bidRequests, bidderRequest) {
469
469
if ( bidRequest . params . publisherSubId ) {
470
470
slot . publishersubid = bidRequest . params . publisherSubId ;
471
471
}
472
- if ( bidRequest . params . nativeCallback || deepAccess ( bidRequest , `mediaTypes.${ NATIVE } ` ) ) {
472
+
473
+ if ( bidRequest . params . nativeCallback || hasNativeMediaType ( bidRequest ) ) {
473
474
slot . native = true ;
474
475
if ( ! checkNativeSendId ( bidRequest ) ) {
475
476
logWarn ( LOG_PREFIX + 'all native assets containing URL should be sent as placeholders with sendId(icon, image, clickUrl, displayUrl, privacyLink, privacyIcon)' ) ;
476
477
}
477
- slot . sizes = parseSizes ( deepAccess ( bidRequest , 'mediaTypes.banner.sizes' ) , parseNativeSize ) ;
478
- } else {
478
+ }
479
+
480
+ if ( hasBannerMediaType ( bidRequest ) ) {
479
481
slot . sizes = parseSizes ( deepAccess ( bidRequest , 'mediaTypes.banner.sizes' ) , parseSize ) ;
482
+ } else {
483
+ slot . sizes = [ ] ;
480
484
}
485
+
481
486
if ( hasVideoMediaType ( bidRequest ) ) {
482
487
const video = {
483
488
playersizes : parseSizes ( deepAccess ( bidRequest , 'mediaTypes.video.playerSize' ) , parseSize ) ,
@@ -554,17 +559,18 @@ function parseSize(size) {
554
559
return size [ 0 ] + 'x' + size [ 1 ] ;
555
560
}
556
561
557
- function parseNativeSize ( size ) {
558
- if ( size [ 0 ] === undefined && size [ 1 ] === undefined ) {
559
- return '2x2' ;
560
- }
561
- return size [ 0 ] + 'x' + size [ 1 ] ;
562
- }
563
-
564
562
function hasVideoMediaType ( bidRequest ) {
565
563
return deepAccess ( bidRequest , 'mediaTypes.video' ) !== undefined ;
566
564
}
567
565
566
+ function hasBannerMediaType ( bidRequest ) {
567
+ return deepAccess ( bidRequest , 'mediaTypes.banner' ) !== undefined ;
568
+ }
569
+
570
+ function hasNativeMediaType ( bidRequest ) {
571
+ return deepAccess ( bidRequest , 'mediaTypes.native' ) !== undefined ;
572
+ }
573
+
568
574
function hasValidVideoMediaType ( bidRequest ) {
569
575
let isValid = true ;
570
576
@@ -646,18 +652,18 @@ function enrichSlotWithFloors(slot, bidRequest) {
646
652
if ( bidRequest . mediaTypes ?. banner ) {
647
653
slotFloors . banner = { } ;
648
654
const bannerSizes = parseSizes ( deepAccess ( bidRequest , 'mediaTypes.banner.sizes' ) )
649
- bannerSizes . forEach ( bannerSize => slotFloors . banner [ parseSize ( bannerSize ) . toString ( ) ] = bidRequest . getFloor ( { size : bannerSize , mediaType : BANNER } ) ) ;
655
+ bannerSizes . forEach ( bannerSize => slotFloors . banner [ parseSize ( bannerSize ) . toString ( ) ] = bidRequest . getFloor ( { size : bannerSize , mediaType : BANNER } ) ) ;
650
656
}
651
657
652
658
if ( bidRequest . mediaTypes ?. video ) {
653
659
slotFloors . video = { } ;
654
660
const videoSizes = parseSizes ( deepAccess ( bidRequest , 'mediaTypes.video.playerSize' ) )
655
- videoSizes . forEach ( videoSize => slotFloors . video [ parseSize ( videoSize ) . toString ( ) ] = bidRequest . getFloor ( { size : videoSize , mediaType : VIDEO } ) ) ;
661
+ videoSizes . forEach ( videoSize => slotFloors . video [ parseSize ( videoSize ) . toString ( ) ] = bidRequest . getFloor ( { size : videoSize , mediaType : VIDEO } ) ) ;
656
662
}
657
663
658
664
if ( bidRequest . mediaTypes ?. native ) {
659
665
slotFloors . native = { } ;
660
- slotFloors . native [ '*' ] = bidRequest . getFloor ( { size : '*' , mediaType : NATIVE } ) ;
666
+ slotFloors . native [ '*' ] = bidRequest . getFloor ( { size : '*' , mediaType : NATIVE } ) ;
661
667
}
662
668
663
669
if ( Object . keys ( slotFloors ) . length > 0 ) {
0 commit comments