prebid.js 7.25.0 → 7.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/adWMGAnalyticsAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
- package/dist/adlooxAdServerVideo.js +1 -1
- package/dist/adlooxAnalyticsAdapter.js +1 -1
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/admaticBidAdapter.js +1 -1
- package/dist/admixerBidAdapter.js +1 -1
- package/dist/adomikAnalyticsAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adxpremiumAnalyticsAdapter.js +1 -1
- package/dist/aidemBidAdapter.js +1 -0
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/analyticsAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/beopBidAdapter.js +1 -1
- package/dist/bidViewability.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/bucksenseBidAdapter.js +1 -1
- package/dist/byDataAnalyticsAdapter.js +1 -1
- package/dist/captifyRtdProvider.js +1 -0
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/concertAnalyticsAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consentManagement.js +1 -1
- package/dist/consentManagementUsp.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/datablocksAnalyticsAdapter.js +1 -1
- package/dist/dependencies.json +6 -0
- package/dist/dfpAdServerVideo.js +1 -1
- package/dist/discoveryBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningAnalyticsAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/fintezaAnalyticsAdapter.js +1 -1
- package/dist/fluctBidAdapter.js +1 -1
- package/dist/ftrackIdSystem.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/genericAnalyticsAdapter.js +1 -0
- package/dist/geoedgeRtdProvider.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/glomexBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/googleAnalyticsAdapter.js +1 -1
- package/dist/gravitoIdSystem.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/growthCodeAnalyticsAdapter.js +1 -0
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/invisiblyAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/jwplayerRtdProvider.js +1 -1
- package/dist/kargoAnalyticsAdapter.js +1 -1
- package/dist/kinessoIdSystem.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/limelightDigitalBidAdapter.js +1 -1
- package/dist/liveIntentAnalyticsAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/livewrappedAnalyticsAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/lotamePanoramaIdSystem.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +240 -202
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openxAnalyticsAdapter.js +1 -1
- package/dist/optimonAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pbsExtensions.js +1 -1
- package/dist/pianoDmpAnalyticsAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/pubCommonId.js +1 -1
- package/dist/pubProvidedIdSystem.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubperfAnalyticsAdapter.js +1 -1
- package/dist/pubstackAnalyticsAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pulsepointAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/quantcastIdSystem.js +1 -1
- package/dist/rasBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/realvuAnalyticsAdapter.js +1 -1
- package/dist/redtramBidAdapter.js +1 -0
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/relevantAnalyticsAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rivrAnalyticsAdapter.js +1 -1
- package/dist/roxotAnalyticsAdapter.js +1 -1
- package/dist/rtbhouseBidAdapter.js +1 -1
- package/dist/rtdModule.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/s2sTesting.js +1 -1
- package/dist/scaleableAnalyticsAdapter.js +1 -1
- package/dist/schain.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharedIdSystem.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smartytechBidAdapter.js +1 -0
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/sonobiAnalyticsAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/staqAnalyticsAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/tapadIdSystem.js +1 -1
- package/dist/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/teadsIdSystem.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/viqeoBidAdapter.js +1 -0
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/weboramaRtdProvider.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yandexBidAdapter.js +1 -1
- package/dist/yieldlabBidAdapter.js +1 -1
- package/dist/yieldliftBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/dist/zeusPrimeRtdProvider.js +31 -0
- package/integrationExamples/gpt/captifyRtdProvider_example.html +167 -0
- package/integrationExamples/gpt/growthcode.html +134 -0
- package/libraries/analyticsAdapter/AnalyticsAdapter.js +95 -102
- package/modules/.submodules.json +3 -1
- package/modules/admaticBidAdapter.js +116 -58
- package/modules/admaticBidAdapter.md +2 -2
- package/modules/admixerBidAdapter.js +1 -1
- package/modules/aidemBidAdapter.js +492 -0
- package/modules/aidemBidAdapter.md +187 -0
- package/modules/beopBidAdapter.js +17 -2
- package/modules/browsiRtdProvider.js +6 -4
- package/modules/bucksenseBidAdapter.js +1 -1
- package/modules/captifyRtdProvider.js +146 -0
- package/modules/captifyRtdProvider.md +68 -0
- package/modules/criteoBidAdapter.js +3 -3
- package/modules/discoveryBidAdapter.js +38 -17
- package/modules/discoveryBidAdapter.md +7 -6
- package/modules/eplanningBidAdapter.js +2 -6
- package/modules/fluctBidAdapter.js +5 -0
- package/modules/gdprEnforcement.js +26 -24
- package/modules/genericAnalyticsAdapter.js +157 -0
- package/modules/geoedgeRtdProvider.js +22 -0
- package/modules/glomexBidAdapter.js +2 -0
- package/modules/gravitoIdSystem.js +3 -4
- package/modules/gridBidAdapter.js +441 -23
- package/modules/gridNMBidAdapter.js +1 -1
- package/modules/growthCodeAnalyticsAdapter.js +176 -0
- package/modules/growthCodeAnalyticsAdapter.md +41 -0
- package/modules/impactifyBidAdapter.js +19 -1
- package/modules/jwplayerRtdProvider.js +1 -2
- package/modules/limelightDigitalBidAdapter.js +1 -1
- package/modules/minutemediaBidAdapter.md +3 -3
- package/modules/nextMillenniumBidAdapter.js +19 -23
- package/modules/nexx360BidAdapter.js +264 -138
- package/modules/pubCommonId.js +2 -1
- package/modules/pubProvidedIdSystem.js +2 -0
- package/modules/rasBidAdapter.js +8 -3
- package/modules/rasBidAdapter.md +16 -15
- package/modules/redtramBidAdapter.js +155 -0
- package/modules/redtramBidAdapter.md +33 -0
- package/modules/riseBidAdapter.js +15 -0
- package/modules/riseBidAdapter.md +3 -3
- package/modules/rtbhouseBidAdapter.js +90 -29
- package/modules/rubiconBidAdapter.js +2 -1
- package/modules/seedtagBidAdapter.js +67 -56
- package/modules/seedtagBidAdapter.md +60 -0
- package/modules/sharedIdSystem.js +3 -1
- package/modules/smartadserverBidAdapter.js +6 -2
- package/modules/smartxBidAdapter.js +11 -8
- package/modules/smartytechBidAdapter.js +78 -0
- package/modules/smartytechBidAdapter.md +44 -0
- package/modules/smnBidAdapter.md +52 -0
- package/modules/taboolaBidAdapter.js +3 -3
- package/modules/taboolaBidAdapter.md +0 -2
- package/modules/tappxBidAdapter.js +21 -6
- package/modules/tripleliftBidAdapter.js +1 -1
- package/modules/ttdBidAdapter.js +8 -3
- package/modules/userId/index.js +1 -1
- package/modules/vidazooBidAdapter.js +26 -3
- package/modules/viqeoBidAdapter.js +180 -0
- package/modules/viqeoBidAdapter.md +56 -0
- package/modules/yandexBidAdapter.js +85 -19
- package/modules/yandexBidAdapter.md +7 -7
- package/modules/yieldlabBidAdapter.js +29 -12
- package/modules/yieldliftBidAdapter.js +3 -3
- package/modules/yieldoneBidAdapter.js +60 -8
- package/modules/yieldoneBidAdapter.md +109 -9
- package/modules/zeta_global_sspBidAdapter.js +4 -0
- package/modules/zeusPrimeRtdProvider.js +357 -0
- package/modules/zeusPrimeRtdProvider.md +60 -0
- package/package.json +1 -1
- package/src/adloader.js +0 -1
- package/src/auction.js +19 -3
- package/src/consentHandler.js +8 -0
- package/src/events.js +4 -0
- package/src/native.js +31 -20
- package/src/refererDetection.js +6 -1
- package/src/storageManager.js +6 -3
- package/test/helpers/analytics.js +34 -0
- package/test/mocks/analyticsStub.js +3 -1
- package/test/spec/AnalyticsAdapter_spec.js +119 -116
- package/test/spec/auctionmanager_spec.js +86 -0
- package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +10 -8
- package/test/spec/modules/adagioAnalyticsAdapter_spec.js +18 -25
- package/test/spec/modules/admaticBidAdapter_spec.js +262 -3
- package/test/spec/modules/aidemBidAdapter_spec.js +664 -0
- package/test/spec/modules/beopBidAdapter_spec.js +52 -0
- package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +0 -2
- package/test/spec/modules/browsiRtdProvider_spec.js +2 -1
- package/test/spec/modules/captifyRtdProvider_spec.js +253 -0
- package/test/spec/modules/concertAnalyticsAdapter_spec.js +2 -4
- package/test/spec/modules/discoveryBidAdapter_spec.js +9 -8
- package/test/spec/modules/enrichmentFpdModule_spec.js +3 -2
- package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +0 -3
- package/test/spec/modules/eplanningBidAdapter_spec.js +4 -4
- package/test/spec/modules/fluctBidAdapter_spec.js +37 -1
- package/test/spec/modules/fpdModule_spec.js +1 -1
- package/test/spec/modules/gdprEnforcement_spec.js +115 -68
- package/test/spec/modules/genericAnalyticsAdapter_spec.js +284 -0
- package/test/spec/modules/geoedgeRtdProvider_spec.js +15 -0
- package/test/spec/modules/glomexBidAdapter_spec.js +4 -0
- package/test/spec/modules/gravitoIdSystem_spec.js +1 -1
- package/test/spec/modules/gridBidAdapter_spec.js +289 -1
- package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +70 -0
- package/test/spec/modules/impactifyBidAdapter_spec.js +13 -0
- package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +17 -27
- package/test/spec/modules/jwplayerRtdProvider_spec.js +3 -3
- package/test/spec/modules/konduitAnalyticsAdapter_spec.js +0 -2
- package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -6
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +7 -1
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +4 -3
- package/test/spec/modules/nexx360BidAdapter_spec.js +441 -221
- package/test/spec/modules/optimonAnalyticsAdapter_spec.js +3 -11
- package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +4 -11
- package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +3 -12
- package/test/spec/modules/pubperfAnalyticsAdapter_spec.js +6 -19
- package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +3 -17
- package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +13 -19
- package/test/spec/modules/rasBidAdapter_spec.js +5 -1
- package/test/spec/modules/redtramBidAdapter_spec.js +256 -0
- package/test/spec/modules/riseBidAdapter_spec.js +24 -0
- package/test/spec/modules/rtbhouseBidAdapter_spec.js +79 -0
- package/test/spec/modules/seedtagBidAdapter_spec.js +65 -92
- package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +4 -8
- package/test/spec/modules/smartadserverBidAdapter_spec.js +80 -0
- package/test/spec/modules/smartxBidAdapter_spec.js +32 -0
- package/test/spec/modules/smartytechBidAdapter_spec.js +162 -0
- package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +6 -18
- package/test/spec/modules/taboolaBidAdapter_spec.js +0 -77
- package/test/spec/modules/tripleliftBidAdapter_spec.js +3 -10
- package/test/spec/modules/ttdBidAdapter_spec.js +27 -0
- package/test/spec/modules/vidazooBidAdapter_spec.js +39 -24
- package/test/spec/modules/viqeoBidAdapter_spec.js +124 -0
- package/test/spec/modules/yandexBidAdapter_spec.js +22 -13
- package/test/spec/modules/yieldlabBidAdapter_spec.js +174 -20
- package/test/spec/modules/yieldliftBidAdapter_spec.js +1 -1
- package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +5 -2
- package/test/spec/modules/yieldoneBidAdapter_spec.js +30 -6
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +16 -1
- package/test/spec/modules/zeusPrimeRtdProvider_spec.js +410 -0
- package/test/spec/native_spec.js +68 -56
- package/test/spec/refererDetection_spec.js +45 -7
- package/test/spec/unit/core/storageManager_spec.js +2 -1
|
@@ -59,3 +59,63 @@ const adUnits = [
|
|
|
59
59
|
}
|
|
60
60
|
]
|
|
61
61
|
```
|
|
62
|
+
|
|
63
|
+
## InBanner
|
|
64
|
+
```js
|
|
65
|
+
const adUnits = [
|
|
66
|
+
{
|
|
67
|
+
code: '/21804003197/prebid_test_300x250',
|
|
68
|
+
mediaTypes: {
|
|
69
|
+
banner: {
|
|
70
|
+
sizes: [[300, 250]]
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
bids: [
|
|
74
|
+
{
|
|
75
|
+
bidder: 'seedtag',
|
|
76
|
+
params: {
|
|
77
|
+
publisherId: '0000-0000-01', // required
|
|
78
|
+
adUnitId: '0000', // required
|
|
79
|
+
placement: 'inBanner', // required
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## inStream Video
|
|
88
|
+
```js
|
|
89
|
+
var adUnits = [{
|
|
90
|
+
code: 'video',
|
|
91
|
+
mediaTypes: {
|
|
92
|
+
video: {
|
|
93
|
+
context: 'instream', // required
|
|
94
|
+
playerSize: [640, 360], // required
|
|
95
|
+
// Video object as specified in OpenRTB 2.5
|
|
96
|
+
mimes: ['video/mp4'], // recommended
|
|
97
|
+
minduration: 5, // optional
|
|
98
|
+
maxduration: 60, // optional
|
|
99
|
+
boxingallowed: 1, // optional
|
|
100
|
+
skip: 1, // optional
|
|
101
|
+
startdelay: 1, // optional
|
|
102
|
+
linearity: 1, // optional
|
|
103
|
+
battr: [1, 2], // optional
|
|
104
|
+
maxbitrate: 10, // optional
|
|
105
|
+
playbackmethod: [1], // optional
|
|
106
|
+
delivery: [1], // optional
|
|
107
|
+
placement: 1, // optional
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
bids: [
|
|
111
|
+
{
|
|
112
|
+
bidder: 'seedtag',
|
|
113
|
+
params: {
|
|
114
|
+
publisherId: '0000-0000-01', // required
|
|
115
|
+
adUnitId: '0000', // required
|
|
116
|
+
placement: 'inStream', // required
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
}];
|
|
121
|
+
```
|
|
@@ -9,8 +9,9 @@ import { parseUrl, buildUrl, triggerPixel, logInfo, hasDeviceAccess, generateUUI
|
|
|
9
9
|
import {submodule} from '../src/hook.js';
|
|
10
10
|
import { coppaDataHandler } from '../src/adapterManager.js';
|
|
11
11
|
import {getStorageManager} from '../src/storageManager.js';
|
|
12
|
+
import {VENDORLESS_GVLID} from '../src/consentHandler.js';
|
|
12
13
|
|
|
13
|
-
export const storage = getStorageManager({moduleName: 'pubCommonId'});
|
|
14
|
+
export const storage = getStorageManager({moduleName: 'pubCommonId', gvlid: VENDORLESS_GVLID});
|
|
14
15
|
const COOKIE = 'cookie';
|
|
15
16
|
const LOCAL_STORAGE = 'html5';
|
|
16
17
|
const OPTOUT_NAME = '_pubcid_optout';
|
|
@@ -73,6 +74,7 @@ export const sharedIdSystemSubmodule = {
|
|
|
73
74
|
*/
|
|
74
75
|
name: 'sharedId',
|
|
75
76
|
aliasName: 'pubCommonId',
|
|
77
|
+
gvlid: VENDORLESS_GVLID,
|
|
76
78
|
|
|
77
79
|
/**
|
|
78
80
|
* decode the stored id value for passing to bid requests
|
|
@@ -133,6 +133,8 @@ export const spec = {
|
|
|
133
133
|
// use bidderRequest.bids[] to get bidder-dependent request info
|
|
134
134
|
|
|
135
135
|
const adServerCurrency = config.getConfig('currency.adServerCurrency');
|
|
136
|
+
const sellerDefinedAudience = deepAccess(bidderRequest, 'ortb2.user.data', config.getAnyConfig('ortb2.user.data'));
|
|
137
|
+
const sellerDefinedContext = deepAccess(bidderRequest, 'ortb2.site.content.data', config.getAnyConfig('ortb2.site.content.data'));
|
|
136
138
|
|
|
137
139
|
// pull requested transaction ID from bidderRequest.bids[].transactionId
|
|
138
140
|
return validBidRequests.reduce((bidRequests, bid) => {
|
|
@@ -154,7 +156,9 @@ export const spec = {
|
|
|
154
156
|
timeout: config.getConfig('bidderTimeout'),
|
|
155
157
|
bidId: bid.bidId,
|
|
156
158
|
prebidVersion: '$prebid.version$',
|
|
157
|
-
schain: spec.serializeSupplyChain(bid.schain)
|
|
159
|
+
schain: spec.serializeSupplyChain(bid.schain),
|
|
160
|
+
sda: sellerDefinedAudience,
|
|
161
|
+
sdc: sellerDefinedContext
|
|
158
162
|
};
|
|
159
163
|
|
|
160
164
|
if (bidderRequest && bidderRequest.gdprConsent) {
|
|
@@ -209,7 +213,7 @@ export const spec = {
|
|
|
209
213
|
const bidResponses = [];
|
|
210
214
|
let response = serverResponse.body;
|
|
211
215
|
try {
|
|
212
|
-
if (response && !response.isNoAd) {
|
|
216
|
+
if (response && !response.isNoAd && (response.ad || response.adUrl)) {
|
|
213
217
|
const bidRequest = JSON.parse(bidRequestString.data);
|
|
214
218
|
|
|
215
219
|
let bidResponse = {
|
|
@@ -67,7 +67,6 @@ export const spec = {
|
|
|
67
67
|
* @return ServerRequest Info describing the request to the server.
|
|
68
68
|
*/
|
|
69
69
|
buildRequests: function (bidRequests, bidderRequest) {
|
|
70
|
-
// TODO: does the fallback make sense here?
|
|
71
70
|
const page = bidderRequest.refererInfo.page || bidderRequest.refererInfo.topmostLocation;
|
|
72
71
|
const isPageSecure = !!page.match(/^https:/)
|
|
73
72
|
|
|
@@ -197,6 +196,15 @@ export const spec = {
|
|
|
197
196
|
userExt.fpc = pubcid;
|
|
198
197
|
}
|
|
199
198
|
|
|
199
|
+
// Add schain object if available
|
|
200
|
+
if (bid && bid.schain) {
|
|
201
|
+
requestPayload['source'] = {
|
|
202
|
+
ext: {
|
|
203
|
+
schain: bid.schain
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
|
|
200
208
|
// Only add the user object if it's not empty
|
|
201
209
|
if (!isEmpty(userExt)) {
|
|
202
210
|
requestPayload.user = {
|
|
@@ -204,9 +212,7 @@ export const spec = {
|
|
|
204
212
|
};
|
|
205
213
|
}
|
|
206
214
|
|
|
207
|
-
//
|
|
208
|
-
|
|
209
|
-
// Targeting
|
|
215
|
+
// Add targeting
|
|
210
216
|
if (getBidIdParameter('data', bid.params.user)) {
|
|
211
217
|
var targetingarr = [];
|
|
212
218
|
for (var i = 0; i < bid.params.user.data.length; i++) {
|
|
@@ -225,8 +231,6 @@ export const spec = {
|
|
|
225
231
|
}
|
|
226
232
|
}
|
|
227
233
|
|
|
228
|
-
// Todo: USER ID MODULE
|
|
229
|
-
|
|
230
234
|
requestPayload.user = {
|
|
231
235
|
ext: userExt,
|
|
232
236
|
data: targetingarr
|
|
@@ -241,7 +245,7 @@ export const spec = {
|
|
|
241
245
|
options: {
|
|
242
246
|
contentType: 'application/json',
|
|
243
247
|
customHeaders: {
|
|
244
|
-
'x-openrtb-version': '2.
|
|
248
|
+
'x-openrtb-version': '2.5'
|
|
245
249
|
}
|
|
246
250
|
}
|
|
247
251
|
};
|
|
@@ -269,7 +273,6 @@ export const spec = {
|
|
|
269
273
|
}
|
|
270
274
|
/**
|
|
271
275
|
* Make sure currency and price are the right ones
|
|
272
|
-
* TODO: what about the pre_market_bid partners sizes?
|
|
273
276
|
*/
|
|
274
277
|
_each(currentBidRequest.params.pre_market_bids, function (pmb) {
|
|
275
278
|
if (pmb.deal_id == smartxBid.id) {
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
2
|
+
import {buildUrl} from '../src/utils.js'
|
|
3
|
+
|
|
4
|
+
const BIDDER_CODE = 'smartytech';
|
|
5
|
+
export const ENDPOINT_PROTOCOL = 'https';
|
|
6
|
+
export const ENDPOINT_DOMAIN = 'server.smartytech.io';
|
|
7
|
+
export const ENDPOINT_PATH = '/hb/bidder';
|
|
8
|
+
|
|
9
|
+
export const spec = {
|
|
10
|
+
code: BIDDER_CODE,
|
|
11
|
+
|
|
12
|
+
isBidRequestValid: function (bidRequest) {
|
|
13
|
+
return !!parseInt(bidRequest.params.endpointId);
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
buildRequests: function (validBidRequests, bidderRequest) {
|
|
17
|
+
const referer = bidderRequest?.refererInfo?.page || window.location.href;
|
|
18
|
+
|
|
19
|
+
const bidRequests = validBidRequests.map((validBidRequest) => {
|
|
20
|
+
return {
|
|
21
|
+
endpointId: validBidRequest.params.endpointId,
|
|
22
|
+
adUnitCode: validBidRequest.adUnitCode,
|
|
23
|
+
sizes: validBidRequest.sizes,
|
|
24
|
+
bidId: validBidRequest.bidId,
|
|
25
|
+
referer: referer
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
let adPartnerRequestUrl = buildUrl({
|
|
30
|
+
protocol: ENDPOINT_PROTOCOL,
|
|
31
|
+
hostname: ENDPOINT_DOMAIN,
|
|
32
|
+
pathname: ENDPOINT_PATH,
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
return {
|
|
36
|
+
method: 'POST',
|
|
37
|
+
url: adPartnerRequestUrl,
|
|
38
|
+
data: bidRequests
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
interpretResponse: function (serverResponse, bidRequest) {
|
|
43
|
+
if (typeof serverResponse.body === 'undefined') {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const validBids = bidRequest.data;
|
|
48
|
+
const keys = Object.keys(serverResponse.body)
|
|
49
|
+
const responseBody = serverResponse.body;
|
|
50
|
+
|
|
51
|
+
return keys.filter(key => {
|
|
52
|
+
return responseBody[key].ad
|
|
53
|
+
}).map(key => {
|
|
54
|
+
return {
|
|
55
|
+
bid: validBids.find(b => b.adUnitCode === key),
|
|
56
|
+
response: responseBody[key]
|
|
57
|
+
}
|
|
58
|
+
}).map(item => spec.adResponse(item.bid.bidId, item.response));
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
adResponse: function (requestId, response) {
|
|
62
|
+
const bidObject = {
|
|
63
|
+
requestId,
|
|
64
|
+
ad: response.ad,
|
|
65
|
+
cpm: response.cpm,
|
|
66
|
+
width: response.width,
|
|
67
|
+
height: response.height,
|
|
68
|
+
ttl: 60,
|
|
69
|
+
creativeId: response.creativeId,
|
|
70
|
+
netRevenue: true,
|
|
71
|
+
currency: response.currency,
|
|
72
|
+
}
|
|
73
|
+
return bidObject;
|
|
74
|
+
},
|
|
75
|
+
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
registerBidder(spec);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Overview
|
|
2
|
+
|
|
3
|
+
Module Name: SmartyTech Bidder Adapter
|
|
4
|
+
|
|
5
|
+
Module Type: Bidder Adapter
|
|
6
|
+
|
|
7
|
+
Maintainer: info@adpartner.pro
|
|
8
|
+
|
|
9
|
+
# Description
|
|
10
|
+
|
|
11
|
+
You can use this adapter to get a bid from smartytech.io.
|
|
12
|
+
|
|
13
|
+
About us : https://smartytech.io
|
|
14
|
+
|
|
15
|
+
# Test Parameters
|
|
16
|
+
|
|
17
|
+
```javascript
|
|
18
|
+
var adUnits = [
|
|
19
|
+
{
|
|
20
|
+
code: 'div-smartytech-example',
|
|
21
|
+
sizes: [[300, 250]],
|
|
22
|
+
bids: [
|
|
23
|
+
{
|
|
24
|
+
bidder: "smartytech",
|
|
25
|
+
params: {
|
|
26
|
+
endpointId: 14
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
code: 'div-smartytech-example-2',
|
|
33
|
+
sizes: [[300, 250]],
|
|
34
|
+
bids: [
|
|
35
|
+
{
|
|
36
|
+
bidder: "smartytech",
|
|
37
|
+
params: {
|
|
38
|
+
endpointId: 14
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Overview
|
|
2
|
+
|
|
3
|
+
Module Name: SMN Bidder Adapter
|
|
4
|
+
Module Type: Bidder Adapter
|
|
5
|
+
Maintainer: smnoffice.belgrade@gmail.com
|
|
6
|
+
|
|
7
|
+
# Description
|
|
8
|
+
|
|
9
|
+
Connects to SMN demand source to fetch bids.
|
|
10
|
+
Banner and Video formats are supported.
|
|
11
|
+
Please use ```smn``` as the bidder code.
|
|
12
|
+
|
|
13
|
+
# Test Parameters
|
|
14
|
+
```
|
|
15
|
+
var adUnits = [
|
|
16
|
+
{
|
|
17
|
+
code: 'desktop-banner-ad-div',
|
|
18
|
+
sizes: [[300, 250]], // a display size
|
|
19
|
+
bids: [
|
|
20
|
+
{
|
|
21
|
+
bidder: "smn",
|
|
22
|
+
params: {
|
|
23
|
+
zone: '2eb6bd58-865c-47ce-af7f-a918108c3fd2'
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
},{
|
|
28
|
+
code: 'mobile-banner-ad-div',
|
|
29
|
+
sizes: [[300, 50]], // a mobile size
|
|
30
|
+
bids: [
|
|
31
|
+
{
|
|
32
|
+
bidder: "smn",
|
|
33
|
+
params: {
|
|
34
|
+
zone: '62211486-c50b-4356-9f0f-411778d31fcc'
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},{
|
|
39
|
+
code: 'video-ad',
|
|
40
|
+
sizes: [[300, 50]],
|
|
41
|
+
mediaType: 'video',
|
|
42
|
+
bids: [
|
|
43
|
+
{
|
|
44
|
+
bidder: "smn",
|
|
45
|
+
params: {
|
|
46
|
+
zone: 'ebeb1e79-8cb4-4473-b2d0-2e24b7ff47fd'
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
```
|
|
@@ -9,7 +9,7 @@ import {getStorageManager} from '../src/storageManager.js';
|
|
|
9
9
|
const BIDDER_CODE = 'taboola';
|
|
10
10
|
const GVLID = 42;
|
|
11
11
|
const CURRENCY = 'USD';
|
|
12
|
-
export const END_POINT_URL = 'https://
|
|
12
|
+
export const END_POINT_URL = 'https://display.bidder.taboola.com/OpenRTB/TaboolaHB/auction';
|
|
13
13
|
const USER_ID = 'user-id';
|
|
14
14
|
const STORAGE_KEY = `taboola global:${USER_ID}`;
|
|
15
15
|
const COOKIE_KEY = 'trc_cookie_storage';
|
|
@@ -80,7 +80,7 @@ export const spec = {
|
|
|
80
80
|
buildRequests: (validBidRequests, bidderRequest) => {
|
|
81
81
|
const [bidRequest] = validBidRequests;
|
|
82
82
|
const {refererInfo, gdprConsent = {}, uspConsent} = bidderRequest;
|
|
83
|
-
const {publisherId
|
|
83
|
+
const {publisherId} = bidRequest.params;
|
|
84
84
|
const site = getSiteProperties(bidRequest.params, refererInfo);
|
|
85
85
|
const device = {ua: navigator.userAgent};
|
|
86
86
|
const imps = getImps(validBidRequests);
|
|
@@ -124,7 +124,7 @@ export const spec = {
|
|
|
124
124
|
regs
|
|
125
125
|
};
|
|
126
126
|
|
|
127
|
-
const url = [
|
|
127
|
+
const url = [END_POINT_URL, publisherId].join('/');
|
|
128
128
|
|
|
129
129
|
return {
|
|
130
130
|
url,
|
|
@@ -31,7 +31,6 @@ The Taboola Bidding adapter requires setup before beginning. Please contact us o
|
|
|
31
31
|
bidfloor: 0.25, // Optional - default is null
|
|
32
32
|
bcat: ['IAB1-1'], // Optional - default is []
|
|
33
33
|
badv: ['example.com'], // Optional - default is []
|
|
34
|
-
endpointUrl: ['https://example.com'] // Optional
|
|
35
34
|
}
|
|
36
35
|
}]
|
|
37
36
|
}];
|
|
@@ -46,6 +45,5 @@ The Taboola Bidding adapter requires setup before beginning. Please contact us o
|
|
|
46
45
|
| `bcat` | optional | List of blocked advertiser categories (IAB) | `['IAB1-1']` | `Array` |
|
|
47
46
|
| `badv` | optional | Blocked Advertiser Domains | `'example.com'` | `String Url` |
|
|
48
47
|
| `bidfloor` | optional | CPM bid floor | `0.25` | `Float` |
|
|
49
|
-
| `endpointUrl` | optional | Endpoint Url (only if provided by Taboola) | `https://example.com` | `String` |
|
|
50
48
|
|
|
51
49
|
|
|
@@ -11,7 +11,7 @@ const BIDDER_CODE = 'tappx';
|
|
|
11
11
|
const GVLID_CODE = 628;
|
|
12
12
|
const TTL = 360;
|
|
13
13
|
const CUR = 'USD';
|
|
14
|
-
const TAPPX_BIDDER_VERSION = '0.1.
|
|
14
|
+
const TAPPX_BIDDER_VERSION = '0.1.2';
|
|
15
15
|
const TYPE_CNN = 'prebidjs';
|
|
16
16
|
const LOG_PREFIX = '[TAPPX]: ';
|
|
17
17
|
const VIDEO_SUPPORT = ['instream', 'outstream'];
|
|
@@ -271,12 +271,28 @@ function buildOneRequest(validBidRequests, bidderRequest) {
|
|
|
271
271
|
api[0] = deepAccess(validBidRequests, 'params.api') ? deepAccess(validBidRequests, 'params.api') : [3, 5];
|
|
272
272
|
} else {
|
|
273
273
|
let bundle = _extractPageUrl(validBidRequests, bidderRequest);
|
|
274
|
-
let site = {};
|
|
274
|
+
let site = deepAccess(validBidRequests, 'params.site') || {};
|
|
275
275
|
site.name = bundle;
|
|
276
|
+
site.page = bidderRequest?.refererInfo?.page || deepAccess(validBidRequests, 'params.site.page') || bidderRequest?.refererInfo?.topmostLocation || window.location.href || bundle;
|
|
276
277
|
site.domain = bundle;
|
|
278
|
+
site.ref = bidderRequest?.refererInfo?.ref || window.top.document.referrer || '';
|
|
279
|
+
site.ext = {};
|
|
280
|
+
site.ext.is_amp = bidderRequest?.refererInfo?.isAmp || 0;
|
|
281
|
+
site.ext.page_da = deepAccess(validBidRequests, 'params.site.page') || '-';
|
|
282
|
+
site.ext.page_rip = bidderRequest?.refererInfo?.page || '-';
|
|
283
|
+
site.ext.page_rit = bidderRequest?.refererInfo?.topmostLocation || '-';
|
|
284
|
+
site.ext.page_wlh = window.location.href || '-';
|
|
277
285
|
publisher.name = bundle;
|
|
278
286
|
publisher.domain = bundle;
|
|
287
|
+
let sitename = document.getElementsByTagName('meta')['title'];
|
|
288
|
+
if (sitename && sitename.content) {
|
|
289
|
+
site.name = sitename.content;
|
|
290
|
+
}
|
|
279
291
|
tagid = `${site.name}_typeAdBanVid_${getOs()}`;
|
|
292
|
+
let keywords = document.getElementsByTagName('meta')['keywords'];
|
|
293
|
+
if (keywords && keywords.content) {
|
|
294
|
+
site.keywords = keywords.content;
|
|
295
|
+
}
|
|
280
296
|
payload.site = site;
|
|
281
297
|
}
|
|
282
298
|
// < App/Site object
|
|
@@ -295,9 +311,9 @@ function buildOneRequest(validBidRequests, bidderRequest) {
|
|
|
295
311
|
if (
|
|
296
312
|
((bannerMediaType.sizes[0].indexOf(480) >= 0) && (bannerMediaType.sizes[0].indexOf(320) >= 0)) ||
|
|
297
313
|
((bannerMediaType.sizes[0].indexOf(768) >= 0) && (bannerMediaType.sizes[0].indexOf(1024) >= 0))) {
|
|
298
|
-
banner.pos =
|
|
314
|
+
banner.pos = 0;
|
|
299
315
|
} else {
|
|
300
|
-
banner.pos =
|
|
316
|
+
banner.pos = 0;
|
|
301
317
|
}
|
|
302
318
|
|
|
303
319
|
banner.api = api;
|
|
@@ -565,8 +581,7 @@ export function _checkParamDataType(key, value, datatype) {
|
|
|
565
581
|
}
|
|
566
582
|
|
|
567
583
|
export function _extractPageUrl(validBidRequests, bidderRequest) {
|
|
568
|
-
|
|
569
|
-
let url = bidderRequest?.refererInfo?.page || bidderRequest.refererInfo?.topmostLocation;
|
|
584
|
+
let url = bidderRequest?.refererInfo?.page || bidderRequest?.refererInfo?.topmostLocation;
|
|
570
585
|
return parseDomain(url, {noLeadingWww: true});
|
|
571
586
|
}
|
|
572
587
|
|
|
@@ -29,7 +29,7 @@ export const tripleliftAdapterSpec = {
|
|
|
29
29
|
tlCall = tryAppendQueryString(tlCall, 'v', '$prebid.version$');
|
|
30
30
|
|
|
31
31
|
if (bidderRequest && bidderRequest.refererInfo) {
|
|
32
|
-
let referrer = bidderRequest
|
|
32
|
+
let referrer = bidderRequest.refererInfo.page;
|
|
33
33
|
tlCall = tryAppendQueryString(tlCall, 'referrer', referrer);
|
|
34
34
|
}
|
|
35
35
|
|
package/modules/ttdBidAdapter.js
CHANGED
|
@@ -38,6 +38,10 @@ function getRegs(bidderRequest) {
|
|
|
38
38
|
if (config.getConfig('coppa') === true) {
|
|
39
39
|
regs.coppa = 1;
|
|
40
40
|
}
|
|
41
|
+
if (bidderRequest.ortb2?.regs) {
|
|
42
|
+
utils.mergeDeep(regs, bidderRequest.ortb2.regs);
|
|
43
|
+
}
|
|
44
|
+
|
|
41
45
|
return regs;
|
|
42
46
|
}
|
|
43
47
|
|
|
@@ -132,14 +136,15 @@ function getUser(bidderRequest) {
|
|
|
132
136
|
}
|
|
133
137
|
|
|
134
138
|
function getSite(bidderRequest, firstPartyData) {
|
|
135
|
-
var site = {
|
|
139
|
+
var site = utils.mergeDeep({
|
|
136
140
|
page: utils.deepAccess(bidderRequest, 'refererInfo.page'),
|
|
137
141
|
ref: utils.deepAccess(bidderRequest, 'refererInfo.ref'),
|
|
138
142
|
publisher: {
|
|
139
143
|
id: utils.deepAccess(bidderRequest, 'bids.0.params.publisherId'),
|
|
140
144
|
},
|
|
141
|
-
|
|
142
|
-
|
|
145
|
+
},
|
|
146
|
+
firstPartyData.site
|
|
147
|
+
);
|
|
143
148
|
|
|
144
149
|
var publisherDomain = bidderRequest.refererInfo.domain;
|
|
145
150
|
if (publisherDomain) {
|
package/modules/userId/index.js
CHANGED
|
@@ -240,7 +240,7 @@ export function setStoredValue(submodule, value) {
|
|
|
240
240
|
const valueStr = isPlainObject(value) ? JSON.stringify(value) : value;
|
|
241
241
|
if (storage.type === COOKIE) {
|
|
242
242
|
const setCookie = cookieSetter(submodule);
|
|
243
|
-
setCookie(null,
|
|
243
|
+
setCookie(null, valueStr, expiresStr);
|
|
244
244
|
if (typeof storage.refreshInSeconds === 'number') {
|
|
245
245
|
setCookie('_last', new Date().toUTCString(), expiresStr);
|
|
246
246
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {_each, deepAccess, parseSizesInput, parseUrl, uniques} from '../src/utils.js';
|
|
1
|
+
import { _each, deepAccess, parseSizesInput, parseUrl, uniques, isFn } from '../src/utils.js';
|
|
2
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import { BANNER } from '../src/mediaTypes.js';
|
|
4
4
|
import { getStorageManager } from '../src/storageManager.js';
|
|
5
|
+
import { bidderSettings } from '../src/bidderSettings.js';
|
|
5
6
|
|
|
6
7
|
const GVLID = 744;
|
|
7
8
|
const DEFAULT_SUB_DOMAIN = 'prebid';
|
|
@@ -59,7 +60,8 @@ function isBidRequestValid(bid) {
|
|
|
59
60
|
|
|
60
61
|
function buildRequest(bid, topWindowUrl, sizes, bidderRequest) {
|
|
61
62
|
const { params, bidId, userId, adUnitCode, schain } = bid;
|
|
62
|
-
const {
|
|
63
|
+
const { ext } = params;
|
|
64
|
+
let { bidFloor } = params;
|
|
63
65
|
const hashUrl = hashCode(topWindowUrl);
|
|
64
66
|
const dealId = getNextDealId(hashUrl);
|
|
65
67
|
const uniqueDealId = getUniqueDealId(hashUrl);
|
|
@@ -68,6 +70,23 @@ function buildRequest(bid, topWindowUrl, sizes, bidderRequest) {
|
|
|
68
70
|
const pId = extractPID(params);
|
|
69
71
|
const subDomain = extractSubDomain(params);
|
|
70
72
|
const ptrace = getCacheOpt();
|
|
73
|
+
const isStorageAllowed = bidderSettings.get(BIDDER_CODE, 'storageAllowed');
|
|
74
|
+
|
|
75
|
+
const gpid = deepAccess(bid, 'ortb2Imp.ext.gpid', deepAccess(bid, 'ortb2Imp.ext.data.pbadslot', ''));
|
|
76
|
+
const cat = deepAccess(bidderRequest, 'ortb2.site.cat', []);
|
|
77
|
+
const pagecat = deepAccess(bidderRequest, 'ortb2.site.pagecat', []);
|
|
78
|
+
|
|
79
|
+
if (isFn(bid.getFloor)) {
|
|
80
|
+
const floorInfo = bid.getFloor({
|
|
81
|
+
currency: 'USD',
|
|
82
|
+
mediaType: '*',
|
|
83
|
+
size: '*'
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
if (floorInfo.currency === 'USD') {
|
|
87
|
+
bidFloor = floorInfo.floor;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
71
90
|
|
|
72
91
|
let data = {
|
|
73
92
|
url: encodeURIComponent(topWindowUrl),
|
|
@@ -86,7 +105,11 @@ function buildRequest(bid, topWindowUrl, sizes, bidderRequest) {
|
|
|
86
105
|
prebidVersion: '$prebid.version$',
|
|
87
106
|
res: `${screen.width}x${screen.height}`,
|
|
88
107
|
schain: schain,
|
|
89
|
-
ptrace: ptrace
|
|
108
|
+
ptrace: ptrace,
|
|
109
|
+
isStorageAllowed: isStorageAllowed,
|
|
110
|
+
gpid: gpid,
|
|
111
|
+
cat: cat,
|
|
112
|
+
pagecat: pagecat
|
|
90
113
|
};
|
|
91
114
|
|
|
92
115
|
appendUserIdsToRequestPayload(data, userId);
|