prebid.js 7.44.0 → 7.46.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/acuityAdsBidAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/admaticBidAdapter.js +1 -1
- package/dist/adnuntiusBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/appushBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/beyondmediaBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/braveBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/brightcomBidAdapter.js +1 -1
- package/dist/brightcomSSPBidAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/coinzillaBidAdapter.js +1 -1
- package/dist/compassBidAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectIdSystem.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/contentexchangeBidAdapter.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/cwireBidAdapter.js +1 -1
- package/dist/debugging-standalone.js +1 -1
- package/dist/dependencies.json +15 -0
- package/dist/domainOverrideToRootDomain.js +1 -0
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/eskimiBidAdapter.js +1 -0
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/globalsunBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/growthCodeIdSystem.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/iqzoneBidAdapter.js +1 -1
- package/dist/ivsBidAdapter.js +1 -0
- package/dist/ixBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/jwplayerVideoProvider.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/koblerBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/kulturemediaBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/luponmediaBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mathildeadsBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/nativoBidAdapter.js +1 -1
- package/dist/neuwoRtdProvider.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +165 -162
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/onomagicBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/openxOrtbBidAdapter.js +1 -1
- package/dist/operaadsBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/ortbConverter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/pairIdSystem.js +1 -0
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxBidAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.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/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smarthubBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.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/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/truereachBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.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/videoheroesBidAdapter.js +1 -1
- package/dist/vidoomyBidAdapter.js +1 -1
- package/dist/visiblemeasuresBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vrtcalBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yieldoneBidAdapter.js +1 -1
- package/integrationExamples/gpt/fledge_example.html +103 -0
- package/integrationExamples/gpt/prebidServer_fledge_example.html +111 -0
- package/libraries/domainOverrideToRootDomain/index.js +39 -0
- package/libraries/ortbConverter/processors/video.js +1 -0
- package/modules/acuityAdsBidAdapter.js +1 -1
- package/modules/admaticBidAdapter.js +7 -2
- package/modules/adnuntiusBidAdapter.js +3 -1
- package/modules/amxBidAdapter.js +1 -1
- package/modules/amxIdSystem.js +23 -20
- package/modules/amxIdSystem.md +7 -7
- package/modules/appnexusBidAdapter.js +108 -102
- package/modules/appushBidAdapter.js +1 -1
- package/modules/beyondmediaBidAdapter.js +1 -1
- package/modules/bidwatchAnalyticsAdapter.js +2 -0
- package/modules/braveBidAdapter.js +1 -1
- package/modules/brightcomBidAdapter.js +1 -1
- package/modules/brightcomSSPBidAdapter.js +1 -1
- package/modules/coinzillaBidAdapter.js +1 -2
- package/modules/compassBidAdapter.js +1 -1
- package/modules/connectIdSystem.js +96 -21
- package/modules/connectIdSystem.md +6 -5
- package/modules/contentexchangeBidAdapter.js +1 -1
- package/modules/conversantBidAdapter.js +3 -0
- package/modules/criteoBidAdapter.js +5 -1
- package/modules/eskimiBidAdapter.js +72 -0
- package/modules/eskimiBidAdapter.md +34 -0
- package/modules/freewheel-sspBidAdapter.js +8 -0
- package/modules/glimpseBidAdapter.js +1 -2
- package/modules/globalsunBidAdapter.js +1 -1
- package/modules/gridBidAdapter.js +43 -20
- package/modules/growthCodeIdSystem.js +18 -15
- package/modules/gumgumBidAdapter.js +1 -1
- package/modules/iqzoneBidAdapter.js +1 -1
- package/modules/ivsBidAdapter.js +85 -0
- package/modules/ivsBidAdapter.md +34 -0
- package/modules/ixBidAdapter.js +72 -105
- package/modules/jwplayerVideoProvider.js +25 -32
- package/modules/kargoBidAdapter.js +473 -246
- package/modules/koblerBidAdapter.js +1 -2
- package/modules/kueezBidAdapter.js +1 -1
- package/modules/kueezRtbBidAdapter.js +16 -4
- package/modules/liveIntentIdSystem.js +8 -0
- package/modules/luponmediaBidAdapter.js +1 -1
- package/modules/magniteAnalyticsAdapter.js +76 -3
- package/modules/mathildeadsBidAdapter.js +1 -1
- package/modules/medianetBidAdapter.js +1 -1
- package/modules/mediasquareBidAdapter.js +2 -1
- package/modules/mgidBidAdapter.js +178 -26
- package/modules/minutemediaBidAdapter.js +1 -1
- package/modules/minutemediaplusBidAdapter.js +16 -4
- package/modules/nativoBidAdapter.js +110 -21
- package/modules/neuwoRtdProvider.js +0 -2
- package/modules/oguryBidAdapter.js +3 -2
- package/modules/onomagicBidAdapter.js +1 -2
- package/modules/openxBidAdapter.js +192 -563
- package/modules/openxBidAdapter.md +22 -20
- package/modules/openxOrtbBidAdapter.js +13 -11
- package/modules/openxOrtbBidAdapter.md +5 -3
- package/modules/operaadsBidAdapter.js +1 -1
- package/modules/pairIdSystem.js +79 -0
- package/modules/pubmaticBidAdapter.js +13 -10
- package/modules/pubxBidAdapter.js +5 -2
- package/modules/riseBidAdapter.js +1 -1
- package/modules/sharedIdSystem.js +4 -27
- package/modules/sharethroughBidAdapter.js +1 -1
- package/modules/shinezBidAdapter.js +1 -1
- package/modules/smarthubBidAdapter.js +1 -1
- package/modules/synacormediaBidAdapter.js +1 -3
- package/modules/truereachBidAdapter.js +1 -2
- package/modules/userId/eids.js +24 -0
- package/modules/userId/eids.md +16 -0
- package/modules/videoheroesBidAdapter.js +1 -1
- package/modules/vidoomyBidAdapter.js +33 -4
- package/modules/visiblemeasuresBidAdapter.js +1 -1
- package/modules/vrtcalBidAdapter.js +1 -1
- package/modules/yieldmoBidAdapter.js +15 -5
- package/modules/yieldoneBidAdapter.js +1 -1
- package/package.json +1 -1
- package/src/Renderer.js +2 -1
- package/src/config.js +78 -127
- package/src/native.js +5 -1
- package/test/spec/auctionmanager_spec.js +2 -2
- package/test/spec/libraries/domainOverrideToRootDomain/index_spec.js +77 -0
- package/test/spec/modules/1plusXRtdProvider_spec.js +8 -7
- package/test/spec/modules/acuityAdsBidAdapter_spec.js +2 -1
- package/test/spec/modules/adagioBidAdapter_spec.js +0 -25
- package/test/spec/modules/admaticBidAdapter_spec.js +1 -1
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +2 -1
- package/test/spec/modules/amxIdSystem_spec.js +13 -26
- package/test/spec/modules/appnexusBidAdapter_spec.js +464 -448
- package/test/spec/modules/appushBidAdapter_spec.js +2 -1
- package/test/spec/modules/axonixBidAdapter_spec.js +0 -27
- package/test/spec/modules/beyondmediaBidAdapter_spec.js +2 -1
- package/test/spec/modules/big-richmediaBidAdapter_spec.js +68 -64
- package/test/spec/modules/compassBidAdapter_spec.js +2 -1
- package/test/spec/modules/connectIdSystem_spec.js +420 -242
- package/test/spec/modules/contentexchangeBidAdapter_spec.js +2 -1
- package/test/spec/modules/conversantBidAdapter_spec.js +1 -0
- package/test/spec/modules/criteoBidAdapter_spec.js +33 -1
- package/test/spec/modules/eids_spec.js +30 -0
- package/test/spec/modules/eskimiBidAdapter_spec.js +155 -0
- package/test/spec/modules/freewheel-sspBidAdapter_spec.js +37 -0
- package/test/spec/modules/globalsunBidAdapter_spec.js +2 -1
- package/test/spec/modules/gridBidAdapter_spec.js +8 -0
- package/test/spec/modules/iqzoneBidAdapter_spec.js +2 -1
- package/test/spec/modules/ivsBidAdapter_spec.js +197 -0
- package/test/spec/modules/ixBidAdapter_spec.js +141 -71
- package/test/spec/modules/kargoBidAdapter_spec.js +297 -140
- package/test/spec/modules/koblerBidAdapter_spec.js +0 -20
- package/test/spec/modules/kueezRtbBidAdapter_spec.js +22 -2
- package/test/spec/modules/liveIntentIdSystem_spec.js +10 -0
- package/test/spec/modules/luponmediaBidAdapter_spec.js +1 -1
- package/test/spec/modules/magniteAnalyticsAdapter_spec.js +129 -1
- package/test/spec/modules/mathildeadsBidAdapter_spec.js +2 -1
- package/test/spec/modules/mgidBidAdapter_spec.js +184 -36
- package/test/spec/modules/minutemediaplusBidAdapter_spec.js +22 -2
- package/test/spec/modules/nativoBidAdapter_spec.js +101 -0
- package/test/spec/modules/neuwoRtdProvider_spec.js +0 -1
- package/test/spec/modules/oguryBidAdapter_spec.js +19 -4
- package/test/spec/modules/ooloAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/openxBidAdapter_spec.js +1157 -1936
- package/test/spec/modules/openxOrtbBidAdapter_spec.js +12 -39
- package/test/spec/modules/pairIdSystem_spec.js +68 -0
- package/test/spec/modules/pubCommonId_spec.js +0 -17
- package/test/spec/modules/pubmaticBidAdapter_spec.js +868 -867
- package/test/spec/modules/pubxBidAdapter_spec.js +10 -2
- package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -5
- package/test/spec/modules/sharedIdSystem_spec.js +0 -46
- package/test/spec/modules/sharethroughBidAdapter_spec.js +2 -1
- package/test/spec/modules/smarthubBidAdapter_spec.js +2 -1
- package/test/spec/modules/synacormediaBidAdapter_spec.js +0 -26
- package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +17 -4
- package/test/spec/modules/vidoomyBidAdapter_spec.js +58 -0
- package/test/spec/modules/visiblemeasuresBidAdapter_spec.js +2 -1
- package/test/spec/modules/vrtcalBidAdapter_spec.js +3 -2
- package/test/spec/modules/yieldmoBidAdapter_spec.js +19 -1
- package/test/spec/renderer_spec.js +1 -2
- package/test/spec/unit/pbjs_api_spec.js +19 -3
- package/test/test_index.js +13 -3
- package/dist/gridNMBidAdapter.js +0 -1
- package/modules/gridNMBidAdapter.js +0 -422
- package/modules/gridNMBidAdapter.md +0 -39
- package/test/spec/modules/gridNMBidAdapter_spec.js +0 -636
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { deepAccess, isEmpty } from '../src/utils.js'
|
|
2
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js'
|
|
3
3
|
import { BANNER } from '../src/mediaTypes.js'
|
|
4
|
+
import { getGlobal } from '../src/prebidGlobal.js'
|
|
4
5
|
// import { config } from 'src/config'
|
|
5
6
|
|
|
6
7
|
const BIDDER_CODE = 'nativo'
|
|
@@ -14,6 +15,8 @@ const SUPPORTED_AD_TYPES = [BANNER]
|
|
|
14
15
|
const FLOOR_PRICE_CURRENCY = 'USD'
|
|
15
16
|
const PRICE_FLOOR_WILDCARD = '*'
|
|
16
17
|
|
|
18
|
+
const localPbjsRef = getGlobal()
|
|
19
|
+
|
|
17
20
|
/**
|
|
18
21
|
* Keep track of bid data by keys
|
|
19
22
|
* @returns {Object} - Map of bid data that can be referenced by multiple keys
|
|
@@ -133,6 +136,9 @@ export const spec = {
|
|
|
133
136
|
* @return ServerRequest Info describing the request to the server.
|
|
134
137
|
*/
|
|
135
138
|
buildRequests: function (validBidRequests, bidderRequest) {
|
|
139
|
+
const requestData = new RequestData()
|
|
140
|
+
requestData.addBidRequestDataSource(new UserEIDs())
|
|
141
|
+
|
|
136
142
|
// Parse values from bid requests
|
|
137
143
|
const placementIds = new Set()
|
|
138
144
|
const bidDataMap = BidDataMap()
|
|
@@ -166,6 +172,8 @@ export const spec = {
|
|
|
166
172
|
if (bidRequestFloorPriceData) {
|
|
167
173
|
floorPriceData[bidRequest.adUnitCode] = bidRequestFloorPriceData
|
|
168
174
|
}
|
|
175
|
+
|
|
176
|
+
requestData.processBidRequestData(bidRequest, bidderRequest)
|
|
169
177
|
})
|
|
170
178
|
bidRequestMap[bidderRequest.bidderRequestId] = bidDataMap
|
|
171
179
|
|
|
@@ -174,6 +182,10 @@ export const spec = {
|
|
|
174
182
|
|
|
175
183
|
// Build basic required QS Params
|
|
176
184
|
let params = [
|
|
185
|
+
// Prebid version
|
|
186
|
+
{
|
|
187
|
+
key: 'ntv_pbv', value: localPbjsRef.version
|
|
188
|
+
},
|
|
177
189
|
// Prebid request id
|
|
178
190
|
{ key: 'ntv_pb_rid', value: bidderRequest.bidderRequestId },
|
|
179
191
|
// Ad unit data
|
|
@@ -255,9 +267,12 @@ export const spec = {
|
|
|
255
267
|
params.unshift({ key: 'us_privacy', value: bidderRequest.uspConsent })
|
|
256
268
|
}
|
|
257
269
|
|
|
270
|
+
const qsParamStrings = [requestData.getRequestDataQueryString(), arrayToQS(params)]
|
|
271
|
+
const requestUrl = buildRequestUrl(BIDDER_ENDPOINT, qsParamStrings)
|
|
272
|
+
|
|
258
273
|
let serverRequest = {
|
|
259
274
|
method: 'GET',
|
|
260
|
-
url:
|
|
275
|
+
url: requestUrl
|
|
261
276
|
}
|
|
262
277
|
|
|
263
278
|
return serverRequest
|
|
@@ -404,13 +419,6 @@ export const spec = {
|
|
|
404
419
|
return syncs
|
|
405
420
|
},
|
|
406
421
|
|
|
407
|
-
/**
|
|
408
|
-
* Will be called when an adpater timed out for an auction.
|
|
409
|
-
* Adapter can fire a ajax or pixel call to register a timeout at thier end.
|
|
410
|
-
* @param {Object} timeoutData - Timeout specific data
|
|
411
|
-
*/
|
|
412
|
-
onTimeout: function (timeoutData) {},
|
|
413
|
-
|
|
414
422
|
/**
|
|
415
423
|
* Will be called when a bid from the adapter won the auction.
|
|
416
424
|
* @param {Object} bid - The bid that won the auction
|
|
@@ -425,12 +433,6 @@ export const spec = {
|
|
|
425
433
|
appendFilterData(campaignsToFilter, ext.campaignsToFilter)
|
|
426
434
|
},
|
|
427
435
|
|
|
428
|
-
/**
|
|
429
|
-
* Will be called when the adserver targeting has been set for a bid from the adapter.
|
|
430
|
-
* @param {Object} bidder - The bid of which the targeting has been set
|
|
431
|
-
*/
|
|
432
|
-
onSetTargeting: function (bid) {},
|
|
433
|
-
|
|
434
436
|
/**
|
|
435
437
|
* Maps Prebid's bidId to Nativo's placementId values per unique bidderRequestId
|
|
436
438
|
* @param {String} bidderRequestId - The unique ID value associated with the bidderRequest
|
|
@@ -451,6 +453,78 @@ export const spec = {
|
|
|
451
453
|
registerBidder(spec)
|
|
452
454
|
|
|
453
455
|
// Utils
|
|
456
|
+
export class RequestData {
|
|
457
|
+
constructor() {
|
|
458
|
+
this.bidRequestDataSources = []
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
addBidRequestDataSource(bidRequestDataSource) {
|
|
462
|
+
if (!(bidRequestDataSource instanceof BidRequestDataSource)) return
|
|
463
|
+
|
|
464
|
+
this.bidRequestDataSources.push(bidRequestDataSource)
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
processBidRequestData(bidRequest, bidderRequest) {
|
|
468
|
+
for (let bidRequestDataSource of this.bidRequestDataSources) {
|
|
469
|
+
bidRequestDataSource.processBidRequestData(bidRequest, bidderRequest)
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
getRequestDataQueryString() {
|
|
474
|
+
if (this.bidRequestDataSources.length == 0) return
|
|
475
|
+
|
|
476
|
+
const queryParams = this.bidRequestDataSources.map(dataSource => dataSource.getRequestQueryString()).filter(queryString => queryString !== '')
|
|
477
|
+
return queryParams.join('&')
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
export class BidRequestDataSource {
|
|
482
|
+
constructor() {
|
|
483
|
+
this.type = 'BidRequestDataSource'
|
|
484
|
+
}
|
|
485
|
+
processBidRequestData(bidRequest, bidderRequest) { }
|
|
486
|
+
getRequestQueryString() { return '' }
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
export class UserEIDs extends BidRequestDataSource {
|
|
490
|
+
constructor() {
|
|
491
|
+
super()
|
|
492
|
+
this.type = 'UserEIDs'
|
|
493
|
+
this.qsParam = new QueryStringParam('ntv_pb_eid')
|
|
494
|
+
this.eids = []
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
processBidRequestData(bidRequest, bidderRequest) {
|
|
498
|
+
if (bidRequest.userIdAsEids === undefined || this.eids.length > 0) return
|
|
499
|
+
this.eids = bidRequest.userIdAsEids
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
getRequestQueryString() {
|
|
503
|
+
if (this.eids.length === 0) return ''
|
|
504
|
+
|
|
505
|
+
const encodedValueArray = encodeToBase64(this.eids)
|
|
506
|
+
this.qsParam.value = encodedValueArray
|
|
507
|
+
return this.qsParam.toString()
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
export class QueryStringParam {
|
|
512
|
+
constructor(key, value) {
|
|
513
|
+
this.key = key
|
|
514
|
+
this.value = value
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
QueryStringParam.prototype.toString = function () {
|
|
519
|
+
return `${this.key}=${this.value}`
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
export function encodeToBase64(value) {
|
|
523
|
+
try {
|
|
524
|
+
return btoa(JSON.stringify(value))
|
|
525
|
+
} catch (err) { }
|
|
526
|
+
}
|
|
527
|
+
|
|
454
528
|
export function parseFloorPriceData(bidRequest) {
|
|
455
529
|
if (typeof bidRequest.getFloor !== 'function') return
|
|
456
530
|
|
|
@@ -589,12 +663,9 @@ function appendQSParamString(str, key, value) {
|
|
|
589
663
|
* @returns
|
|
590
664
|
*/
|
|
591
665
|
function arrayToQS(arr) {
|
|
592
|
-
return (
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
return appendQSParamString(value, obj.key, obj.value)
|
|
596
|
-
}, '')
|
|
597
|
-
)
|
|
666
|
+
return arr.reduce((value, obj) => {
|
|
667
|
+
return appendQSParamString(value, obj.key, obj.value)
|
|
668
|
+
}, '')
|
|
598
669
|
}
|
|
599
670
|
|
|
600
671
|
/**
|
|
@@ -615,6 +686,24 @@ function getLargestSize(sizes, method = area) {
|
|
|
615
686
|
})
|
|
616
687
|
}
|
|
617
688
|
|
|
689
|
+
/**
|
|
690
|
+
* Build the final request url
|
|
691
|
+
*/
|
|
692
|
+
export function buildRequestUrl(baseUrl, qsParamStringArray = []) {
|
|
693
|
+
if (qsParamStringArray.length === 0 || !Array.isArray(qsParamStringArray)) return baseUrl
|
|
694
|
+
|
|
695
|
+
const nonEmptyQSParamStrings = qsParamStringArray.filter(qsParamString => qsParamString.trim() !== '')
|
|
696
|
+
|
|
697
|
+
if (nonEmptyQSParamStrings.length === 0) return baseUrl
|
|
698
|
+
|
|
699
|
+
let requestUrl = `${baseUrl}?${nonEmptyQSParamStrings[0]}`
|
|
700
|
+
for (let i = 1; i < nonEmptyQSParamStrings.length; i++) {
|
|
701
|
+
requestUrl += `&${nonEmptyQSParamStrings[i]}`
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
return requestUrl
|
|
705
|
+
}
|
|
706
|
+
|
|
618
707
|
/**
|
|
619
708
|
* Calculate the area
|
|
620
709
|
* @param {Array} size - [width, height]
|
|
@@ -645,7 +734,7 @@ export function getPageUrlFromBidRequest(bidRequest) {
|
|
|
645
734
|
try {
|
|
646
735
|
const url = new URL(paramPageUrl)
|
|
647
736
|
return url.href
|
|
648
|
-
} catch (err) {}
|
|
737
|
+
} catch (err) { }
|
|
649
738
|
}
|
|
650
739
|
|
|
651
740
|
export function hasProtocol(url) {
|
|
@@ -7,7 +7,6 @@ import CONSTANTS from '../src/constants.json';
|
|
|
7
7
|
|
|
8
8
|
export const DATA_PROVIDER = 'neuwo.ai';
|
|
9
9
|
const SEGTAX_IAB = 6 // IAB - Content Taxonomy version 2
|
|
10
|
-
const CATTAX_IAB = 6 // IAB Tech Lab Content Taxonomy 2.2
|
|
11
10
|
const RESPONSE_IAB_TIER_1 = 'marketing_categories.iab_tier_1'
|
|
12
11
|
const RESPONSE_IAB_TIER_2 = 'marketing_categories.iab_tier_2'
|
|
13
12
|
|
|
@@ -106,7 +105,6 @@ export function injectTopics(topics, bidsConfig) {
|
|
|
106
105
|
|
|
107
106
|
// upgrade category taxonomy to IAB 2.2, inject result to page categories
|
|
108
107
|
if (segment.length > 0) {
|
|
109
|
-
addFragment(bidsConfig.ortb2Fragments.global, 'site.cattax', CATTAX_IAB)
|
|
110
108
|
addFragment(bidsConfig.ortb2Fragments.global, 'site.pagecat', segment.map(s => s.id))
|
|
111
109
|
}
|
|
112
110
|
|
|
@@ -11,7 +11,7 @@ const DEFAULT_TIMEOUT = 1000;
|
|
|
11
11
|
const BID_HOST = 'https://mweb-hb.presage.io/api/header-bidding-request';
|
|
12
12
|
const TIMEOUT_MONITORING_HOST = 'https://ms-ads-monitoring-events.presage.io';
|
|
13
13
|
const MS_COOKIE_SYNC_DOMAIN = 'https://ms-cookie-sync.presage.io';
|
|
14
|
-
const ADAPTER_VERSION = '1.4.
|
|
14
|
+
const ADAPTER_VERSION = '1.4.1';
|
|
15
15
|
|
|
16
16
|
function getClientWidth() {
|
|
17
17
|
const documentElementClientWidth = window.top.document.documentElement.clientWidth
|
|
@@ -90,7 +90,8 @@ function buildRequests(validBidRequests, bidderRequest) {
|
|
|
90
90
|
},
|
|
91
91
|
device: {
|
|
92
92
|
w: getClientWidth(),
|
|
93
|
-
h: getClientHeight()
|
|
93
|
+
h: getClientHeight(),
|
|
94
|
+
pxratio: window.devicePixelRatio
|
|
94
95
|
}
|
|
95
96
|
};
|
|
96
97
|
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
} from '../src/utils.js';
|
|
14
14
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
15
15
|
import {BANNER} from '../src/mediaTypes.js';
|
|
16
|
-
import {config} from '../src/config.js';
|
|
17
16
|
|
|
18
17
|
const BIDDER_CODE = 'onomagic';
|
|
19
18
|
const URL = 'https://bidder.onomagic.com/hb';
|
|
@@ -80,7 +79,7 @@ function buildRequests(bidReqs, bidderRequest) {
|
|
|
80
79
|
w: screen.width,
|
|
81
80
|
h: screen.height
|
|
82
81
|
},
|
|
83
|
-
tmax:
|
|
82
|
+
tmax: bidderRequest?.timeout
|
|
84
83
|
};
|
|
85
84
|
|
|
86
85
|
return {
|