prebid.js 7.35.0 → 7.37.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/.devcontainer/Dockerfile +2 -0
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/admaruBidAdapter.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/aidemBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/aolBidAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/audiencerunBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bluebillywigBidAdapter.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 -0
- 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/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dependencies.json +3 -0
- package/dist/discoveryBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- 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/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/incrxBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.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/liveIntentIdSystem.js +1 -1
- package/dist/livewrappedBidAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.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/mediakeysBidAdapter.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 -0
- package/dist/neuwoRtdProvider.js +1 -0
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +141 -137
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/proxistoreBidAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.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/scatteredBidAdapter.js +1 -0
- 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/sirdataRtdProvider.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/sspBCBidAdapter.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/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/visxBidAdapter.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/integrationExamples/gpt/neuwoRtdProvider_example.html +190 -0
- package/modules/33acrossBidAdapter.js +13 -4
- package/modules/adagioBidAdapter.js +14 -14
- package/modules/adagioBidAdapter.md +3 -1
- package/modules/admaruBidAdapter.js +19 -1
- package/modules/aidemBidAdapter.js +90 -65
- package/modules/aidemBidAdapter.md +10 -7
- package/modules/ajaBidAdapter.js +6 -1
- package/modules/amxIdSystem.md +2 -10
- package/modules/aolBidAdapter.js +1 -1
- package/modules/appnexusBidAdapter.js +45 -48
- package/modules/brightcomBidAdapter.js +1 -0
- package/modules/brightcomSSPBidAdapter.js +323 -0
- package/modules/brightcomSSPBidAdapter.md +46 -0
- package/modules/criteoBidAdapter.js +4 -5
- package/modules/cwireBidAdapter.md +9 -3
- package/modules/discoveryBidAdapter.js +22 -12
- package/modules/feedadBidAdapter.js +35 -15
- package/modules/fpdModule/index.md +5 -2
- package/modules/freewheel-sspBidAdapter.js +5 -1
- package/modules/gridBidAdapter.js +3 -1
- package/modules/incrxBidAdapter.js +2 -0
- package/modules/ixBidAdapter.js +318 -175
- package/modules/kueezRtbBidAdapter.js +54 -20
- package/modules/limelightDigitalBidAdapter.js +6 -1
- package/modules/limelightDigitalBidAdapter.md +12 -2
- package/modules/liveIntentIdSystem.js +1 -1
- package/modules/livewrappedBidAdapter.js +28 -16
- package/modules/mediagoBidAdapter.js +22 -17
- package/modules/minutemediaplusBidAdapter.js +291 -0
- package/modules/minutemediaplusBidAdapter.md +35 -0
- package/modules/neuwoRtdProvider.js +171 -0
- package/modules/neuwoRtdProvider.md +40 -0
- package/modules/nextMillenniumBidAdapter.js +9 -1
- package/modules/nexx360BidAdapter.js +1 -1
- package/modules/prebidServerBidAdapter/ortbConverter.js +6 -0
- package/modules/proxistoreBidAdapter.js +2 -2
- package/modules/pubmaticBidAdapter.js +4 -0
- package/modules/pubxaiAnalyticsAdapter.js +2 -2
- package/modules/scatteredBidAdapter.js +72 -0
- package/modules/scatteredBidAdapter.md +36 -0
- package/modules/sirdataRtdProvider.js +262 -284
- package/modules/smartxBidAdapter.js +2 -0
- package/modules/smilewantedBidAdapter.js +5 -0
- package/modules/sonobiBidAdapter.js +1 -10
- package/modules/topicsFpdModule.md +62 -0
- package/modules/tripleliftBidAdapter.js +4 -0
- package/modules/userId/eids.js +1 -1
- package/modules/vidazooBidAdapter.js +3 -1
- package/modules/yahoosspBidAdapter.js +1 -1
- package/modules/yieldmoBidAdapter.js +1 -0
- package/package.json +2 -2
- package/src/adapterManager.js +30 -14
- package/src/utils.js +1 -1
- package/test/spec/modules/33acrossBidAdapter_spec.js +51 -18
- package/test/spec/modules/adagioBidAdapter_spec.js +2 -2
- package/test/spec/modules/admaruBidAdapter_spec.js +48 -0
- package/test/spec/modules/aidemBidAdapter_spec.js +77 -10
- package/test/spec/modules/ajaBidAdapter_spec.js +21 -1
- package/test/spec/modules/aolBidAdapter_spec.js +2 -2
- package/test/spec/modules/appnexusBidAdapter_spec.js +123 -16
- package/test/spec/modules/brightcomSSPBidAdapter_spec.js +411 -0
- package/test/spec/modules/criteoBidAdapter_spec.js +24 -1
- package/test/spec/modules/eids_spec.js +1 -1
- package/test/spec/modules/feedadBidAdapter_spec.js +47 -77
- package/test/spec/modules/freewheel-sspBidAdapter_spec.js +1 -1
- package/test/spec/modules/incrxBidAdapter_spec.js +4 -0
- package/test/spec/modules/ixBidAdapter_spec.js +24 -54
- package/test/spec/modules/kueezRtbBidAdapter_spec.js +63 -22
- package/test/spec/modules/limelightDigitalBidAdapter_spec.js +35 -5
- package/test/spec/modules/livewrappedBidAdapter_spec.js +267 -2
- package/test/spec/modules/minutemediaplusBidAdapter_spec.js +519 -0
- package/test/spec/modules/neuwoRtdProvider_spec.js +123 -0
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +11 -0
- package/test/spec/modules/prebidServerBidAdapter_spec.js +56 -0
- package/test/spec/modules/proxistoreBidAdapter_spec.js +2 -2
- package/test/spec/modules/pubmaticBidAdapter_spec.js +15 -0
- package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +3 -1
- package/test/spec/modules/scatteredBidAdapter_spec.js +210 -0
- package/test/spec/modules/sirdataRtdProvider_spec.js +116 -22
- package/test/spec/modules/smilewantedBidAdapter_spec.js +54 -3
- package/test/spec/modules/sonobiBidAdapter_spec.js +3 -25
- package/test/spec/modules/tripleliftBidAdapter_spec.js +9 -2
- package/test/spec/modules/userId_spec.js +1 -1
- package/test/spec/modules/vidazooBidAdapter_spec.js +4 -1
- package/test/spec/modules/yahoosspBidAdapter_spec.js +1 -1
- package/test/spec/unit/core/adapterManager_spec.js +147 -0
|
@@ -7,7 +7,23 @@ import {ajax} from '../src/ajax.js';
|
|
|
7
7
|
* Version of the FeedAd bid adapter
|
|
8
8
|
* @type {string}
|
|
9
9
|
*/
|
|
10
|
-
const VERSION = '1.0.
|
|
10
|
+
const VERSION = '1.0.6';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {object} FeedAdUserSync
|
|
14
|
+
* @inner
|
|
15
|
+
*
|
|
16
|
+
* @property {string} type
|
|
17
|
+
* @property {string} url
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @typedef {object} FeedAdBidExtension
|
|
22
|
+
* @inner
|
|
23
|
+
*
|
|
24
|
+
* @property {FeedAdUserSync[]} pixels
|
|
25
|
+
* @property {FeedAdUserSync[]} iframes
|
|
26
|
+
*/
|
|
11
27
|
|
|
12
28
|
/**
|
|
13
29
|
* @typedef {object} FeedAdApiBidRequest
|
|
@@ -41,7 +57,7 @@ const VERSION = '1.0.5';
|
|
|
41
57
|
* @property {string} requestId - bids[].bidId
|
|
42
58
|
* @property {number} ttl - Time to live for this ad
|
|
43
59
|
* @property {number} width - Width of creative returned in [].ad
|
|
44
|
-
* @property {
|
|
60
|
+
* @property {FeedAdBidExtension} [ext] - an extension object
|
|
45
61
|
*/
|
|
46
62
|
|
|
47
63
|
/**
|
|
@@ -63,6 +79,14 @@ const VERSION = '1.0.5';
|
|
|
63
79
|
* @property [device_platform] {1|2|3} 1 - Android | 2 - iOS | 3 - Windows
|
|
64
80
|
*/
|
|
65
81
|
|
|
82
|
+
/**
|
|
83
|
+
* @typedef {object} FeedAdServerResponse
|
|
84
|
+
* @extends ServerResponse
|
|
85
|
+
* @inner
|
|
86
|
+
*
|
|
87
|
+
* @property {FeedAdApiBidResponse[]} body - the body of a FeedAd server response
|
|
88
|
+
*/
|
|
89
|
+
|
|
66
90
|
/**
|
|
67
91
|
* The IAB TCF 2.0 vendor ID for the FeedAd GmbH
|
|
68
92
|
*/
|
|
@@ -228,7 +252,7 @@ function buildRequests(validBidRequests, bidderRequest) {
|
|
|
228
252
|
|
|
229
253
|
/**
|
|
230
254
|
* Adapts the FeedAd server response to Prebid format
|
|
231
|
-
* @param {
|
|
255
|
+
* @param {FeedAdServerResponse} serverResponse - the FeedAd server response
|
|
232
256
|
* @param {BidRequest} request - the initial bid request
|
|
233
257
|
* @returns {Bid[]} the FeedAd bids
|
|
234
258
|
*/
|
|
@@ -296,24 +320,20 @@ function trackingHandlerFactory(klass) {
|
|
|
296
320
|
/**
|
|
297
321
|
* Reads the user syncs off the server responses and converts them into Prebid.JS format
|
|
298
322
|
* @param {SyncOptions} syncOptions
|
|
299
|
-
* @param {
|
|
323
|
+
* @param {FeedAdServerResponse[]} serverResponses
|
|
300
324
|
* @param gdprConsent
|
|
301
325
|
* @param uspConsent
|
|
302
326
|
*/
|
|
303
327
|
function getUserSyncs(syncOptions, serverResponses, gdprConsent, uspConsent) {
|
|
304
|
-
return serverResponses.
|
|
305
|
-
//
|
|
306
|
-
const
|
|
307
|
-
|
|
308
|
-
return null;
|
|
309
|
-
}
|
|
310
|
-
return ext;
|
|
328
|
+
return serverResponses.flatMap(response => {
|
|
329
|
+
// merge all response bodies into one
|
|
330
|
+
const body = response.body;
|
|
331
|
+
return isArray(body) ? body : [];
|
|
311
332
|
})
|
|
312
|
-
.
|
|
313
|
-
.flatMap(extension => {
|
|
333
|
+
.flatMap(/** @param {FeedAdApiBidResponse} bidResponse */ bidResponse => {
|
|
314
334
|
// extract user syncs from extension
|
|
315
|
-
const pixels = syncOptions.pixelEnabled &&
|
|
316
|
-
const iframes = syncOptions.iframeEnabled &&
|
|
335
|
+
const pixels = (syncOptions.pixelEnabled && bidResponse?.ext?.pixels) ? bidResponse.ext.pixels : [];
|
|
336
|
+
const iframes = (syncOptions.iframeEnabled && bidResponse?.ext?.iframes) ? bidResponse.ext.iframes : [];
|
|
317
337
|
return pixels.concat(...iframes);
|
|
318
338
|
})
|
|
319
339
|
.reduce((syncs, sync) => {
|
|
@@ -16,9 +16,11 @@ Validation Submodule:
|
|
|
16
16
|
- verify that certain OpenRTB attributes are not specified
|
|
17
17
|
- optionally suppress user FPD based on the existence of _pubcid_optout
|
|
18
18
|
|
|
19
|
+
Topic Submodule:
|
|
20
|
+
- populate first party/third party topics data onto user.data in bid stream.
|
|
19
21
|
|
|
20
22
|
1. Module initializes on first load and set bidRequestHook
|
|
21
|
-
2. When hook runs, corresponding submodule init functions are run to perform enrichments/validations dependant on submodule
|
|
23
|
+
2. When hook runs, corresponding submodule init functions are run to perform enrichments/validations/topics dependant on submodule
|
|
22
24
|
3. After hook complete, it is disabled - meaning module only runs on first auction
|
|
23
25
|
4. To reinitiate the module, run pbjs.refreshFPD(), which allows module to rerun as if initial load
|
|
24
26
|
|
|
@@ -43,4 +45,5 @@ pbjs.setConfig({
|
|
|
43
45
|
At least one of the submodules must be included in order to successfully run the corresponding above operations.
|
|
44
46
|
|
|
45
47
|
enrichmentFpdModule
|
|
46
|
-
validationFpdModule
|
|
48
|
+
validationFpdModule
|
|
49
|
+
topicsFpdModule
|
|
@@ -348,7 +348,11 @@ export const spec = {
|
|
|
348
348
|
// Add schain object
|
|
349
349
|
var schain = currentBidRequest.schain;
|
|
350
350
|
if (schain) {
|
|
351
|
-
|
|
351
|
+
try {
|
|
352
|
+
requestParams.schain = JSON.stringify(schain);
|
|
353
|
+
} catch (error) {
|
|
354
|
+
logWarn('PREBID - ' + BIDDER_CODE + ': Unable to stringify the schain: ' + error);
|
|
355
|
+
}
|
|
352
356
|
}
|
|
353
357
|
|
|
354
358
|
var vastParams = currentBidRequest.params.vastUrlParams;
|
|
@@ -288,9 +288,11 @@ export const spec = {
|
|
|
288
288
|
return;
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
+
if (request.user) user = request.user;
|
|
292
|
+
|
|
291
293
|
const ortb2UserData = deepAccess(bidderRequest, 'ortb2.user.data');
|
|
292
294
|
if (ortb2UserData && ortb2UserData.length) {
|
|
293
|
-
user
|
|
295
|
+
if (!user) user = { data: [] };
|
|
294
296
|
user = mergeDeep(user, {
|
|
295
297
|
data: [...ortb2UserData]
|
|
296
298
|
});
|
|
@@ -68,6 +68,8 @@ export const spec = {
|
|
|
68
68
|
requestId: response.slotBidId,
|
|
69
69
|
cpm: response.cpm,
|
|
70
70
|
currency: response.currency || DEFAULT_CURRENCY,
|
|
71
|
+
adType: response.adType || '1',
|
|
72
|
+
settings: response.settings,
|
|
71
73
|
width: response.adWidth,
|
|
72
74
|
height: response.adHeight,
|
|
73
75
|
ttl: CREATIVE_TTL,
|