prebid.js 8.26.0 → 8.28.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/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.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/adnuntiusBidAdapter.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adstirBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/agmaAnalyticsAdapter.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/asoBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bizzclickBidAdapter.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.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/cwireBidAdapter.js +1 -1
- package/dist/deepintentBidAdapter.js +1 -1
- package/dist/dependencies.json +3 -0
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/flippBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/geoedgeRtdProvider.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/growthCodeRtdProvider.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/identityLinkIdSystem.js +1 -1
- package/dist/illuminBidAdapter.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/invibesBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.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/liveIntentIdSystem.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediagoBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/mgidXBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +156 -156
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pgamsspBidAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +2 -2
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.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/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rtdModule.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/shinezRtbBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.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/sparteoBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/theAdxBidAdapter.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/uid2IdSystem.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/viantOrtbBidAdapter.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/voxBidAdapter.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/modules/adagioAnalyticsAdapter.js +52 -6
- package/modules/adagioBidAdapter.js +25 -16
- package/modules/adnuntiusBidAdapter.js +25 -21
- package/modules/bizzclickBidAdapter.js +55 -300
- package/modules/bizzclickBidAdapter.md +94 -89
- package/modules/browsiRtdProvider.js +2 -2
- package/modules/criteoBidAdapter.js +1 -0
- package/modules/deepintentBidAdapter.js +2 -0
- package/modules/flippBidAdapter.js +1 -1
- package/modules/geoedgeRtdProvider.js +4 -2
- package/modules/growthCodeRtdProvider.js +2 -2
- package/modules/gumgumBidAdapter.js +3 -3
- package/modules/identityLinkIdSystem.js +1 -2
- package/modules/invibesBidAdapter.js +50 -6
- package/modules/liveIntentIdSystem.js +17 -1
- package/modules/mediagoBidAdapter.js +106 -34
- package/modules/mgidXBidAdapter.js +6 -1
- package/modules/minutemediaBidAdapter.js +9 -7
- package/modules/minutemediaBidAdapter.md +1 -0
- package/modules/nextMillenniumBidAdapter.js +170 -113
- package/modules/pgamsspBidAdapter.js +18 -1
- package/modules/pubmaticAnalyticsAdapter.js +30 -9
- package/modules/pubmaticBidAdapter.js +3 -1
- package/modules/riseBidAdapter.js +11 -8
- package/modules/riseBidAdapter.md +1 -0
- package/modules/rtdModule/index.js +2 -1
- package/modules/sovrnBidAdapter.js +5 -0
- package/modules/sparteoBidAdapter.js +10 -5
- package/modules/taboolaBidAdapter.js +8 -0
- package/modules/teadsBidAdapter.js +7 -0
- package/modules/theAdxBidAdapter.js +10 -2
- package/modules/theAdxBidAdapter.md +10 -9
- package/modules/unrulyBidAdapter.js +8 -1
- package/modules/userId/eids.js +2 -2
- package/modules/viantOrtbBidAdapter.js +1 -1
- package/modules/visxBidAdapter.js +23 -0
- package/modules/voxBidAdapter.js +2 -0
- package/package.json +1 -1
- package/src/auction.js +1 -1
- package/src/constants.json +5 -2
- package/src/events.js +1 -1
- package/test/spec/modules/adagioAnalyticsAdapter_spec.js +83 -26
- package/test/spec/modules/adagioBidAdapter_spec.js +0 -11
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +1 -1
- package/test/spec/modules/bizzclickBidAdapter_spec.js +229 -340
- package/test/spec/modules/browsiRtdProvider_spec.js +0 -6
- package/test/spec/modules/criteoBidAdapter_spec.js +24 -0
- package/test/spec/modules/eids_spec.js +35 -2
- package/test/spec/modules/geoedgeRtdProvider_spec.js +10 -0
- package/test/spec/modules/gumgumBidAdapter_spec.js +8 -0
- package/test/spec/modules/identityLinkIdSystem_spec.js +0 -18
- package/test/spec/modules/invibesBidAdapter_spec.js +99 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +5 -0
- package/test/spec/modules/mediagoBidAdapter_spec.js +107 -23
- package/test/spec/modules/mgidXBidAdapter_spec.js +9 -4
- package/test/spec/modules/minutemediaBidAdapter_spec.js +10 -0
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +503 -80
- package/test/spec/modules/pgamsspBidAdapter_spec.js +1 -0
- package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +51 -0
- package/test/spec/modules/pubmaticBidAdapter_spec.js +8 -0
- package/test/spec/modules/riseBidAdapter_spec.js +11 -1
- package/test/spec/modules/sovrnBidAdapter_spec.js +35 -0
- package/test/spec/modules/sparteoBidAdapter_spec.js +8 -2
- package/test/spec/modules/taboolaBidAdapter_spec.js +45 -1
- package/test/spec/modules/teadsBidAdapter_spec.js +58 -0
- package/test/spec/modules/theAdxBidAdapter_spec.js +72 -0
- package/test/spec/modules/unrulyBidAdapter_spec.js +7 -4
- package/test/spec/modules/userId_spec.js +19 -1
- package/test/spec/modules/viantOrtbBidAdapter_spec.js +1 -1
- package/test/spec/modules/visxBidAdapter_spec.js +39 -1
- package/test/spec/unit/core/events_spec.js +17 -2
- package/test/spec/unit/pbjs_api_spec.js +7 -0
|
@@ -15,6 +15,7 @@ export const USER_SYNC_IMG_URL = 'https://trc.taboola.com/sg/prebidJS/1/cm';
|
|
|
15
15
|
const USER_ID = 'user-id';
|
|
16
16
|
const STORAGE_KEY = `taboola global:${USER_ID}`;
|
|
17
17
|
const COOKIE_KEY = 'trc_cookie_storage';
|
|
18
|
+
export const EVENT_ENDPOINT = 'https://beacon.bidder.taboola.com';
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* extract User Id by that order:
|
|
@@ -190,6 +191,13 @@ export const spec = {
|
|
|
190
191
|
}
|
|
191
192
|
return syncs;
|
|
192
193
|
},
|
|
194
|
+
onTimeout: (timeoutData) => {
|
|
195
|
+
ajax(EVENT_ENDPOINT + '/timeout', null, JSON.stringify(timeoutData), {method: 'POST'});
|
|
196
|
+
},
|
|
197
|
+
|
|
198
|
+
onBidderError: ({ error, bidderRequest }) => {
|
|
199
|
+
ajax(EVENT_ENDPOINT + '/bidError', null, JSON.stringify(error, bidderRequest), {method: 'POST'});
|
|
200
|
+
},
|
|
193
201
|
};
|
|
194
202
|
|
|
195
203
|
function getSiteProperties({publisherId}, refererInfo, ortb2) {
|
|
@@ -45,6 +45,7 @@ export const spec = {
|
|
|
45
45
|
*/
|
|
46
46
|
buildRequests: function(validBidRequests, bidderRequest) {
|
|
47
47
|
const bids = validBidRequests.map(buildRequestObject);
|
|
48
|
+
const topWindow = window.top;
|
|
48
49
|
|
|
49
50
|
const payload = {
|
|
50
51
|
referrer: getReferrerInfo(bidderRequest),
|
|
@@ -55,6 +56,12 @@ export const spec = {
|
|
|
55
56
|
timeToFirstByte: getTimeToFirstByte(window),
|
|
56
57
|
data: bids,
|
|
57
58
|
deviceWidth: screen.width,
|
|
59
|
+
screenOrientation: screen.orientation?.type,
|
|
60
|
+
historyLength: topWindow.history?.length,
|
|
61
|
+
viewportHeight: topWindow.visualViewport?.height,
|
|
62
|
+
viewportWidth: topWindow.visualViewport?.width,
|
|
63
|
+
hardwareConcurrency: topWindow.navigator?.hardwareConcurrency,
|
|
64
|
+
deviceMemory: topWindow.navigator?.deviceMemory,
|
|
58
65
|
hb_version: '$prebid.version$',
|
|
59
66
|
...getSharedViewerIdParameters(validBidRequests),
|
|
60
67
|
...getFirstPartyTeadsIdParameter(validBidRequests)
|
|
@@ -159,7 +159,6 @@ export const spec = {
|
|
|
159
159
|
withCredentials: true,
|
|
160
160
|
},
|
|
161
161
|
bidder: 'theadx',
|
|
162
|
-
// TODO: is 'page' the right value here?
|
|
163
162
|
referrer: encodeURIComponent(bidderRequest.refererInfo.page || ''),
|
|
164
163
|
data: generatePayload(bidRequest, bidderRequest),
|
|
165
164
|
mediaTypes: bidRequest['mediaTypes'],
|
|
@@ -261,6 +260,7 @@ export const spec = {
|
|
|
261
260
|
ad: creative,
|
|
262
261
|
ttl: ttl || 3000,
|
|
263
262
|
creativeId: bid.crid,
|
|
263
|
+
dealId: bid.dealid || null,
|
|
264
264
|
netRevenue: true,
|
|
265
265
|
currency: responseBody.cur,
|
|
266
266
|
mediaType: mediaType,
|
|
@@ -466,11 +466,19 @@ let generateImpBody = (bidRequest, bidderRequest) => {
|
|
|
466
466
|
} else if (mediaTypes && mediaTypes.native) {
|
|
467
467
|
native = generateNativeComponent(bidRequest, bidderRequest);
|
|
468
468
|
}
|
|
469
|
-
|
|
470
469
|
const result = {
|
|
471
470
|
id: bidRequest.index,
|
|
472
471
|
tagid: bidRequest.params.tagId + '',
|
|
473
472
|
};
|
|
473
|
+
|
|
474
|
+
// deals support
|
|
475
|
+
if (bidRequest.params.deals && Array.isArray(bidRequest.params.deals) && bidRequest.params.deals.length > 0) {
|
|
476
|
+
result.pmp = {
|
|
477
|
+
deals: bidRequest.params.deals,
|
|
478
|
+
private_auction: 0,
|
|
479
|
+
};
|
|
480
|
+
}
|
|
481
|
+
|
|
474
482
|
if (banner) {
|
|
475
483
|
result['banner'] = banner;
|
|
476
484
|
}
|
|
@@ -26,9 +26,9 @@ Module that connects to TheAdx demand sources
|
|
|
26
26
|
{
|
|
27
27
|
bidder: "theadx",
|
|
28
28
|
params: {
|
|
29
|
-
pid:
|
|
30
|
-
wid:
|
|
31
|
-
tagId:
|
|
29
|
+
pid: 1, // publisher id
|
|
30
|
+
wid: 7, //website id
|
|
31
|
+
tagId: 19, //zone id
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
]
|
|
@@ -43,9 +43,10 @@ Module that connects to TheAdx demand sources
|
|
|
43
43
|
{
|
|
44
44
|
bidder: "theadx",
|
|
45
45
|
params: {
|
|
46
|
-
pid:
|
|
47
|
-
wid:
|
|
48
|
-
tagId:
|
|
46
|
+
pid: 1, // publisher id
|
|
47
|
+
wid: 7, //website id
|
|
48
|
+
tagId: 18, //zone id
|
|
49
|
+
deals:[{"id":"theadx:137"}] //optional
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
]
|
|
@@ -80,9 +81,9 @@ Module that connects to TheAdx demand sources
|
|
|
80
81
|
{
|
|
81
82
|
bidder: "theadx",
|
|
82
83
|
params: {
|
|
83
|
-
pid:
|
|
84
|
-
wid:
|
|
85
|
-
tagId:
|
|
84
|
+
pid: 1, // publisher id
|
|
85
|
+
wid: 7, //website id
|
|
86
|
+
tagId: 20, //zone id
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
]
|
|
@@ -80,7 +80,14 @@ const getRequests = (conf, validBidRequests, bidderRequest) => {
|
|
|
80
80
|
|
|
81
81
|
Object.keys(requestBySiteId).forEach((key) => {
|
|
82
82
|
let data = {
|
|
83
|
-
bidderRequest: Object.assign({},
|
|
83
|
+
bidderRequest: Object.assign({},
|
|
84
|
+
{
|
|
85
|
+
bids: requestBySiteId[key],
|
|
86
|
+
invalidBidsCount,
|
|
87
|
+
prebidVersion: '$prebid.version$',
|
|
88
|
+
...bidderRequestData
|
|
89
|
+
}
|
|
90
|
+
)
|
|
84
91
|
};
|
|
85
92
|
|
|
86
93
|
request.push(Object.assign({}, {data, ...conf}));
|
package/modules/userId/eids.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {deepAccess, isFn, isPlainObject, isStr} from '../../src/utils.js';
|
|
1
|
+
import {deepAccess, deepClone, isFn, isPlainObject, isStr} from '../../src/utils.js';
|
|
2
2
|
|
|
3
3
|
export const EID_CONFIG = new Map();
|
|
4
4
|
|
|
@@ -45,7 +45,7 @@ export function createEidsArray(bidRequestUserId) {
|
|
|
45
45
|
|
|
46
46
|
Object.entries(bidRequestUserId).forEach(([name, values]) => {
|
|
47
47
|
values = Array.isArray(values) ? values : [values];
|
|
48
|
-
const eids = name === 'pubProvidedId' ? values : values.map(value => createEidObject(value, name));
|
|
48
|
+
const eids = name === 'pubProvidedId' ? deepClone(values) : values.map(value => createEidObject(value, name));
|
|
49
49
|
eids.filter(eid => eid != null).forEach(collect);
|
|
50
50
|
})
|
|
51
51
|
return Object.values(allEids);
|
|
@@ -5,7 +5,7 @@ import {ortbConverter} from '../libraries/ortbConverter/converter.js'
|
|
|
5
5
|
import {deepAccess, getBidIdParameter, logError} from '../src/utils.js';
|
|
6
6
|
|
|
7
7
|
const BIDDER_CODE = 'viant';
|
|
8
|
-
const ENDPOINT = 'https://bidders-us-east-1.adelphic.net/d/rtb/v25/prebid/
|
|
8
|
+
const ENDPOINT = 'https://bidders-us-east-1.adelphic.net/d/rtb/v25/prebid/bidder'
|
|
9
9
|
|
|
10
10
|
const DEFAULT_BID_TTL = 300;
|
|
11
11
|
const DEFAULT_CURRENCY = 'USD';
|
|
@@ -15,6 +15,7 @@ const TIME_TO_LIVE = 360;
|
|
|
15
15
|
const DEFAULT_CUR = 'EUR';
|
|
16
16
|
const ADAPTER_SYNC_PATH = '/push_sync';
|
|
17
17
|
const TRACK_TIMEOUT_PATH = '/track/bid_timeout';
|
|
18
|
+
const RUNTIME_STATUS_RESPONSE_TIME = 999000;
|
|
18
19
|
const LOG_ERROR_MESS = {
|
|
19
20
|
noAuid: 'Bid from response has no auid parameter - ',
|
|
20
21
|
noAdm: 'Bid from response has no adm parameter - ',
|
|
@@ -33,6 +34,7 @@ const LOG_ERROR_MESS = {
|
|
|
33
34
|
};
|
|
34
35
|
const currencyWhiteList = ['EUR', 'USD', 'GBP', 'PLN'];
|
|
35
36
|
export const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
37
|
+
const _bidResponseTimeLogged = [];
|
|
36
38
|
export const spec = {
|
|
37
39
|
code: BIDDER_CODE,
|
|
38
40
|
gvlid: GVLID,
|
|
@@ -208,6 +210,12 @@ export const spec = {
|
|
|
208
210
|
if (bid.ext && bid.ext.events && bid.ext.events.win) {
|
|
209
211
|
triggerPixel(bid.ext.events.win);
|
|
210
212
|
}
|
|
213
|
+
// Call 'track/runtime' with the corresponding bid.requestId - only once per auction
|
|
214
|
+
if (bid.ext && bid.ext.events && bid.ext.events.runtime && !_bidResponseTimeLogged.includes(bid.auctionId)) {
|
|
215
|
+
_bidResponseTimeLogged.push(bid.auctionId);
|
|
216
|
+
const _roundedTime = _roundResponseTime(bid.timeToRespond, 50);
|
|
217
|
+
triggerPixel(bid.ext.events.runtime.replace('{STATUS_CODE}', RUNTIME_STATUS_RESPONSE_TIME + _roundedTime));
|
|
218
|
+
}
|
|
211
219
|
},
|
|
212
220
|
onTimeout: function(timeoutData) {
|
|
213
221
|
// Call '/track/bid_timeout' with timeout data
|
|
@@ -321,6 +329,10 @@ function _addBidResponse(serverBid, bidsMap, currency, bidResponses) {
|
|
|
321
329
|
|
|
322
330
|
if (serverBid.ext && serverBid.ext.prebid) {
|
|
323
331
|
bidResponse.ext = serverBid.ext.prebid;
|
|
332
|
+
if (serverBid.ext.visx && serverBid.ext.visx.events) {
|
|
333
|
+
const prebidExtEvents = bidResponse.ext.events || {};
|
|
334
|
+
bidResponse.ext.events = Object.assign(prebidExtEvents, serverBid.ext.visx.events);
|
|
335
|
+
}
|
|
324
336
|
}
|
|
325
337
|
|
|
326
338
|
const visxTargeting = deepAccess(serverBid, 'ext.prebid.targeting');
|
|
@@ -434,4 +446,15 @@ function _getUserId() {
|
|
|
434
446
|
return null;
|
|
435
447
|
}
|
|
436
448
|
|
|
449
|
+
function _roundResponseTime(time, timeRange) {
|
|
450
|
+
if (time <= 0) {
|
|
451
|
+
return 0; // Special code for scriptLoadTime of 0 ms or less
|
|
452
|
+
} else if (time > 5000) {
|
|
453
|
+
return 100; // Constant code for scriptLoadTime greater than 5000 ms
|
|
454
|
+
} else {
|
|
455
|
+
const roundedValue = Math.floor((time - 1) / timeRange) + 1;
|
|
456
|
+
return roundedValue;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
437
460
|
registerBidder(spec);
|
package/modules/voxBidAdapter.js
CHANGED
|
@@ -12,6 +12,7 @@ const BIDDER_CODE = 'vox';
|
|
|
12
12
|
const SSP_ENDPOINT = 'https://ssp.hybrid.ai/auction/prebid';
|
|
13
13
|
const VIDEO_RENDERER_URL = 'https://acdn.adnxs.com/video/outstream/ANOutstreamVideo.js';
|
|
14
14
|
const TTL = 60;
|
|
15
|
+
const GVLID = 206;
|
|
15
16
|
|
|
16
17
|
function buildBidRequests(validBidRequests) {
|
|
17
18
|
return _map(validBidRequests, function(bid) {
|
|
@@ -183,6 +184,7 @@ function wrapBanner(bid, bidData) {
|
|
|
183
184
|
|
|
184
185
|
export const spec = {
|
|
185
186
|
code: BIDDER_CODE,
|
|
187
|
+
gvlid: GVLID,
|
|
186
188
|
supportedMediaTypes: [BANNER, VIDEO],
|
|
187
189
|
|
|
188
190
|
/**
|
package/package.json
CHANGED
package/src/auction.js
CHANGED
|
@@ -455,7 +455,7 @@ export function auctionCallbacks(auctionDone, auctionInstance, {index = auctionM
|
|
|
455
455
|
function acceptBidResponse(adUnitCode, bid) {
|
|
456
456
|
handleBidResponse(adUnitCode, bid, (done) => {
|
|
457
457
|
let bidResponse = getPreparedBidForAuction(bid);
|
|
458
|
-
|
|
458
|
+
events.emit(CONSTANTS.EVENTS.BID_ACCEPTED, bidResponse);
|
|
459
459
|
if (FEATURES.VIDEO && bidResponse.mediaType === VIDEO) {
|
|
460
460
|
tryAddVideoBid(auctionInstance, bidResponse, done);
|
|
461
461
|
} else {
|
package/src/constants.json
CHANGED
|
@@ -46,7 +46,8 @@
|
|
|
46
46
|
"AUCTION_DEBUG": "auctionDebug",
|
|
47
47
|
"BID_VIEWABLE": "bidViewable",
|
|
48
48
|
"STALE_RENDER": "staleRender",
|
|
49
|
-
"BILLABLE_EVENT": "billableEvent"
|
|
49
|
+
"BILLABLE_EVENT": "billableEvent",
|
|
50
|
+
"BID_ACCEPTED": "bidAccepted"
|
|
50
51
|
},
|
|
51
52
|
"AD_RENDER_FAILED_REASON": {
|
|
52
53
|
"PREVENT_WRITING_ON_MAIN_DOCUMENT": "preventWritingOnMainDocument",
|
|
@@ -176,6 +177,8 @@
|
|
|
176
177
|
"AD_UNIT": "adUnit",
|
|
177
178
|
"SET_CONFIG": "setConfig",
|
|
178
179
|
"FETCH": "fetch",
|
|
179
|
-
"SUCCESS": "success"
|
|
180
|
+
"SUCCESS": "success",
|
|
181
|
+
"ERROR": "error",
|
|
182
|
+
"TIMEOUT": "timeout"
|
|
180
183
|
}
|
|
181
184
|
}
|
package/src/events.js
CHANGED
|
@@ -211,7 +211,10 @@ const BID_ADAGIO = Object.assign({}, BID_ADAGIO, {
|
|
|
211
211
|
meta: {
|
|
212
212
|
advertiserDomains: ['example.com']
|
|
213
213
|
},
|
|
214
|
-
|
|
214
|
+
pba: {
|
|
215
|
+
sid: '42',
|
|
216
|
+
e_pba_test: true
|
|
217
|
+
}
|
|
215
218
|
});
|
|
216
219
|
|
|
217
220
|
const BID_ANOTHER = Object.assign({}, BID_ANOTHER, {
|
|
@@ -256,7 +259,9 @@ const PARAMS_ADG = {
|
|
|
256
259
|
pageviewId: 'a68e6d70-213b-496c-be0a-c468ff387106',
|
|
257
260
|
environment: 'desktop',
|
|
258
261
|
pagetype: 'article',
|
|
259
|
-
placement: 'pave_top'
|
|
262
|
+
placement: 'pave_top',
|
|
263
|
+
testName: 'test',
|
|
264
|
+
testVersion: 'version',
|
|
260
265
|
};
|
|
261
266
|
|
|
262
267
|
const AUCTION_INIT_ANOTHER = {
|
|
@@ -285,6 +290,11 @@ const AUCTION_INIT_ANOTHER = {
|
|
|
285
290
|
'params': {
|
|
286
291
|
'publisherId': '1001'
|
|
287
292
|
},
|
|
293
|
+
}, {
|
|
294
|
+
'bidder': 'nobid',
|
|
295
|
+
'params': {
|
|
296
|
+
'publisherId': '1002'
|
|
297
|
+
},
|
|
288
298
|
}, {
|
|
289
299
|
'bidder': 'adagio',
|
|
290
300
|
'params': {
|
|
@@ -354,6 +364,24 @@ const AUCTION_INIT_ANOTHER = {
|
|
|
354
364
|
'auctionId': AUCTION_ID,
|
|
355
365
|
'src': 'client',
|
|
356
366
|
'bidRequestsCount': 1
|
|
367
|
+
}, {
|
|
368
|
+
'bidder': 'nobid',
|
|
369
|
+
'params': {
|
|
370
|
+
'publisherId': '1001'
|
|
371
|
+
},
|
|
372
|
+
'mediaTypes': {
|
|
373
|
+
'banner': {
|
|
374
|
+
'sizes': [[640, 480]]
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
'adUnitCode': '/19968336/footer-bid-tag-1',
|
|
378
|
+
'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
|
|
379
|
+
'sizes': [[640, 480]],
|
|
380
|
+
'bidId': '2ecff0db240757',
|
|
381
|
+
'bidderRequestId': '1be65d7958826a',
|
|
382
|
+
'auctionId': AUCTION_ID,
|
|
383
|
+
'src': 'client',
|
|
384
|
+
'bidRequestsCount': 1
|
|
357
385
|
}
|
|
358
386
|
],
|
|
359
387
|
'timeout': 3000,
|
|
@@ -533,6 +561,14 @@ const AUCTION_INIT_CACHE = {
|
|
|
533
561
|
'timeout': 3000
|
|
534
562
|
};
|
|
535
563
|
|
|
564
|
+
const AUCTION_END_ANOTHER = Object.assign({}, AUCTION_INIT_ANOTHER, {
|
|
565
|
+
bidsReceived: [BID_ANOTHER, BID_ADAGIO]
|
|
566
|
+
});
|
|
567
|
+
|
|
568
|
+
const AUCTION_END_ANOTHER_NOBID = Object.assign({}, AUCTION_INIT_ANOTHER, {
|
|
569
|
+
bidsReceived: []
|
|
570
|
+
});
|
|
571
|
+
|
|
536
572
|
const MOCK = {
|
|
537
573
|
SET_TARGETING: {
|
|
538
574
|
[BID_ADAGIO.adUnitCode]: BID_ADAGIO.adserverTargeting,
|
|
@@ -546,6 +582,10 @@ const MOCK = {
|
|
|
546
582
|
adagio: BID_ADAGIO,
|
|
547
583
|
another: BID_ANOTHER
|
|
548
584
|
},
|
|
585
|
+
AUCTION_END: {
|
|
586
|
+
another: AUCTION_END_ANOTHER,
|
|
587
|
+
another_nobid: AUCTION_END_ANOTHER_NOBID
|
|
588
|
+
},
|
|
549
589
|
BID_WON: {
|
|
550
590
|
adagio: Object.assign({}, BID_ADAGIO, {
|
|
551
591
|
'status': 'rendered'
|
|
@@ -569,6 +609,12 @@ const MOCK = {
|
|
|
569
609
|
bid: BID_CACHED
|
|
570
610
|
}
|
|
571
611
|
},
|
|
612
|
+
AD_RENDER_FAILED: {
|
|
613
|
+
bidcached: {
|
|
614
|
+
adId: 'fake_ad_id_2',
|
|
615
|
+
bid: BID_CACHED
|
|
616
|
+
}
|
|
617
|
+
}
|
|
572
618
|
};
|
|
573
619
|
|
|
574
620
|
describe('adagio analytics adapter', () => {
|
|
@@ -616,10 +662,11 @@ describe('adagio analytics adapter', () => {
|
|
|
616
662
|
events.emit(constants.EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT.another);
|
|
617
663
|
events.emit(constants.EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE.adagio);
|
|
618
664
|
events.emit(constants.EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE.another);
|
|
665
|
+
events.emit(constants.EVENTS.AUCTION_END, MOCK.AUCTION_END.another);
|
|
619
666
|
events.emit(constants.EVENTS.BID_WON, MOCK.BID_WON.another);
|
|
620
667
|
events.emit(constants.EVENTS.AD_RENDER_SUCCEEDED, MOCK.AD_RENDER_SUCCEEDED.another);
|
|
621
668
|
|
|
622
|
-
expect(server.requests.length).to.equal(3);
|
|
669
|
+
expect(server.requests.length).to.equal(3, 'requests count');
|
|
623
670
|
{
|
|
624
671
|
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[0].url);
|
|
625
672
|
expect(protocol).to.equal('https');
|
|
@@ -633,12 +680,11 @@ describe('adagio analytics adapter', () => {
|
|
|
633
680
|
expect(search.site).to.equal('test-com');
|
|
634
681
|
expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
|
|
635
682
|
expect(search.url_dmn).to.equal(window.location.hostname);
|
|
636
|
-
expect(search.dvc).to.equal('desktop');
|
|
637
683
|
expect(search.pgtyp).to.equal('article');
|
|
638
684
|
expect(search.plcmt).to.equal('pave_top');
|
|
639
685
|
expect(search.mts).to.equal('ban');
|
|
640
686
|
expect(search.ban_szs).to.equal('640x100,640x480');
|
|
641
|
-
expect(search.bdrs).to.equal('adagio,another');
|
|
687
|
+
expect(search.bdrs).to.equal('adagio,another,nobid');
|
|
642
688
|
expect(search.adg_mts).to.equal('ban');
|
|
643
689
|
}
|
|
644
690
|
|
|
@@ -648,9 +694,19 @@ describe('adagio analytics adapter', () => {
|
|
|
648
694
|
expect(hostname).to.equal('c.4dex.io');
|
|
649
695
|
expect(pathname).to.equal('/pba.gif');
|
|
650
696
|
expect(search.v).to.equal('2');
|
|
697
|
+
expect(search.e_sid).to.equal('42');
|
|
698
|
+
expect(search.e_pba_test).to.equal('true');
|
|
699
|
+
expect(search.bdrs_bid).to.equal('1,1,0');
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
{
|
|
703
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[2].url);
|
|
704
|
+
expect(protocol).to.equal('https');
|
|
705
|
+
expect(hostname).to.equal('c.4dex.io');
|
|
706
|
+
expect(pathname).to.equal('/pba.gif');
|
|
707
|
+
expect(search.v).to.equal('3');
|
|
651
708
|
expect(search.auct_id).to.equal(AUCTION_ID_ADAGIO);
|
|
652
709
|
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
653
|
-
expect(search.adg_sid).to.equal('42');
|
|
654
710
|
expect(search.win_bdr).to.equal('another');
|
|
655
711
|
expect(search.win_mt).to.equal('ban');
|
|
656
712
|
expect(search.win_ban_sz).to.equal('728x90');
|
|
@@ -661,17 +717,6 @@ describe('adagio analytics adapter', () => {
|
|
|
661
717
|
expect(search.og_cur).to.equal('GBP');
|
|
662
718
|
expect(search.og_cur_rate).to.equal('1.6');
|
|
663
719
|
}
|
|
664
|
-
|
|
665
|
-
{
|
|
666
|
-
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[2].url);
|
|
667
|
-
expect(protocol).to.equal('https');
|
|
668
|
-
expect(hostname).to.equal('c.4dex.io');
|
|
669
|
-
expect(pathname).to.equal('/pba.gif');
|
|
670
|
-
expect(search.v).to.equal('3');
|
|
671
|
-
expect(search.auct_id).to.equal(AUCTION_ID_ADAGIO);
|
|
672
|
-
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
673
|
-
expect(search.rndr).to.equal('1');
|
|
674
|
-
}
|
|
675
720
|
});
|
|
676
721
|
|
|
677
722
|
it('builds and sends auction data with a cached bid win', () => {
|
|
@@ -691,10 +736,11 @@ describe('adagio analytics adapter', () => {
|
|
|
691
736
|
events.emit(constants.EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT.another);
|
|
692
737
|
events.emit(constants.EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE.adagio);
|
|
693
738
|
events.emit(constants.EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE.another);
|
|
739
|
+
events.emit(constants.EVENTS.AUCTION_END, MOCK.AUCTION_END.another_nobid);
|
|
694
740
|
events.emit(constants.EVENTS.BID_WON, MOCK.BID_WON.bidcached);
|
|
695
|
-
events.emit(constants.EVENTS.
|
|
741
|
+
events.emit(constants.EVENTS.AD_RENDER_FAILED, MOCK.AD_RENDER_FAILED.bidcached);
|
|
696
742
|
|
|
697
|
-
expect(server.requests.length).to.equal(
|
|
743
|
+
expect(server.requests.length).to.equal(5, 'requests count');
|
|
698
744
|
{
|
|
699
745
|
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[0].url);
|
|
700
746
|
expect(protocol).to.equal('https');
|
|
@@ -708,13 +754,14 @@ describe('adagio analytics adapter', () => {
|
|
|
708
754
|
expect(search.site).to.equal('test-com');
|
|
709
755
|
expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
|
|
710
756
|
expect(search.url_dmn).to.equal(window.location.hostname);
|
|
711
|
-
expect(search.dvc).to.equal('desktop');
|
|
712
757
|
expect(search.pgtyp).to.equal('article');
|
|
713
758
|
expect(search.plcmt).to.equal('pave_top');
|
|
714
759
|
expect(search.mts).to.equal('ban');
|
|
715
760
|
expect(search.ban_szs).to.equal('640x100,640x480');
|
|
716
761
|
expect(search.bdrs).to.equal('adagio,another');
|
|
717
762
|
expect(search.adg_mts).to.equal('ban');
|
|
763
|
+
expect(search.t_n).to.equal('test');
|
|
764
|
+
expect(search.t_v).to.equal('version');
|
|
718
765
|
}
|
|
719
766
|
|
|
720
767
|
{
|
|
@@ -730,12 +777,11 @@ describe('adagio analytics adapter', () => {
|
|
|
730
777
|
expect(search.site).to.equal('test-com');
|
|
731
778
|
expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
|
|
732
779
|
expect(search.url_dmn).to.equal(window.location.hostname);
|
|
733
|
-
expect(search.dvc).to.equal('desktop');
|
|
734
780
|
expect(search.pgtyp).to.equal('article');
|
|
735
781
|
expect(search.plcmt).to.equal('pave_top');
|
|
736
782
|
expect(search.mts).to.equal('ban');
|
|
737
783
|
expect(search.ban_szs).to.equal('640x100,640x480');
|
|
738
|
-
expect(search.bdrs).to.equal('adagio,another');
|
|
784
|
+
expect(search.bdrs).to.equal('adagio,another,nobid');
|
|
739
785
|
expect(search.adg_mts).to.equal('ban');
|
|
740
786
|
}
|
|
741
787
|
|
|
@@ -745,10 +791,20 @@ describe('adagio analytics adapter', () => {
|
|
|
745
791
|
expect(hostname).to.equal('c.4dex.io');
|
|
746
792
|
expect(pathname).to.equal('/pba.gif');
|
|
747
793
|
expect(search.v).to.equal('2');
|
|
794
|
+
expect(search.e_sid).to.equal('42');
|
|
795
|
+
expect(search.e_pba_test).to.equal('true');
|
|
796
|
+
expect(search.bdrs_bid).to.equal('0,0,0');
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
{
|
|
800
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[3].url);
|
|
801
|
+
expect(protocol).to.equal('https');
|
|
802
|
+
expect(hostname).to.equal('c.4dex.io');
|
|
803
|
+
expect(pathname).to.equal('/pba.gif');
|
|
804
|
+
expect(search.v).to.equal('3');
|
|
748
805
|
expect(search.auct_id).to.equal(AUCTION_ID_ADAGIO);
|
|
749
806
|
expect(search.auct_id_c).to.equal(AUCTION_ID_CACHE_ADAGIO);
|
|
750
807
|
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
751
|
-
expect(search.adg_sid).to.equal('42');
|
|
752
808
|
expect(search.win_bdr).to.equal('adagio');
|
|
753
809
|
expect(search.win_mt).to.equal('ban');
|
|
754
810
|
expect(search.win_ban_sz).to.equal('728x90');
|
|
@@ -758,18 +814,19 @@ describe('adagio analytics adapter', () => {
|
|
|
758
814
|
expect(search.og_cpm).to.equal('1.42');
|
|
759
815
|
expect(search.og_cur).to.equal('USD');
|
|
760
816
|
expect(search.og_cur_rate).to.equal('1');
|
|
817
|
+
expect(search.rndr).to.not.exist;
|
|
761
818
|
}
|
|
762
819
|
|
|
763
820
|
{
|
|
764
|
-
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[
|
|
821
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[4].url);
|
|
765
822
|
expect(protocol).to.equal('https');
|
|
766
823
|
expect(hostname).to.equal('c.4dex.io');
|
|
767
824
|
expect(pathname).to.equal('/pba.gif');
|
|
768
|
-
expect(search.v).to.equal('
|
|
825
|
+
expect(search.v).to.equal('4');
|
|
769
826
|
expect(search.auct_id).to.equal(AUCTION_ID_ADAGIO);
|
|
770
827
|
expect(search.auct_id_c).to.equal(AUCTION_ID_CACHE_ADAGIO);
|
|
771
828
|
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
772
|
-
expect(search.rndr).to.equal('
|
|
829
|
+
expect(search.rndr).to.equal('0');
|
|
773
830
|
}
|
|
774
831
|
});
|
|
775
832
|
});
|
|
@@ -861,11 +861,6 @@ describe('Adagio bid adapter', () => {
|
|
|
861
861
|
}
|
|
862
862
|
const requests = spec.buildRequests([bid01], bidderRequest);
|
|
863
863
|
|
|
864
|
-
expect(requests[0].data.adUnits[0].floors.length).to.equal(3);
|
|
865
|
-
expect(requests[0].data.adUnits[0].floors[0]).to.deep.equal({f: 1, mt: 'banner', s: '300x250'});
|
|
866
|
-
expect(requests[0].data.adUnits[0].floors[1]).to.deep.equal({f: 1, mt: 'banner', s: '300x600'});
|
|
867
|
-
expect(requests[0].data.adUnits[0].floors[2]).to.deep.equal({f: 1, mt: 'video', s: '600x480'});
|
|
868
|
-
|
|
869
864
|
expect(requests[0].data.adUnits[0].mediaTypes.banner.sizes.length).to.equal(2);
|
|
870
865
|
expect(requests[0].data.adUnits[0].mediaTypes.banner.bannerSizes[0]).to.deep.equal({size: [300, 250], floor: 1});
|
|
871
866
|
expect(requests[0].data.adUnits[0].mediaTypes.banner.bannerSizes[1]).to.deep.equal({size: [300, 600], floor: 1});
|
|
@@ -890,10 +885,6 @@ describe('Adagio bid adapter', () => {
|
|
|
890
885
|
}
|
|
891
886
|
const requests = spec.buildRequests([bid01], bidderRequest);
|
|
892
887
|
|
|
893
|
-
expect(requests[0].data.adUnits[0].floors.length).to.equal(2);
|
|
894
|
-
expect(requests[0].data.adUnits[0].floors[0]).to.deep.equal({f: 1, mt: 'video'});
|
|
895
|
-
expect(requests[0].data.adUnits[0].floors[1]).to.deep.equal({f: 1, mt: 'native'});
|
|
896
|
-
|
|
897
888
|
expect(requests[0].data.adUnits[0].mediaTypes.video.floor).to.equal(1);
|
|
898
889
|
expect(requests[0].data.adUnits[0].mediaTypes.native.floor).to.equal(1);
|
|
899
890
|
});
|
|
@@ -913,8 +904,6 @@ describe('Adagio bid adapter', () => {
|
|
|
913
904
|
}
|
|
914
905
|
const requests = spec.buildRequests([bid01], bidderRequest);
|
|
915
906
|
|
|
916
|
-
expect(requests[0].data.adUnits[0].floors.length).to.equal(1);
|
|
917
|
-
expect(requests[0].data.adUnits[0].floors[0]).to.deep.equal({mt: 'video'});
|
|
918
907
|
expect(requests[0].data.adUnits[0].mediaTypes.video.floor).to.be.undefined;
|
|
919
908
|
});
|
|
920
909
|
});
|
|
@@ -42,7 +42,7 @@ describe('adnuntiusBidAdapter', function() {
|
|
|
42
42
|
const ENDPOINT_URL_VIDEO = `${ENDPOINT_URL_BASE}&userId=${usi}&tt=vast4`;
|
|
43
43
|
const ENDPOINT_URL_NOCOOKIE = `${ENDPOINT_URL_BASE}&userId=${usi}&noCookies=true`;
|
|
44
44
|
const ENDPOINT_URL_SEGMENTS = `${ENDPOINT_URL_BASE}&segments=segment1,segment2,segment3&userId=${usi}`;
|
|
45
|
-
const ENDPOINT_URL_CONSENT = `${EURO_URL}${tzo}&format=json&consentString=consentString&userId=${usi}`;
|
|
45
|
+
const ENDPOINT_URL_CONSENT = `${EURO_URL}${tzo}&format=json&consentString=consentString&gdpr=1&userId=${usi}`;
|
|
46
46
|
const adapter = newBidder(spec);
|
|
47
47
|
|
|
48
48
|
const bidderRequests = [
|