@@ -28,6 +28,7 @@ var refThis = this;
28
28
var onEventAdded = false ;
29
29
var isPrebidPubMaticAnalyticsEnabled = CONFIG . isPrebidPubMaticAnalyticsEnabled ( ) ;
30
30
var isSingleImpressionSettingEnabled = CONFIG . isSingleImpressionSettingEnabled ( ) ;
31
+ var defaultAliases = CONSTANTS . DEFAULT_ALIASES ;
31
32
32
33
/* start-test-block */
33
34
exports . isSingleImpressionSettingEnabled = isSingleImpressionSettingEnabled ;
@@ -365,7 +366,9 @@ function generatedKeyCallbackForPbAnalytics(adapterID, adUnits, adapterConfig, i
365
366
var mediaTypeConfig ;
366
367
var partnerConfig ;
367
368
368
- if ( CONFIG . isServerSideAdapter ( adapterID ) ) {
369
+ //If we are using PubMaticServerBidAdapatar then serverSideEabled: do not add config into adUnits.
370
+ //If we are using PrebidServerBidAdapatar then we need to add config into adUnits.
371
+ if ( CONFIG . isServerSideAdapter ( adapterID ) && CONFIG . usePBSAdapter ( ) != true ) {
369
372
util . log ( "Not calling adapter: " + adapterID + ", for " + generatedKey + ", as it is serverSideEnabled." ) ;
370
373
return ;
371
374
}
@@ -479,8 +482,9 @@ function generatedKeyCallback(adapterID, adUnits, adapterConfig, impressionID, g
479
482
}
480
483
}
481
484
482
- //serverSideEabled: do not add config into adUnits
483
- if ( CONFIG . isServerSideAdapter ( adapterID ) ) {
485
+ //If we are using PubMaticServerBidAdapatar then serverSideEabled: do not add config into adUnits.
486
+ //If we are using PrebidServerBidAdapatar then we need to add config into adUnits.
487
+ if ( CONFIG . isServerSideAdapter ( adapterID ) && CONFIG . usePBSAdapter ( ) != true ) {
484
488
util . log ( "Not calling adapter: " + adapterID + ", for " + generatedKey + ", as it is serverSideEnabled." ) ;
485
489
return ;
486
490
}
@@ -542,14 +546,15 @@ function pushAdapterParamsInAdunits(adapterID, generatedKey, impressionID, keyCo
542
546
var slotParams = { } ;
543
547
var mediaTypeConfig = adUnits [ code ] . mediaTypes ;
544
548
var sizes = adUnits [ code ] . sizes ;
549
+ var isWiidRequired = false ;
545
550
if ( mediaTypeConfig && util . isOwnProperty ( mediaTypeConfig , "video" ) && adapterID != "telaria" ) {
546
551
slotParams [ "video" ] = mediaTypeConfig . video ;
547
552
}
548
553
util . forEachOnObject ( keyConfig , function ( key , value ) {
549
554
/* istanbul ignore next */
550
555
slotParams [ key ] = value ;
551
556
} ) ;
552
-
557
+
553
558
if ( isPrebidPubMaticAnalyticsEnabled ) {
554
559
slotParams [ "kgpv" ] = generatedKey ; // TODO : Update this in case of video, change the size to 0x0
555
560
slotParams [ "regexPattern" ] = regexPattern ;
@@ -580,6 +585,12 @@ function pushAdapterParamsInAdunits(adapterID, generatedKey, impressionID, keyCo
580
585
slotParams [ "video" ] = mediaTypeConfig . video ;
581
586
}
582
587
}
588
+ // for pubmaticServer partner we used to pass wiid when isPrebidPubMaticAnalyticsEnabled is false but now we do not
589
+ // get pubmaticServer partner when usePBSAdapter flag is true so we will be adding wiid conditionally.
590
+ if ( isPrebidPubMaticAnalyticsEnabled === false && CONFIG . usePBSAdapter ( ) ) {
591
+ slotParams [ "wiid" ] = impressionID ;
592
+ isWiidRequired = true ;
593
+ }
583
594
584
595
var adapterName = CONFIG . getAdapterNameForAlias ( adapterID ) || adapterID ;
585
596
@@ -616,6 +627,19 @@ function pushAdapterParamsInAdunits(adapterID, generatedKey, impressionID, keyCo
616
627
if ( ( adapterID != "pubmatic2" && adapterName != "pubmatic2" ) && window . PWT . udpv ) {
617
628
slotParams [ "verId" ] = CONFIG . getProfileDisplayVersionID ( ) ;
618
629
}
630
+
631
+ // If we will be using PrebidServerBidAdaptar add wrapper object with profile and version
632
+ if ( CONFIG . usePBSAdapter ( ) == true && CONFIG . isServerSideAdapter ( adapterID ) ) {
633
+ slotParams [ "wrapper" ] = {
634
+ profile : parseInt ( CONF . pwt . pid ) ,
635
+ version : parseInt ( CONF . pwt . pdvid )
636
+ } ;
637
+ // If mapping is regex then we should pass hashedKey to adSlot params earlier it was handled on s2s side.
638
+ if ( slotParams [ "hashedKey" ] ) {
639
+ slotParams [ "adSlot" ] = slotParams [ "hashedKey" ] ;
640
+ }
641
+ }
642
+
619
643
// We are removing mimes because it merges with the existing adUnit mimes
620
644
// if(slotParams["video"] && slotParams["video"]["mimes"]){
621
645
// delete slotParams["video"]["mimes"];
@@ -630,6 +654,9 @@ function pushAdapterParamsInAdunits(adapterID, generatedKey, impressionID, keyCo
630
654
slotParams [ key ] = value ;
631
655
} ) ;
632
656
slotParams [ "cf" ] = size [ 0 ] + "x" + size [ 1 ] ;
657
+ if ( isWiidRequired ) {
658
+ slotParams [ "wiid" ] = impressionID ;
659
+ }
633
660
adUnits [ code ] . bids . push ( { bidder : adapterID , params : slotParams } ) ;
634
661
} ) ;
635
662
break ;
@@ -643,6 +670,9 @@ function pushAdapterParamsInAdunits(adapterID, generatedKey, impressionID, keyCo
643
670
} ) ;
644
671
slotParams [ "width" ] = size [ 0 ] ;
645
672
slotParams [ "height" ] = size [ 1 ] ;
673
+ if ( isWiidRequired ) {
674
+ slotParams [ "wiid" ] = impressionID ;
675
+ }
646
676
if ( ! ( refThis . isSingleImpressionSettingEnabled && isAdUnitsCodeContainBidder ( adUnits , code , adapterID ) ) ) {
647
677
adUnits [ code ] . bids . push ( { bidder : adapterID , params : slotParams } ) ;
648
678
}
@@ -657,6 +687,9 @@ function pushAdapterParamsInAdunits(adapterID, generatedKey, impressionID, keyCo
657
687
slotParams [ key ] = value ;
658
688
} ) ;
659
689
slotParams [ "adSize" ] = size [ 0 ] + "x" + size [ 1 ] ;
690
+ if ( isWiidRequired ) {
691
+ slotParams [ "wiid" ] = impressionID ;
692
+ }
660
693
if ( ! ( refThis . isSingleImpressionSettingEnabled && isAdUnitsCodeContainBidder ( adUnits , code , adapterID ) ) ) {
661
694
adUnits [ code ] . bids . push ( { bidder : adapterID , params : slotParams } ) ;
662
695
}
@@ -681,6 +714,9 @@ function pushAdapterParamsInAdunits(adapterID, generatedKey, impressionID, keyCo
681
714
sltParams [ "id" ] = keyConfig [ "id" ] ;
682
715
}
683
716
sltParams [ "size" ] = size ;
717
+ if ( isWiidRequired ) {
718
+ sltParams [ "wiid" ] = impressionID ;
719
+ }
684
720
adUnits [ code ] . bids . push ( { bidder : adapterID , params : sltParams } ) ;
685
721
} ) ;
686
722
break ;
@@ -862,15 +898,23 @@ function generateAdUnitsArray(activeSlots, impressionID){
862
898
/* istanbul ignore else */
863
899
if ( adapterID !== refThis . parentAdapterID ) {
864
900
865
- //serverSideEabled: we do not want to throttle them at client-side
901
+ // If we will be using PrebidServerBidAdapatar then we need to check throttling for
902
+ // serverEnabled partners at client-side
866
903
/* istanbul ignore if */
867
- if ( CONFIG . isServerSideAdapter ( adapterID ) || refThis . throttleAdapter ( randomNumberBelow100 , adapterID ) == false ) {
868
- util . forEachOnObject ( activeSlots , function ( j , slot ) {
869
- bidManager . setCallInitTime ( slot . getDivID ( ) , adapterID ) ;
870
- } ) ;
871
- refThis . generatePbConf ( adapterID , adapterConfig , activeSlots , adUnits , impressionID ) ;
872
- } else {
873
- util . log ( adapterID + CONSTANTS . MESSAGES . M2 ) ;
904
+ if ( CONFIG . usePBSAdapter ( ) == true && CONFIG . isServerSideAdapter ( adapterID ) ) {
905
+ if ( refThis . throttleAdapter ( randomNumberBelow100 , adapterID ) == false ) {
906
+ refThis . generateConfig ( adapterID , adapterConfig , activeSlots , adUnits , impressionID ) ;
907
+ } else {
908
+ util . log ( adapterID + CONSTANTS . MESSAGES . M2 ) ;
909
+ }
910
+ } else {
911
+ // serverSideEabled: we do not want to throttle them at client-side
912
+ /* istanbul ignore if */
913
+ if ( CONFIG . isServerSideAdapter ( adapterID ) || refThis . throttleAdapter ( randomNumberBelow100 , adapterID ) == false ) {
914
+ refThis . generateConfig ( adapterID , adapterConfig , activeSlots , adUnits , impressionID ) ;
915
+ } else {
916
+ util . log ( adapterID + CONSTANTS . MESSAGES . M2 ) ;
917
+ }
874
918
}
875
919
}
876
920
} ) ;
@@ -889,6 +933,14 @@ function generateAdUnitsArray(activeSlots, impressionID){
889
933
890
934
exports . generateAdUnitsArray = generateAdUnitsArray ;
891
935
936
+ function generateConfig ( adapterID , adapterConfig , activeSlots , adUnits , impressionID ) {
937
+ util . forEachOnObject ( activeSlots , function ( j , slot ) {
938
+ bidManager . setCallInitTime ( slot . getDivID ( ) , adapterID ) ;
939
+ } ) ;
940
+ refThis . generatePbConf ( adapterID , adapterConfig , activeSlots , adUnits , impressionID ) ;
941
+ }
942
+ exports . generateConfig = generateConfig ;
943
+
892
944
// removeIf(removeLegacyAnalyticsRelatedCode)
893
945
function addOnBidResponseHandler ( ) {
894
946
if ( util . isFunction ( window [ pbNameSpace ] . onEvent ) ) {
@@ -950,6 +1002,10 @@ function setPrebidConfig(){
950
1002
refThis . assignCurrencyConfigIfRequired ( prebidConfig ) ;
951
1003
refThis . assignSchainConfigIfRequired ( prebidConfig ) ;
952
1004
refThis . assignSingleRequestConfigForBidders ( prebidConfig ) ;
1005
+ // if usePBSAdapter is 1 then add s2sConfig
1006
+ if ( CONFIG . usePBSAdapter ( ) ) {
1007
+ refThis . gets2sConfig ( prebidConfig ) ;
1008
+ }
953
1009
// Check for yahoossp bidder and add property {mode: 'all'} to setConfig
954
1010
refThis . checkForYahooSSPBidder ( prebidConfig ) ;
955
1011
// Adding a hook for publishers to modify the Prebid Config we have generated
@@ -964,6 +1020,43 @@ function setPrebidConfig(){
964
1020
965
1021
exports . setPrebidConfig = setPrebidConfig ;
966
1022
1023
+ function gets2sConfig ( prebidConfig ) {
1024
+ var bidderParams = { } ;
1025
+ var s2sBidders = CONFIG . getServerEnabledAdaptars ( ) ;
1026
+ for ( var key in CONF . alias ) {
1027
+ defaultAliases [ key ] = CONF . alias [ key ] ;
1028
+ }
1029
+ var pubmaticAndAliases = CONFIG . getPubMaticAndAlias ( s2sBidders ) ;
1030
+ if ( pubmaticAndAliases . length ) {
1031
+ pubmaticAndAliases . forEach ( function ( bidder ) {
1032
+ bidderParams [ bidder ] = { } ;
1033
+ } )
1034
+ }
1035
+
1036
+ prebidConfig [ "s2sConfig" ] = {
1037
+ accountId : CONFIG . getPublisherId ( ) ,
1038
+ adapter : CONSTANTS . PBSPARAMS . adapter ,
1039
+ enabled : true ,
1040
+ bidders : s2sBidders ,
1041
+ endpoint : CONSTANTS . PBSPARAMS . endpoint ,
1042
+ syncEndpoint : CONSTANTS . PBSPARAMS . syncEndpoint ,
1043
+ timeout : CONFIG . getTimeoutForPBSRequest ( ) ,
1044
+ secure : 1 , // request needs secure assets pass 1
1045
+ extPrebid : {
1046
+ aliases : defaultAliases ,
1047
+ bidderparams : bidderParams ,
1048
+ targeting : {
1049
+ pricegranularity : CONFIG . getPriceGranularity ( )
1050
+ } ,
1051
+ isPrebidPubMaticAnalyticsEnabled : CONFIG . isPrebidPubMaticAnalyticsEnabled ( ) ,
1052
+ isUsePrebidKeysEnabled : CONFIG . isUsePrebidKeysEnabled ( ) ,
1053
+ macros : CONFIG . createMacros ( )
1054
+ }
1055
+ }
1056
+ }
1057
+
1058
+ exports . gets2sConfig = gets2sConfig ;
1059
+
967
1060
function getFloorsConfiguration ( prebidConfig ) {
968
1061
if ( CONFIG . isFloorPriceModuleEnabled ( ) == true ) {
969
1062
prebidConfig [ "floors" ] = {
0 commit comments