prebid.js 9.4.0 → 9.5.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/.eslintrc.js +31 -5
- package/.github/workflows/jscpd.yml +2 -2
- package/.github/workflows/linter.yml +107 -0
- package/creative/crossDomain.js +6 -3
- package/dist/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/BTBidAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adagioRtdProvider.js +1 -1
- package/dist/adagioUtils.js +1 -1
- package/dist/addefendBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adkernelAdnBidAdapter.js +1 -1
- package/dist/adkernelBidAdapter.js +1 -1
- package/dist/adkernelUtils.js +1 -0
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/admixerBidAdapter.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/advRedAnalyticsAdapter.js +1 -0
- package/dist/adxcgAnalyticsAdapter.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/akamaiDapRtdProvider.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/anonymisedRtdProvider.js +1 -1
- package/dist/apacdexBidAdapter.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/azerionedgeRtdProvider.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/chunk-core.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connatixBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/contxtfulRtdProvider.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/currencyUtils.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dailymotionBidAdapter.js +1 -1
- package/dist/debugging-standalone.js +1 -1
- package/dist/dependencies.json +43 -7
- package/dist/dfpAdServerVideo.js +1 -1
- package/dist/dfpAdpod.js +1 -1
- package/dist/dfpUtils.js +1 -1
- package/dist/discoveryBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eightPodAnalyticsAdapter.js +1 -1
- package/dist/eightPodBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/exadsBidAdapter.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/fintezaAnalyticsAdapter.js +1 -1
- package/dist/fpdUtils.js +1 -0
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gptPreAuction.js +1 -1
- package/dist/gptUtils.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/growthCodeAnalyticsAdapter.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/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/intentIqAnalyticsAdapter.js +1 -0
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/jwplayerBidAdapter.js +1 -1
- package/dist/jwplayerRtdProvider.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kimberliteBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.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/luceadBidAdapter.js +1 -1
- package/dist/mabidderBidAdapter.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/medianetAnalyticsAdapter.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/missenaBidAdapter.js +1 -1
- package/dist/mobianRtdProvider.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidAnalyticsAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +201 -193
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openwebBidAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/optoutBidAdapter.js +1 -1
- package/dist/orbidderBidAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/paapi.js +1 -1
- package/dist/permutiveRtdProvider.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/playdigoBidAdapter.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/programmaticaBidAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/publirBidAdapter.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.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/relevatehealthBidAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/ringieraxelspringerBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/schainSerializer.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/sizeMapping.js +1 -1
- package/dist/sizeUtils.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/snigelBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stnBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/symitriDapRtdProvider.js +1 -0
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/targetVideoUtils.js +1 -0
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/themoneytizerBidAdapter.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/userAgentUtils.js +1 -0
- package/dist/utiqIdSystem.js +1 -1
- package/dist/vidazooUtils.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/yahooAdsBidAdapter.js +1 -1
- package/dist/yandexIdSystem.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/integrationExamples/gpt/x-domain/creative.html +1 -1
- package/libraries/adkernelUtils/adkernelUtils.js +11 -0
- package/libraries/currencyUtils/floor.js +23 -0
- package/libraries/dfpUtils/dfpUtils.js +7 -0
- package/libraries/fpdUtils/deviceInfo.js +58 -0
- package/libraries/fpdUtils/pageInfo.js +73 -0
- package/libraries/gptUtils/gptUtils.js +23 -1
- package/libraries/schainSerializer/schainSerializer.js +24 -0
- package/libraries/sizeUtils/tranformSize.js +43 -0
- package/libraries/targetVideoUtils/bidderUtils.js +178 -0
- package/libraries/targetVideoUtils/constants.js +23 -0
- package/libraries/userAgentUtils/index.js +58 -0
- package/libraries/userAgentUtils/userAgentTypes.enums.js +22 -0
- package/modules/.submodules.json +1 -0
- package/modules/33acrossAnalyticsAdapter.js +2 -0
- package/modules/adagioBidAdapter.js +1 -1
- package/modules/adagioRtdProvider.js +18 -4
- package/modules/adkernelAdnBidAdapter.js +1 -12
- package/modules/adkernelBidAdapter.js +4 -13
- package/modules/adlooxAnalyticsAdapter.js +1 -0
- package/modules/admixerBidAdapter.js +10 -6
- package/modules/admixerBidAdapter.md +7 -10
- package/modules/adtrgtmeBidAdapter.js +1 -1
- package/modules/advRedAnalyticsAdapter.js +198 -0
- package/modules/advRedAnalyticsAdapter.md +30 -0
- package/modules/akamaiDapRtdProvider.js +19 -798
- package/modules/anonymisedRtdProvider.js +5 -1
- package/modules/anonymisedRtdProvider.md +1 -1
- package/modules/apacdexBidAdapter.js +1 -1
- package/modules/appnexusBidAdapter.js +56 -2
- package/modules/automatadAnalyticsAdapter.js +2 -0
- package/modules/azerionedgeRtdProvider.js +13 -3
- package/modules/azerionedgeRtdProvider.md +0 -17
- package/modules/bridBidAdapter.js +47 -47
- package/modules/cleanioRtdProvider.js +1 -0
- package/modules/concertBidAdapter.js +1 -1
- package/modules/connatixBidAdapter.js +36 -8
- package/modules/connectIdSystem.js +3 -1
- package/modules/contxtfulRtdProvider.js +20 -2
- package/modules/contxtfulRtdProvider.md +1 -0
- package/modules/craftBidAdapter.js +1 -1
- package/modules/criteoBidAdapter.js +1 -1
- package/modules/cwireBidAdapter.js +5 -1
- package/modules/dailymotionBidAdapter.js +85 -65
- package/modules/debugging/debugging.js +3 -0
- package/modules/dfpAdServerVideo.js +15 -33
- package/modules/dfpAdpod.js +2 -6
- package/modules/dgkeywordRtdProvider.js +2 -0
- package/modules/discoveryBidAdapter.js +26 -210
- package/modules/dspxBidAdapter.js +176 -54
- package/modules/eightPodAnalyticsAdapter.js +28 -34
- package/modules/eightPodBidAdapter.js +113 -57
- package/modules/fintezaAnalyticsAdapter.js +9 -4
- package/modules/goldbachBidAdapter.js +1 -1
- package/modules/gptPreAuction.js +63 -4
- package/modules/growthCodeAnalyticsAdapter.js +1 -1
- package/modules/growthCodeRtdProvider.js +1 -1
- package/modules/gumgumBidAdapter.js +14 -10
- package/modules/improvedigitalBidAdapter.js +1 -1
- package/modules/intentIqAnalyticsAdapter.js +234 -0
- package/modules/intentIqAnalyticsAdapter.md +27 -0
- package/modules/intentIqIdSystem.md +0 -0
- package/modules/jwplayerBidAdapter.js +1 -1
- package/modules/jwplayerRtdProvider.js +26 -6
- package/modules/jwplayerVideoProvider.js +6 -0
- package/modules/mediafuseBidAdapter.js +1 -1
- package/modules/mediagoBidAdapter.js +7 -176
- package/modules/medianetBidAdapter.js +101 -40
- package/modules/mgidBidAdapter.js +3 -1
- package/modules/mobianRtdProvider.js +16 -2
- package/modules/nextMillenniumBidAdapter.js +1 -27
- package/modules/nobidBidAdapter.js +1 -1
- package/modules/optoutBidAdapter.js +1 -1
- package/modules/paapi.js +48 -35
- package/modules/permutiveRtdProvider.js +72 -22
- package/modules/playdigoBidAdapter.js +4 -2
- package/modules/prebidServerBidAdapter/index.js +4 -2
- package/modules/prebidServerBidAdapter/ortbConverter.js +1 -0
- package/modules/programmaticaBidAdapter.js +1 -1
- package/modules/pubmaticBidAdapter.js +12 -0
- package/modules/pubxaiAnalyticsAdapter.js +306 -164
- package/modules/relevatehealthBidAdapter.js +2 -1
- package/modules/richaudienceBidAdapter.js +1 -1
- package/modules/rtdModule/index.js +5 -3
- package/modules/sirdataRtdProvider.js +2 -0
- package/modules/sizeMapping.js +2 -5
- package/modules/smaatoBidAdapter.js +18 -1
- package/modules/smilewantedBidAdapter.js +26 -22
- package/modules/snigelBidAdapter.js +1 -1
- package/modules/sonobiBidAdapter.js +5 -10
- package/modules/symitriDapRtdProvider.js +812 -0
- package/modules/symitriDapRtdProvider.md +49 -0
- package/modules/targetVideoBidAdapter.js +120 -152
- package/modules/targetVideoBidAdapter.md +20 -3
- package/modules/userId/eids.js +3 -0
- package/modules/utiqIdSystem.js +12 -10
- package/modules/validationFpdModule/index.js +22 -17
- package/modules/videojsVideoProvider.js +3 -0
- package/modules/visxBidAdapter.js +1 -1
- package/modules/winrBidAdapter.js +2 -27
- package/modules/yahooAdsBidAdapter.js +1 -1
- package/modules/yandexIdSystem.js +1 -1
- package/package.json +4 -4
- package/plugins/eslint/index.js +73 -45
- package/src/adRendering.js +7 -3
- package/src/adloader.js +1 -0
- package/src/ajax.js +15 -0
- package/src/config.js +0 -4
- package/src/debugging.js +1 -0
- package/src/secureCreatives.js +1 -1
- package/src/storageManager.js +62 -73
- package/src/targeting.js +26 -20
- package/src/utils.js +9 -0
- package/test/pages/banner_sync.html +97 -0
- package/test/pages/consent_mgt_gdpr.html +1 -1
- package/test/spec/ajax_spec.js +11 -0
- package/test/spec/creative/crossDomainCreative_spec.js +26 -9
- package/test/spec/e2e/banner/basic_banner_ad.spec.js +20 -14
- package/test/spec/fpd/gdpr_spec.js +1 -1
- package/test/spec/libraries/userAgentUtils_spec.js +109 -0
- package/test/spec/modules/adagioRtdProvider_spec.js +72 -0
- package/test/spec/modules/admixerBidAdapter_spec.js +21 -17
- package/test/spec/modules/advRedAnalyticsAdapter_spec.js +114 -0
- package/test/spec/modules/adxcgBidAdapter_spec.js +1 -1
- package/test/spec/modules/appnexusBidAdapter_spec.js +36 -0
- package/test/spec/modules/azerionedgeRtdProvider_spec.js +36 -21
- package/test/spec/modules/connatixBidAdapter_spec.js +55 -2
- package/test/spec/modules/consentManagement_spec.js +1 -1
- package/test/spec/modules/contxtfulRtdProvider_spec.js +6 -0
- package/test/spec/modules/dailymotionBidAdapter_spec.js +497 -4
- package/test/spec/modules/discoveryBidAdapter_spec.js +9 -6
- package/test/spec/modules/dspxBidAdapter_spec.js +188 -7
- package/test/spec/modules/eightPodAnalyticsAdapter_spec.js +22 -13
- package/test/spec/modules/gptPreAuction_spec.js +143 -1
- package/test/spec/modules/gumgumBidAdapter_spec.js +17 -0
- package/test/spec/modules/intentIqAnalyticsAdapter_spec.js +172 -0
- package/test/spec/modules/jwplayerRtdProvider_spec.js +61 -0
- package/test/spec/modules/mediagoBidAdapter_spec.js +34 -37
- package/test/spec/modules/medianetBidAdapter_spec.js +297 -16
- package/test/spec/modules/mgidBidAdapter_spec.js +15 -5
- package/test/spec/modules/mobianRtdProvider_spec.js +1 -3
- package/test/spec/modules/paapi_spec.js +177 -111
- package/test/spec/modules/permutiveRtdProvider_spec.js +42 -8
- package/test/spec/modules/prebidServerBidAdapter_spec.js +17 -3
- package/test/spec/modules/proxistoreBidAdapter_spec.js +1 -1
- package/test/spec/modules/pubmaticBidAdapter_spec.js +40 -0
- package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +970 -603
- package/test/spec/modules/pulsepointBidAdapter_spec.js +4 -4
- package/test/spec/modules/smaatoBidAdapter_spec.js +36 -1
- package/test/spec/modules/smilewantedBidAdapter_spec.js +57 -1
- package/test/spec/modules/symitriDapRtdProvider_spec.js +600 -0
- package/test/spec/modules/targetVideoBidAdapter_spec.js +112 -11
- package/test/spec/modules/yandexIdSystem_spec.js +6 -1
- package/test/spec/schainSerializer/schainSerializer_spec.js +138 -0
- package/test/spec/unit/core/storageManager_spec.js +68 -51
- package/test/spec/utils_spec.js +19 -0
- /package/src/utils/{gpdr.js → gdpr.js} +0 -0
|
@@ -95,7 +95,8 @@ export function getModuleConfig(customModuleConfig) {
|
|
|
95
95
|
/**
|
|
96
96
|
* Sets ortb2 config for ac bidders
|
|
97
97
|
* @param {Object} bidderOrtb2 - The ortb2 object for the all bidders
|
|
98
|
-
* @param {Object}
|
|
98
|
+
* @param {Object} moduleConfig - Publisher config for module
|
|
99
|
+
* @param {Object} segmentData - Segment data grouped by bidder or type
|
|
99
100
|
*/
|
|
100
101
|
export function setBidderRtb (bidderOrtb2, moduleConfig, segmentData) {
|
|
101
102
|
const acBidders = deepAccess(moduleConfig, 'params.acBidders')
|
|
@@ -129,13 +130,13 @@ export function setBidderRtb (bidderOrtb2, moduleConfig, segmentData) {
|
|
|
129
130
|
|
|
130
131
|
/**
|
|
131
132
|
* Updates `user.data` object in existing bidder config with Permutive segments
|
|
132
|
-
* @param string bidder - The bidder
|
|
133
|
+
* @param {string} bidder - The bidder identifier
|
|
133
134
|
* @param {Object} currConfig - Current bidder config
|
|
134
|
-
* @param {Object[]} transformationConfigs - array of objects with `id` and `config` properties, used to determine
|
|
135
|
-
* the transformations on user data to include the ORTB2 object
|
|
136
135
|
* @param {string[]} segmentIDs - Permutive segment IDs
|
|
137
136
|
* @param {string[]} sspSegmentIDs - Permutive SSP segment IDs
|
|
138
137
|
* @param {Object} topics - Privacy Sandbox Topics, keyed by IAB taxonomy version (600, 601, etc.)
|
|
138
|
+
* @param {Object[]} transformationConfigs - array of objects with `id` and `config` properties, used to determine
|
|
139
|
+
* the transformations on user data to include the ORTB2 object
|
|
139
140
|
* @param {Object} segmentData - The segments available for targeting
|
|
140
141
|
* @return {Object} Merged ortb2 object
|
|
141
142
|
*/
|
|
@@ -270,7 +271,7 @@ function setSegments (reqBidsConfigObj, moduleConfig, segmentData) {
|
|
|
270
271
|
*/
|
|
271
272
|
function makeSafe (fn) {
|
|
272
273
|
try {
|
|
273
|
-
fn()
|
|
274
|
+
return fn()
|
|
274
275
|
} catch (e) {
|
|
275
276
|
logError(e)
|
|
276
277
|
}
|
|
@@ -310,23 +311,71 @@ export function isPermutiveOnPage () {
|
|
|
310
311
|
* @param {number} maxSegs - Maximum number of segments to be included
|
|
311
312
|
* @return {Object}
|
|
312
313
|
*/
|
|
313
|
-
export function getSegments
|
|
314
|
-
const legacySegs = readSegments('_psegs', []).map(Number).filter(seg => seg >= 1000000).map(String)
|
|
315
|
-
const _ppam = readSegments('_ppam', [])
|
|
316
|
-
const _pcrprs = readSegments('_pcrprs', [])
|
|
317
|
-
|
|
314
|
+
export function getSegments(maxSegs) {
|
|
318
315
|
const segments = {
|
|
319
|
-
ac:
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
316
|
+
ac:
|
|
317
|
+
makeSafe(() => {
|
|
318
|
+
const legacySegs =
|
|
319
|
+
makeSafe(() =>
|
|
320
|
+
readSegments('_psegs', [])
|
|
321
|
+
.map(Number)
|
|
322
|
+
.filter((seg) => seg >= 1000000)
|
|
323
|
+
.map(String),
|
|
324
|
+
) || [];
|
|
325
|
+
const _ppam = makeSafe(() => readSegments('_ppam', []).map(String)) || [];
|
|
326
|
+
const _pcrprs = makeSafe(() => readSegments('_pcrprs', []).map(String)) || [];
|
|
327
|
+
|
|
328
|
+
return [..._pcrprs, ..._ppam, ...legacySegs];
|
|
329
|
+
}) || [],
|
|
330
|
+
|
|
331
|
+
ix:
|
|
332
|
+
makeSafe(() => {
|
|
333
|
+
const _pindexs = readSegments('_pindexs', []);
|
|
334
|
+
return _pindexs.map(String);
|
|
335
|
+
}) || [],
|
|
336
|
+
|
|
337
|
+
rubicon:
|
|
338
|
+
makeSafe(() => {
|
|
339
|
+
const _prubicons = readSegments('_prubicons', []);
|
|
340
|
+
return _prubicons.map(String);
|
|
341
|
+
}) || [],
|
|
342
|
+
|
|
343
|
+
appnexus:
|
|
344
|
+
makeSafe(() => {
|
|
345
|
+
const _papns = readSegments('_papns', []);
|
|
346
|
+
return _papns.map(String);
|
|
347
|
+
}) || [],
|
|
348
|
+
|
|
349
|
+
gam:
|
|
350
|
+
makeSafe(() => {
|
|
351
|
+
const _pdfps = readSegments('_pdfps', []);
|
|
352
|
+
return _pdfps.map(String);
|
|
353
|
+
}) || [],
|
|
354
|
+
|
|
355
|
+
ssp: makeSafe(() => {
|
|
356
|
+
const _pssps = readSegments('_pssps', {
|
|
357
|
+
cohorts: [],
|
|
358
|
+
ssps: [],
|
|
359
|
+
});
|
|
360
|
+
|
|
361
|
+
return {
|
|
362
|
+
cohorts: makeSafe(() => _pssps.cohorts.map(String)) || [],
|
|
363
|
+
ssps: makeSafe(() => _pssps.ssps.map(String)) || [],
|
|
364
|
+
};
|
|
327
365
|
}),
|
|
328
|
-
|
|
329
|
-
|
|
366
|
+
|
|
367
|
+
topics:
|
|
368
|
+
makeSafe(() => {
|
|
369
|
+
const _ppsts = readSegments('_ppsts', {});
|
|
370
|
+
|
|
371
|
+
const topics = {};
|
|
372
|
+
for (const [k, value] of Object.entries(_ppsts)) {
|
|
373
|
+
topics[k] = makeSafe(() => value.map(String)) || [];
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
return topics;
|
|
377
|
+
}) || {},
|
|
378
|
+
};
|
|
330
379
|
|
|
331
380
|
for (const bidder in segments) {
|
|
332
381
|
if (bidder === 'ssp') {
|
|
@@ -342,7 +391,8 @@ export function getSegments (maxSegs) {
|
|
|
342
391
|
}
|
|
343
392
|
}
|
|
344
393
|
|
|
345
|
-
|
|
394
|
+
logger.logInfo(`Read segments`, segments)
|
|
395
|
+
return segments;
|
|
346
396
|
}
|
|
347
397
|
|
|
348
398
|
/**
|
|
@@ -393,7 +443,7 @@ function iabSegmentId(permutiveSegmentId, iabIds) {
|
|
|
393
443
|
* Pull the latest configuration and cohort information and update accordingly.
|
|
394
444
|
*
|
|
395
445
|
* @param reqBidsConfigObj - Bidder provided config for request
|
|
396
|
-
* @param
|
|
446
|
+
* @param moduleConfig - Publisher provided config
|
|
397
447
|
*/
|
|
398
448
|
export function readAndSetCohorts(reqBidsConfigObj, moduleConfig) {
|
|
399
449
|
const segmentData = getSegments(deepAccess(moduleConfig, 'params.maxSegs'))
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
2
2
|
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
|
|
3
|
-
import { isBidRequestValid, buildRequests, interpretResponse } from '../libraries/teqblazeUtils/bidderUtils.js';
|
|
3
|
+
import { isBidRequestValid, buildRequests, interpretResponse, getUserSyncs } from '../libraries/teqblazeUtils/bidderUtils.js';
|
|
4
4
|
|
|
5
5
|
const BIDDER_CODE = 'playdigo';
|
|
6
6
|
const AD_URL = 'https://server.playdigo.com/pbjs';
|
|
7
|
+
const SYNC_URL = 'https://cs.playdigo.com';
|
|
7
8
|
|
|
8
9
|
export const spec = {
|
|
9
10
|
code: BIDDER_CODE,
|
|
@@ -11,7 +12,8 @@ export const spec = {
|
|
|
11
12
|
|
|
12
13
|
isBidRequestValid: isBidRequestValid(),
|
|
13
14
|
buildRequests: buildRequests(AD_URL),
|
|
14
|
-
interpretResponse
|
|
15
|
+
interpretResponse,
|
|
16
|
+
getUserSyncs: getUserSyncs(SYNC_URL)
|
|
15
17
|
};
|
|
16
18
|
|
|
17
19
|
registerBidder(spec);
|
|
@@ -25,7 +25,7 @@ import {includes} from '../../src/polyfill.js';
|
|
|
25
25
|
import {S2S_VENDORS} from './config.js';
|
|
26
26
|
import {ajax} from '../../src/ajax.js';
|
|
27
27
|
import {hook} from '../../src/hook.js';
|
|
28
|
-
import {hasPurpose1Consent} from '../../src/utils/
|
|
28
|
+
import {hasPurpose1Consent} from '../../src/utils/gdpr.js';
|
|
29
29
|
import {buildPBSRequest, interpretPBSResponse} from './ortbConverter.js';
|
|
30
30
|
import {useMetrics} from '../../src/utils/perfMetrics.js';
|
|
31
31
|
import {isActivityAllowed} from '../../src/activities/rules.js';
|
|
@@ -515,7 +515,9 @@ export function PrebidServer() {
|
|
|
515
515
|
}
|
|
516
516
|
},
|
|
517
517
|
onFledge: (params) => {
|
|
518
|
-
|
|
518
|
+
config.runWithBidder(params.bidder, () => {
|
|
519
|
+
addPaapiConfig({auctionId: bidRequests[0].auctionId, ...params}, {config: params.config});
|
|
520
|
+
})
|
|
519
521
|
}
|
|
520
522
|
})
|
|
521
523
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
2
2
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
3
|
-
import { hasPurpose1Consent } from '../src/utils/
|
|
3
|
+
import { hasPurpose1Consent } from '../src/utils/gdpr.js';
|
|
4
4
|
import { deepAccess, parseSizesInput, isArray } from '../src/utils.js';
|
|
5
5
|
|
|
6
6
|
const BIDDER_CODE = 'programmatica';
|
|
@@ -68,6 +68,10 @@ const NATIVE_ASSET_IMAGE_TYPE = {
|
|
|
68
68
|
'IMAGE': 3
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
const BANNER_CUSTOM_PARAMS = {
|
|
72
|
+
'battr': DATA_TYPES.ARRAY
|
|
73
|
+
}
|
|
74
|
+
|
|
71
75
|
const NET_REVENUE = true;
|
|
72
76
|
const dealChannelValues = {
|
|
73
77
|
1: 'PMP',
|
|
@@ -551,6 +555,14 @@ function _createBannerRequest(bid) {
|
|
|
551
555
|
}
|
|
552
556
|
bannerObj.pos = 0;
|
|
553
557
|
bannerObj.topframe = inIframe() ? 0 : 1;
|
|
558
|
+
|
|
559
|
+
// Adding Banner custom params
|
|
560
|
+
const bannerCustomParams = {...deepAccess(bid, 'ortb2Imp.banner')};
|
|
561
|
+
for (let key in BANNER_CUSTOM_PARAMS) {
|
|
562
|
+
if (bannerCustomParams.hasOwnProperty(key)) {
|
|
563
|
+
bannerObj[key] = _checkParamDataType(key, bannerCustomParams[key], BANNER_CUSTOM_PARAMS[key]);
|
|
564
|
+
}
|
|
565
|
+
}
|
|
554
566
|
} else {
|
|
555
567
|
logWarn(LOG_WARN_PREFIX + 'Error: mediaTypes.banner.size missing for adunit: ' + bid.params.adUnit + '. Ignoring the banner impression in the adunit.');
|
|
556
568
|
bannerObj = UNDEFINED;
|