prebid.js 7.43.0 → 7.45.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/adkernelAdnAnalyticsAdapter.js +1 -1
- package/dist/admixerIdSystem.js +1 -1
- package/dist/adnuntiusBidAdapter.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adqueryIdSystem.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adrinoBidAdapter.js +1 -1
- package/dist/adriverIdSystem.js +1 -1
- package/dist/adsinteractiveBidAdapter.js +1 -0
- 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/airgridRtdProvider.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/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/appushBidAdapter.js +1 -1
- package/dist/apstreamBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/audiencerunBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bedigitechBidAdapter.js +1 -0
- package/dist/beyondmediaBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bluebillywigBidAdapter.js +1 -1
- package/dist/blueconicRtdProvider.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/browsiRtdProvider.js +1 -1
- package/dist/byDataAnalyticsAdapter.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/criteoIdSystem.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/czechAdIdSystem.js +1 -1
- package/dist/dacIdSystem.js +1 -1
- package/dist/deepintentDpesIdSystem.js +1 -1
- package/dist/dependencies.json +15 -0
- package/dist/discoveryBidAdapter.js +1 -1
- package/dist/domainOverrideToRootDomain.js +1 -0
- 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/fintezaAnalyticsAdapter.js +1 -1
- package/dist/fledgeForGpt.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/ftrackIdSystem.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/globalsunBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/gnetBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gravitoIdSystem.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -0
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/growthCodeAnalyticsAdapter.js +1 -1
- package/dist/growthCodeIdSystem.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.js +1 -1
- package/dist/hadronIdSystem.js +1 -1
- package/dist/hadronRtdProvider.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/idWardRtdProvider.js +1 -1
- package/dist/identityLinkIdSystem.js +1 -1
- package/dist/idxIdSystem.js +1 -1
- package/dist/imRtdProvider.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/imuIdSystem.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/intentIqIdSystem.js +1 -1
- package/dist/invibesBidAdapter.js +1 -1
- package/dist/iqzoneBidAdapter.js +1 -1
- package/dist/ivsBidAdapter.js +1 -0
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.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/lotamePanoramaIdSystem.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/mediagoBidAdapter.js +1 -1
- package/dist/mediakeysBidAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/merkleIdSystem.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/mgidRtdProvider.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/mwOpenLinkIdSystem.js +1 -1
- package/dist/naveggIdSystem.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +232 -227
- package/dist/novatiqIdSystem.js +1 -1
- 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/parrableIdSystem.js +1 -1
- package/dist/permutiveRtdProvider.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/pubCommonId.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.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/quantcastIdSystem.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/realvuAnalyticsAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/roxotAnalyticsAdapter.js +1 -1
- package/dist/rtbhouseBidAdapter.js +1 -1
- package/dist/rtdModule.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharedIdSystem.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/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/staqAnalyticsAdapter.js +1 -1
- package/dist/stroeerCoreBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/teadsIdSystem.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/truereachBidAdapter.js +1 -1
- package/dist/trustpidSystem.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/validationFpdModule.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/weboramaRtdProvider.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/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/dist/zeotapIdPlusIdSystem.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/libraries/domainOverrideToRootDomain/index.js +39 -0
- package/libraries/ortbConverter/converter.js +3 -2
- package/modules/33acrossIdSystem.js +5 -2
- package/modules/acuityAdsBidAdapter.js +1 -1
- package/modules/adagioBidAdapter.js +3 -4
- package/modules/adkernelAdnAnalyticsAdapter.js +4 -2
- package/modules/admixerIdSystem.js +4 -2
- package/modules/adnuntiusBidAdapter.js +1 -1
- package/modules/adqueryBidAdapter.js +1 -1
- package/modules/adqueryIdSystem.js +2 -1
- package/modules/adrinoBidAdapter.js +24 -16
- package/modules/adriverIdSystem.js +3 -2
- package/modules/adsinteractiveBidAdapter.js +144 -0
- package/modules/adsinteractiveBidAdapter.md +31 -0
- package/modules/adyoulikeBidAdapter.js +2 -3
- package/modules/aidemBidAdapter.js +5 -0
- package/modules/airgridRtdProvider.js +4 -2
- package/modules/ajaBidAdapter.js +38 -16
- package/modules/akamaiDapRtdProvider.js +2 -1
- package/modules/amxBidAdapter.js +12 -10
- package/modules/amxIdSystem.js +23 -20
- package/modules/amxIdSystem.md +7 -7
- package/modules/appnexusBidAdapter.js +8 -8
- package/modules/appushBidAdapter.js +1 -1
- package/modules/apstreamBidAdapter.js +1 -1
- package/modules/atsAnalyticsAdapter.js +4 -2
- package/modules/audiencerunBidAdapter.js +9 -10
- package/modules/bedigitechBidAdapter.js +67 -0
- package/modules/bedigitechBidAdapter.md +32 -0
- package/modules/beyondmediaBidAdapter.js +1 -1
- package/modules/bluebillywigBidAdapter.js +2 -4
- package/modules/blueconicRtdProvider.js +2 -1
- package/modules/braveBidAdapter.js +1 -1
- package/modules/brightcomBidAdapter.js +1 -2
- package/modules/brightcomSSPBidAdapter.js +1 -2
- package/modules/browsiRtdProvider.js +4 -2
- package/modules/byDataAnalyticsAdapter.js +6 -3
- package/modules/coinzillaBidAdapter.js +1 -2
- package/modules/compassBidAdapter.js +1 -1
- package/modules/concertBidAdapter.js +14 -7
- package/modules/connectIdSystem.js +96 -21
- package/modules/connectIdSystem.md +6 -5
- package/modules/connectadBidAdapter.js +2 -4
- package/modules/contentexchangeBidAdapter.js +1 -1
- package/modules/craftBidAdapter.js +29 -24
- package/modules/criteoBidAdapter.js +4 -2
- package/modules/criteoIdSystem.js +6 -2
- package/modules/czechAdIdSystem.js +3 -2
- package/modules/dacIdSystem.js +4 -3
- package/modules/deepintentDpesIdSystem.js +3 -2
- package/modules/discoveryBidAdapter.js +1 -1
- package/modules/dspxBidAdapter.js +223 -15
- package/modules/fintezaAnalyticsAdapter.js +5 -3
- package/modules/fledgeForGpt.js +54 -6
- package/modules/freewheel-sspBidAdapter.js +8 -0
- package/modules/ftrackIdSystem.js +6 -6
- package/modules/gdprEnforcement.js +56 -68
- package/modules/glimpseBidAdapter.js +2 -6
- package/modules/globalsunBidAdapter.js +1 -1
- package/modules/gnetBidAdapter.js +1 -2
- package/modules/gravitoIdSystem.js +5 -3
- package/modules/greenbidsAnalyticsAdapter.js +181 -0
- package/modules/greenbidsAnalyticsAdapter.md +23 -0
- package/modules/gridBidAdapter.js +14 -8
- package/modules/gridNMBidAdapter.js +1 -1
- package/modules/growthCodeAnalyticsAdapter.js +3 -2
- package/modules/growthCodeIdSystem.js +21 -17
- package/modules/gumgumBidAdapter.js +8 -18
- package/modules/hadronAnalyticsAdapter.js +5 -3
- package/modules/hadronIdSystem.js +3 -1
- package/modules/hadronRtdProvider.js +4 -2
- package/modules/id5IdSystem.js +4 -2
- package/modules/idWardRtdProvider.js +2 -1
- package/modules/identityLinkIdSystem.js +5 -2
- package/modules/idxIdSystem.js +3 -2
- package/modules/imRtdProvider.js +3 -1
- package/modules/impactifyBidAdapter.js +2 -4
- package/modules/imuIdSystem.js +6 -3
- package/modules/insticatorBidAdapter.js +1 -1
- package/modules/intentIqIdSystem.js +3 -2
- package/modules/invibesBidAdapter.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 +43 -106
- package/modules/jixieBidAdapter.js +3 -6
- package/modules/jwplayerVideoProvider.js +25 -32
- package/modules/kargoBidAdapter.js +1 -1
- package/modules/koblerBidAdapter.js +1 -2
- package/modules/kueezBidAdapter.js +1 -1
- package/modules/kueezRtbBidAdapter.js +1 -1
- package/modules/liveIntentIdSystem.js +11 -2
- package/modules/lotamePanoramaIdSystem.js +3 -2
- package/modules/luponmediaBidAdapter.js +1 -1
- package/modules/magniteAnalyticsAdapter.js +101 -9
- package/modules/mathildeadsBidAdapter.js +1 -1
- package/modules/mediafuseBidAdapter.js +1 -1
- package/modules/mediagoBidAdapter.js +1 -1
- package/modules/mediakeysBidAdapter.js +2 -3
- package/modules/medianetBidAdapter.js +1 -1
- package/modules/merkleIdSystem.js +2 -1
- package/modules/mgidBidAdapter.js +179 -27
- package/modules/mgidRtdProvider.js +3 -1
- package/modules/minutemediaBidAdapter.js +1 -1
- package/modules/minutemediaplusBidAdapter.js +1 -1
- package/modules/mwOpenLinkIdSystem.js +3 -2
- package/modules/naveggIdSystem.js +3 -2
- package/modules/nexx360BidAdapter.js +0 -1
- package/modules/nobidBidAdapter.js +1 -1
- package/modules/novatiqIdSystem.js +6 -3
- package/modules/oguryBidAdapter.js +3 -2
- package/modules/onetagBidAdapter.js +1 -1
- package/modules/onomagicBidAdapter.js +1 -2
- package/modules/openxBidAdapter.js +192 -563
- package/modules/openxBidAdapter.md +22 -20
- package/modules/openxOrtbBidAdapter.js +24 -10
- package/modules/openxOrtbBidAdapter.md +11 -8
- package/modules/operaadsBidAdapter.js +1 -1
- package/modules/parrableIdSystem.js +4 -2
- package/modules/permutiveRtdProvider.js +2 -1
- package/modules/prebidServerBidAdapter/index.js +9 -3
- package/modules/prebidServerBidAdapter/ortbConverter.js +12 -2
- package/modules/prebidmanagerAnalyticsAdapter.js +3 -2
- package/modules/pubCommonId.js +6 -3
- package/modules/publinkIdSystem.js +2 -1
- package/modules/pubmaticAnalyticsAdapter.js +12 -1
- package/modules/pubmaticBidAdapter.js +193 -223
- package/modules/pubwiseAnalyticsAdapter.js +5 -3
- package/modules/pubxBidAdapter.js +5 -2
- package/modules/quantcastBidAdapter.js +1 -1
- package/modules/quantcastIdSystem.js +5 -3
- package/modules/realvuAnalyticsAdapter.js +6 -3
- package/modules/riseBidAdapter.js +1 -1
- package/modules/roxotAnalyticsAdapter.js +5 -2
- package/modules/rtbhouseBidAdapter.js +5 -3
- package/modules/rtdModule/index.js +3 -0
- package/modules/rubiconAnalyticsAdapter.js +3 -2
- package/modules/rubiconBidAdapter.js +1 -0
- package/modules/sharedIdSystem.js +16 -36
- package/modules/sharethroughBidAdapter.js +2 -3
- package/modules/shinezBidAdapter.js +1 -1
- package/modules/sigmoidAnalyticsAdapter.js +4 -2
- package/modules/smartadserverBidAdapter.js +2 -3
- package/modules/smarthubBidAdapter.js +1 -1
- package/modules/sovrnBidAdapter.js +2 -3
- package/modules/staqAnalyticsAdapter.js +5 -3
- package/modules/stroeerCoreBidAdapter.js +3 -2
- package/modules/synacormediaBidAdapter.js +1 -3
- package/modules/taboolaBidAdapter.js +4 -2
- package/modules/teadsBidAdapter.js +1 -1
- package/modules/teadsIdSystem.js +2 -1
- package/modules/tripleliftBidAdapter.js +1 -1
- package/modules/truereachBidAdapter.js +1 -2
- package/modules/trustpidSystem.js +3 -2
- package/modules/ttdBidAdapter.js +11 -5
- package/modules/uid2IdSystem.js +3 -2
- package/modules/undertoneBidAdapter.js +1 -0
- package/modules/userId/eids.js +18 -0
- package/modules/userId/eids.md +16 -0
- package/modules/userId/index.js +5 -2
- package/modules/validationFpdModule/index.js +3 -2
- package/modules/vidazooBidAdapter.js +14 -5
- package/modules/videoheroesBidAdapter.js +1 -1
- package/modules/vidoomyBidAdapter.js +51 -2
- package/modules/visiblemeasuresBidAdapter.js +1 -1
- package/modules/vrtcalBidAdapter.js +1 -1
- package/modules/weboramaRtdProvider.js +3 -1
- package/modules/yieldmoBidAdapter.js +2 -3
- package/modules/yieldoneBidAdapter.js +1 -1
- package/modules/yuktamediaAnalyticsAdapter.js +4 -2
- package/modules/zeotapIdPlusIdSystem.js +3 -2
- package/modules/zeta_global_sspBidAdapter.js +3 -0
- package/package.json +1 -1
- package/plugins/eslint/validateImports.js +13 -14
- package/plugins/pbjsGlobals.js +3 -1
- package/src/Renderer.js +2 -1
- package/src/activities/modules.js +5 -0
- package/src/adapterManager.js +4 -8
- package/src/adapters/bidderFactory.js +30 -16
- package/src/consentHandler.js +42 -0
- package/src/native.js +5 -1
- package/src/refererDetection.js +39 -21
- package/src/secureCreatives.js +2 -2
- package/src/storageManager.js +33 -47
- package/src/userSync.js +7 -4
- package/test/spec/auctionmanager_spec.js +2 -2
- package/test/spec/libraries/domainOverrideToRootDomain/index_spec.js +77 -0
- package/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/test/spec/modules/acuityAdsBidAdapter_spec.js +2 -1
- package/test/spec/modules/adagioBidAdapter_spec.js +11 -17
- package/test/spec/modules/admixerIdSystem_spec.js +0 -3
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +6 -6
- package/test/spec/modules/adrinoBidAdapter_spec.js +65 -34
- package/test/spec/modules/adsinteractiveBidAdapter_spec.js +207 -0
- package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -11
- package/test/spec/modules/aidemBidAdapter_spec.js +72 -8
- package/test/spec/modules/amxBidAdapter_spec.js +4 -1
- package/test/spec/modules/amxIdSystem_spec.js +13 -26
- package/test/spec/modules/appushBidAdapter_spec.js +2 -1
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/audiencerunBidAdapter_spec.js +8 -11
- package/test/spec/modules/bedigitechBidAdapter_spec.js +145 -0
- package/test/spec/modules/beyondmediaBidAdapter_spec.js +2 -1
- package/test/spec/modules/bluebillywigBidAdapter_spec.js +1 -3
- package/test/spec/modules/compassBidAdapter_spec.js +2 -1
- package/test/spec/modules/concertBidAdapter_spec.js +3 -8
- package/test/spec/modules/connectIdSystem_spec.js +420 -242
- package/test/spec/modules/connectadBidAdapter_spec.js +11 -3
- package/test/spec/modules/contentexchangeBidAdapter_spec.js +2 -1
- package/test/spec/modules/criteoBidAdapter_spec.js +29 -0
- package/test/spec/modules/criteoIdSystem_spec.js +38 -0
- package/test/spec/modules/datablocksBidAdapter_spec.js +0 -1
- package/test/spec/modules/dspxBidAdapter_spec.js +184 -13
- package/test/spec/modules/eids_spec.js +30 -0
- package/test/spec/modules/fledge_spec.js +173 -2
- package/test/spec/modules/freewheel-sspBidAdapter_spec.js +37 -0
- package/test/spec/modules/gdprEnforcement_spec.js +134 -164
- package/test/spec/modules/globalsunBidAdapter_spec.js +2 -1
- package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +418 -0
- package/test/spec/modules/gridBidAdapter_spec.js +9 -5
- package/test/spec/modules/growthCodeIdSystem_spec.js +2 -1
- package/test/spec/modules/id5IdSystem_spec.js +41 -4
- package/test/spec/modules/identityLinkIdSystem_spec.js +2 -2
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +10 -3
- 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 +84 -71
- package/test/spec/modules/jixieBidAdapter_spec.js +42 -60
- package/test/spec/modules/koblerBidAdapter_spec.js +0 -20
- 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/mediakeysBidAdapter_spec.js +12 -16
- package/test/spec/modules/mgidBidAdapter_spec.js +184 -36
- package/test/spec/modules/oguryBidAdapter_spec.js +19 -4
- package/test/spec/modules/openxBidAdapter_spec.js +1157 -1936
- package/test/spec/modules/openxOrtbBidAdapter_spec.js +108 -50
- package/test/spec/modules/prebidServerBidAdapter_spec.js +68 -2
- package/test/spec/modules/publinkIdSystem_spec.js +3 -2
- package/test/spec/modules/pubmaticBidAdapter_spec.js +67 -10
- package/test/spec/modules/pubxBidAdapter_spec.js +10 -2
- package/test/spec/modules/realTimeDataModule_spec.js +22 -0
- package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/relaidoBidAdapter_spec.js +5 -5
- package/test/spec/modules/rubiconBidAdapter_spec.js +2 -1
- package/test/spec/modules/sharedIdSystem_spec.js +0 -46
- package/test/spec/modules/sharethroughBidAdapter_spec.js +99 -22
- package/test/spec/modules/smartadserverBidAdapter_spec.js +74 -12
- package/test/spec/modules/smarthubBidAdapter_spec.js +2 -1
- package/test/spec/modules/sovrnBidAdapter_spec.js +25 -6
- package/test/spec/modules/stroeerCoreBidAdapter_spec.js +13 -18
- package/test/spec/modules/synacormediaBidAdapter_spec.js +0 -26
- package/test/spec/modules/taboolaBidAdapter_spec.js +101 -0
- package/test/spec/modules/ttdBidAdapter_spec.js +25 -7
- package/test/spec/modules/userId_spec.js +68 -0
- package/test/spec/modules/vidazooBidAdapter_spec.js +13 -0
- package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +17 -4
- package/test/spec/modules/vidoomyBidAdapter_spec.js +68 -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 +18 -2
- package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -2
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +8 -0
- package/test/spec/refererDetection_spec.js +56 -1
- package/test/spec/renderer_spec.js +1 -2
- package/test/spec/unit/core/adapterManager_spec.js +21 -58
- package/test/spec/unit/core/bidderFactory_spec.js +28 -10
- package/test/spec/unit/core/consentHandler_spec.js +29 -1
- package/test/spec/unit/core/storageManager_spec.js +31 -21
- package/test/spec/userSync_spec.js +2 -1
|
@@ -5,8 +5,11 @@ import adapterManager from '../src/adapterManager.js';
|
|
|
5
5
|
import {includes} from '../src/polyfill.js';
|
|
6
6
|
import {ajaxBuilder} from '../src/ajax.js';
|
|
7
7
|
import {getStorageManager} from '../src/storageManager.js';
|
|
8
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
8
9
|
|
|
9
|
-
const
|
|
10
|
+
const MODULE_CODE = 'roxot';
|
|
11
|
+
|
|
12
|
+
const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
|
|
10
13
|
|
|
11
14
|
let ajax = ajaxBuilder(0);
|
|
12
15
|
|
|
@@ -504,7 +507,7 @@ function buildLogMessage(message) {
|
|
|
504
507
|
|
|
505
508
|
adapterManager.registerAnalyticsAdapter({
|
|
506
509
|
adapter: roxotAdapter,
|
|
507
|
-
code:
|
|
510
|
+
code: MODULE_CODE,
|
|
508
511
|
});
|
|
509
512
|
|
|
510
513
|
export default roxotAdapter;
|
|
@@ -171,10 +171,12 @@ export const spec = {
|
|
|
171
171
|
|
|
172
172
|
if (fledgeAuctionConfigs) {
|
|
173
173
|
fledgeAuctionConfigs = Object.entries(fledgeAuctionConfigs).map(([bidId, cfg]) => {
|
|
174
|
-
return
|
|
174
|
+
return {
|
|
175
175
|
bidId,
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
config: Object.assign({
|
|
177
|
+
auctionSignals: {}
|
|
178
|
+
}, cfg)
|
|
179
|
+
}
|
|
178
180
|
});
|
|
179
181
|
logInfo('Response with FLEDGE:', { bids, fledgeAuctionConfigs });
|
|
180
182
|
return {
|
|
@@ -166,6 +166,8 @@ import CONSTANTS from '../../src/constants.json';
|
|
|
166
166
|
import adapterManager, {gdprDataHandler, uspDataHandler, gppDataHandler} from '../../src/adapterManager.js';
|
|
167
167
|
import {find} from '../../src/polyfill.js';
|
|
168
168
|
import {timedAuctionHook} from '../../src/utils/perfMetrics.js';
|
|
169
|
+
import {GDPR_GVLIDS} from '../../src/consentHandler.js';
|
|
170
|
+
import {MODULE_TYPE_RTD} from '../../src/activities/modules.js';
|
|
169
171
|
|
|
170
172
|
/** @type {string} */
|
|
171
173
|
const MODULE_NAME = 'realTimeData';
|
|
@@ -188,6 +190,7 @@ let _userConsent;
|
|
|
188
190
|
*/
|
|
189
191
|
export function attachRealTimeDataProvider(submodule) {
|
|
190
192
|
registeredSubModules.push(submodule);
|
|
193
|
+
GDPR_GVLIDS.register(MODULE_TYPE_RTD, submodule.name, submodule.gvlid)
|
|
191
194
|
return function detach() {
|
|
192
195
|
const idx = registeredSubModules.indexOf(submodule)
|
|
193
196
|
if (idx >= 0) {
|
|
@@ -5,10 +5,11 @@ import CONSTANTS from '../src/constants.json';
|
|
|
5
5
|
import { ajax } from '../src/ajax.js';
|
|
6
6
|
import { config } from '../src/config.js';
|
|
7
7
|
import { getGlobal } from '../src/prebidGlobal.js';
|
|
8
|
-
import {
|
|
8
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
9
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
9
10
|
|
|
10
11
|
const RUBICON_GVL_ID = 52;
|
|
11
|
-
export const storage = getStorageManager({
|
|
12
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: 'rubicon'});
|
|
12
13
|
const COOKIE_NAME = 'rpaSession';
|
|
13
14
|
const LAST_SEEN_EXPIRE_TIME = 1800000; // 30 mins
|
|
14
15
|
const END_EXPIRE_TIME = 21600000; // 6 hours
|
|
@@ -465,6 +465,7 @@ export const spec = {
|
|
|
465
465
|
'rp_secure': '1',
|
|
466
466
|
'tk_flint': `${rubiConf.int_type || DEFAULT_INTEGRATION}_v$prebid.version$`,
|
|
467
467
|
'x_source.tid': bidRequest.transactionId,
|
|
468
|
+
'x_imp.ext.tid': bidRequest.transactionId,
|
|
468
469
|
'l_pb_bid_id': bidRequest.bidId,
|
|
469
470
|
'p_screen_res': _getScreenResolution(),
|
|
470
471
|
'tk_user_key': params.userId,
|
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
* @requires module:modules/userId
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import {parseUrl, buildUrl, triggerPixel, logInfo, hasDeviceAccess, generateUUID} from '../src/utils.js';
|
|
9
9
|
import {submodule} from '../src/hook.js';
|
|
10
|
-
import {
|
|
10
|
+
import {coppaDataHandler} from '../src/adapterManager.js';
|
|
11
11
|
import {getStorageManager} from '../src/storageManager.js';
|
|
12
12
|
import {VENDORLESS_GVLID} from '../src/consentHandler.js';
|
|
13
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
14
|
+
import {domainOverrideToRootDomain} from '../libraries/domainOverrideToRootDomain/index.js';
|
|
13
15
|
|
|
14
|
-
export const storage = getStorageManager({moduleName: 'pubCommonId'
|
|
16
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: 'pubCommonId'});
|
|
15
17
|
const COOKIE = 'cookie';
|
|
16
18
|
const LOCAL_STORAGE = 'html5';
|
|
17
19
|
const OPTOUT_NAME = '_pubcid_optout';
|
|
@@ -38,12 +40,15 @@ function readValue(name, type) {
|
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
42
|
|
|
41
|
-
function getIdCallback(pubcid,
|
|
42
|
-
return function (callback) {
|
|
43
|
-
if (
|
|
44
|
-
|
|
43
|
+
function getIdCallback(pubcid, pixelUrl) {
|
|
44
|
+
return function (callback, getStoredId) {
|
|
45
|
+
if (pixelUrl) {
|
|
46
|
+
queuePixelCallback(pixelUrl, pubcid, () => {
|
|
47
|
+
callback(getStoredId() || pubcid);
|
|
48
|
+
})();
|
|
49
|
+
} else {
|
|
50
|
+
callback(pubcid);
|
|
45
51
|
}
|
|
46
|
-
callback(pubcid);
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
54
|
|
|
@@ -58,7 +63,7 @@ function queuePixelCallback(pixelUrl, id = '', callback) {
|
|
|
58
63
|
const targetUrl = buildUrl(urlInfo);
|
|
59
64
|
|
|
60
65
|
return function () {
|
|
61
|
-
triggerPixel(targetUrl);
|
|
66
|
+
triggerPixel(targetUrl, callback);
|
|
62
67
|
};
|
|
63
68
|
}
|
|
64
69
|
|
|
@@ -125,8 +130,7 @@ export const sharedIdSystemSubmodule = {
|
|
|
125
130
|
if (!newId) newId = (create && hasDeviceAccess()) ? generateUUID() : undefined;
|
|
126
131
|
}
|
|
127
132
|
|
|
128
|
-
|
|
129
|
-
return {id: newId, callback: getIdCallback(newId, pixelCallback)};
|
|
133
|
+
return {id: newId, callback: getIdCallback(newId, pixelUrl)};
|
|
130
134
|
},
|
|
131
135
|
/**
|
|
132
136
|
* performs action to extend an id. There are generally two ways to extend the expiration time
|
|
@@ -169,31 +173,7 @@ export const sharedIdSystemSubmodule = {
|
|
|
169
173
|
}
|
|
170
174
|
},
|
|
171
175
|
|
|
172
|
-
domainOverride:
|
|
173
|
-
const domainElements = document.domain.split('.');
|
|
174
|
-
const cookieName = `_gd${Date.now()}`;
|
|
175
|
-
for (let i = 0, topDomain, testCookie; i < domainElements.length; i++) {
|
|
176
|
-
const nextDomain = domainElements.slice(i).join('.');
|
|
177
|
-
|
|
178
|
-
// write test cookie
|
|
179
|
-
storage.setCookie(cookieName, '1', undefined, undefined, nextDomain);
|
|
180
|
-
|
|
181
|
-
// read test cookie to verify domain was valid
|
|
182
|
-
testCookie = storage.getCookie(cookieName);
|
|
183
|
-
|
|
184
|
-
// delete test cookie
|
|
185
|
-
storage.setCookie(cookieName, '', 'Thu, 01 Jan 1970 00:00:01 GMT', undefined, nextDomain);
|
|
186
|
-
|
|
187
|
-
if (testCookie === '1') {
|
|
188
|
-
// cookie was written successfully using test domain so the topDomain is updated
|
|
189
|
-
topDomain = nextDomain;
|
|
190
|
-
} else {
|
|
191
|
-
// cookie failed to write using test domain so exit by returning the topDomain
|
|
192
|
-
return topDomain;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
176
|
+
domainOverride: domainOverrideToRootDomain(storage, 'sharedId'),
|
|
197
177
|
};
|
|
198
178
|
|
|
199
179
|
submodule('userId', sharedIdSystemSubmodule);
|
|
@@ -2,7 +2,6 @@ import { deepAccess, generateUUID, inIframe } from '../src/utils.js';
|
|
|
2
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import { config } from '../src/config.js';
|
|
4
4
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
5
|
-
import { createEidsArray } from './userId/eids.js';
|
|
6
5
|
|
|
7
6
|
const VERSION = '4.3.0';
|
|
8
7
|
const BIDDER_CODE = 'sharethrough';
|
|
@@ -22,7 +21,7 @@ export const sharethroughAdapterSpec = {
|
|
|
22
21
|
isBidRequestValid: bid => !!bid.params.pkey && bid.bidder === BIDDER_CODE,
|
|
23
22
|
|
|
24
23
|
buildRequests: (bidRequests, bidderRequest) => {
|
|
25
|
-
const timeout =
|
|
24
|
+
const timeout = bidderRequest.timeout;
|
|
26
25
|
const firstPartyData = bidderRequest.ortb2 || {};
|
|
27
26
|
|
|
28
27
|
const nonHttp = sharethroughInternal.getProtocol().indexOf('http') < 0;
|
|
@@ -66,7 +65,7 @@ export const sharethroughAdapterSpec = {
|
|
|
66
65
|
|
|
67
66
|
req.user = nullish(firstPartyData.user, {});
|
|
68
67
|
if (!req.user.ext) req.user.ext = {};
|
|
69
|
-
req.user.ext.eids =
|
|
68
|
+
req.user.ext.eids = bidRequests[0].userIdAsEids || [];
|
|
70
69
|
|
|
71
70
|
if (bidderRequest.gdprConsent) {
|
|
72
71
|
const gdprApplies = bidderRequest.gdprConsent.gdprApplies === true;
|
|
@@ -364,7 +364,7 @@ function generateGeneralParams(generalObject, bidderRequest) {
|
|
|
364
364
|
const {syncEnabled, filterSettings} = config.getConfig('userSync') || {};
|
|
365
365
|
const {bidderCode} = bidderRequest;
|
|
366
366
|
const generalBidParams = generalObject.params;
|
|
367
|
-
const timeout =
|
|
367
|
+
const timeout = bidderRequest.timeout;
|
|
368
368
|
|
|
369
369
|
// these params are snake_case instead of camelCase to allow backwards compatability on the server.
|
|
370
370
|
// in the future, these will be converted to camelCase to match our convention.
|
|
@@ -6,8 +6,10 @@ import CONSTANTS from '../src/constants.json';
|
|
|
6
6
|
import adapterManager from '../src/adapterManager.js';
|
|
7
7
|
import {getStorageManager} from '../src/storageManager.js';
|
|
8
8
|
import {generateUUID, logError, logInfo} from '../src/utils.js';
|
|
9
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
9
10
|
|
|
10
|
-
const
|
|
11
|
+
const MODULE_CODE = 'sigmoid';
|
|
12
|
+
const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
|
|
11
13
|
|
|
12
14
|
const url = 'https://kinesis.us-east-1.amazonaws.com/';
|
|
13
15
|
const analyticsType = 'endpoint';
|
|
@@ -285,7 +287,7 @@ function pushEvent(eventType, args) {
|
|
|
285
287
|
|
|
286
288
|
adapterManager.registerAnalyticsAdapter({
|
|
287
289
|
adapter: sigmoidAdapter,
|
|
288
|
-
code:
|
|
290
|
+
code: MODULE_CODE,
|
|
289
291
|
});
|
|
290
292
|
|
|
291
293
|
export default sigmoidAdapter;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { deepAccess, deepClone, logError, isFn, isPlainObject } from '../src/utils.js';
|
|
2
2
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
3
3
|
import { config } from '../src/config.js';
|
|
4
|
-
import { createEidsArray } from './userId/eids.js';
|
|
5
4
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
6
5
|
|
|
7
6
|
const BIDDER_CODE = 'smartadserver';
|
|
@@ -177,8 +176,8 @@ export const spec = {
|
|
|
177
176
|
}
|
|
178
177
|
}
|
|
179
178
|
|
|
180
|
-
if (bid && bid.
|
|
181
|
-
payload.eids =
|
|
179
|
+
if (bid && bid.userIdAsEids) {
|
|
180
|
+
payload.eids = bid.userIdAsEids;
|
|
182
181
|
}
|
|
183
182
|
|
|
184
183
|
if (bidderRequest && bidderRequest.uspConsent) {
|
|
@@ -125,7 +125,7 @@ function buildRequestParams(bidderRequest = {}, placements = []) {
|
|
|
125
125
|
coppa: config.getConfig('coppa') === true ? 1 : 0,
|
|
126
126
|
ccpa: bidderRequest.uspConsent || undefined,
|
|
127
127
|
gdpr: bidderRequest.gdprConsent || undefined,
|
|
128
|
-
tmax:
|
|
128
|
+
tmax: bidderRequest.timeout
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
131
|
|
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
BANNER,
|
|
16
16
|
VIDEO
|
|
17
17
|
} from '../src/mediaTypes.js'
|
|
18
|
-
import {createEidsArray} from './userId/eids.js';
|
|
19
18
|
|
|
20
19
|
const ORTB_VIDEO_PARAMS = {
|
|
21
20
|
'mimes': (value) => Array.isArray(value) && value.length > 0 && value.every(v => typeof v === 'string'),
|
|
@@ -90,8 +89,8 @@ export const spec = {
|
|
|
90
89
|
let criteoId;
|
|
91
90
|
|
|
92
91
|
_each(bidReqs, function (bid) {
|
|
93
|
-
if (!eids && bid.
|
|
94
|
-
eids =
|
|
92
|
+
if (!eids && bid.userIdAsEids) {
|
|
93
|
+
eids = bid.userIdAsEids;
|
|
95
94
|
eids.forEach(function (id) {
|
|
96
95
|
if (id.uids && id.uids[0]) {
|
|
97
96
|
if (id.source === 'criteo.com') {
|
|
@@ -4,9 +4,11 @@ import CONSTANTS from '../src/constants.json';
|
|
|
4
4
|
import adapterManager from '../src/adapterManager.js';
|
|
5
5
|
import { getRefererInfo } from '../src/refererDetection.js';
|
|
6
6
|
import { ajax } from '../src/ajax.js';
|
|
7
|
-
import {
|
|
7
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
8
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
8
9
|
|
|
9
|
-
const
|
|
10
|
+
const MODULE_CODE = 'staq';
|
|
11
|
+
const storageObj = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
|
|
10
12
|
|
|
11
13
|
const ANALYTICS_VERSION = '1.0.0';
|
|
12
14
|
const DEFAULT_QUEUE_TIMEOUT = 4000;
|
|
@@ -117,7 +119,7 @@ analyticsAdapter.enableAnalytics = (config) => {
|
|
|
117
119
|
|
|
118
120
|
adapterManager.registerAnalyticsAdapter({
|
|
119
121
|
adapter: analyticsAdapter,
|
|
120
|
-
code:
|
|
122
|
+
code: MODULE_CODE,
|
|
121
123
|
});
|
|
122
124
|
|
|
123
125
|
export default analyticsAdapter;
|
|
@@ -68,9 +68,10 @@ export const spec = {
|
|
|
68
68
|
|
|
69
69
|
const gdprConsent = bidderRequest.gdprConsent;
|
|
70
70
|
|
|
71
|
-
if (gdprConsent
|
|
71
|
+
if (gdprConsent) {
|
|
72
72
|
basePayload.gdpr = {
|
|
73
|
-
consent:
|
|
73
|
+
consent: gdprConsent.consentString,
|
|
74
|
+
applies: gdprConsent.gdprApplies
|
|
74
75
|
};
|
|
75
76
|
}
|
|
76
77
|
|
|
@@ -49,9 +49,7 @@ export const spec = {
|
|
|
49
49
|
imp: []
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
-
const
|
|
53
|
-
const globalTimeout = config.getConfig('bidderTimeout');
|
|
54
|
-
const tmax = globalTimeout ? Math.min(globalTimeout, callbackTimeout) : callbackTimeout;
|
|
52
|
+
const tmax = bidderRequest.timeout;
|
|
55
53
|
if (tmax) {
|
|
56
54
|
openRtbBidRequest.tmax = tmax;
|
|
57
55
|
}
|
|
@@ -24,7 +24,7 @@ const COOKIE_KEY = 'trc_cookie_storage';
|
|
|
24
24
|
* 4. new user set it to 0
|
|
25
25
|
*/
|
|
26
26
|
export const userData = {
|
|
27
|
-
storageManager: getStorageManager({
|
|
27
|
+
storageManager: getStorageManager({bidderCode: BIDDER_CODE}),
|
|
28
28
|
getUserId: () => {
|
|
29
29
|
const {getFromLocalStorage, getFromCookie, getFromTRC} = userData;
|
|
30
30
|
|
|
@@ -278,7 +278,7 @@ function getBid(bids, currency, bidResponse) {
|
|
|
278
278
|
if (!bidResponse) {
|
|
279
279
|
return;
|
|
280
280
|
}
|
|
281
|
-
|
|
281
|
+
let {
|
|
282
282
|
price: cpm, nurl, crid: creativeId, adm: ad, w: width, h: height, exp: ttl, adomain: advertiserDomains, meta = {}
|
|
283
283
|
} = bidResponse;
|
|
284
284
|
let requestId = bids[bidResponse.impid - 1].bidId;
|
|
@@ -286,6 +286,8 @@ function getBid(bids, currency, bidResponse) {
|
|
|
286
286
|
meta.advertiserDomains = advertiserDomains
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
+
ad = replaceAuctionPrice(ad, cpm);
|
|
290
|
+
|
|
289
291
|
return {
|
|
290
292
|
requestId,
|
|
291
293
|
ttl,
|
|
@@ -12,7 +12,7 @@ const gdprStatus = {
|
|
|
12
12
|
CMP_NOT_FOUND_OR_ERROR: 22
|
|
13
13
|
};
|
|
14
14
|
const FP_TEADS_ID_COOKIE_NAME = '_tfpvi';
|
|
15
|
-
export const storage = getStorageManager({
|
|
15
|
+
export const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
16
16
|
|
|
17
17
|
export const spec = {
|
|
18
18
|
code: BIDDER_CODE,
|
package/modules/teadsIdSystem.js
CHANGED
|
@@ -10,6 +10,7 @@ import {ajax} from '../src/ajax.js';
|
|
|
10
10
|
import {submodule} from '../src/hook.js';
|
|
11
11
|
import {getStorageManager} from '../src/storageManager.js';
|
|
12
12
|
import {uspDataHandler} from '../src/adapterManager.js';
|
|
13
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
13
14
|
|
|
14
15
|
const MODULE_NAME = 'teadsId';
|
|
15
16
|
const GVL_ID = 132;
|
|
@@ -28,7 +29,7 @@ export const gdprReason = {
|
|
|
28
29
|
GDPR_APPLIES_PUBLISHER_CLASSIC: 120,
|
|
29
30
|
};
|
|
30
31
|
|
|
31
|
-
export const storage = getStorageManager({
|
|
32
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
32
33
|
|
|
33
34
|
/** @type {Submodule} */
|
|
34
35
|
export const teadsIdSubmodule = {
|
|
@@ -11,7 +11,7 @@ const BANNER_TIME_TO_LIVE = 300;
|
|
|
11
11
|
const VIDEO_TIME_TO_LIVE = 3600;
|
|
12
12
|
let gdprApplies = true;
|
|
13
13
|
let consentString = null;
|
|
14
|
-
export const storage = getStorageManager({
|
|
14
|
+
export const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
15
15
|
|
|
16
16
|
export const tripleliftAdapterSpec = {
|
|
17
17
|
gvlid: GVLID,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { deepAccess, getUniqueIdentifierStr } from '../src/utils.js';
|
|
2
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
3
|
-
import { config } from '../src/config.js';
|
|
4
3
|
import { BANNER } from '../src/mediaTypes.js';
|
|
5
4
|
|
|
6
5
|
const SUPPORTED_AD_TYPES = [BANNER];
|
|
@@ -140,7 +139,7 @@ function buildCommonQueryParamsFromBids(validBidRequests, bidderRequest) {
|
|
|
140
139
|
device: {
|
|
141
140
|
ua: window.navigator.userAgent
|
|
142
141
|
},
|
|
143
|
-
tmax:
|
|
142
|
+
tmax: bidderRequest.timeout
|
|
144
143
|
};
|
|
145
144
|
|
|
146
145
|
return defaultParams;
|
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { logInfo } from '../src/utils.js';
|
|
8
8
|
import { submodule } from '../src/hook.js';
|
|
9
|
-
import {
|
|
9
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
10
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
10
11
|
|
|
11
12
|
const MODULE_NAME = 'trustpid';
|
|
12
13
|
const LOG_PREFIX = 'Trustpid module'
|
|
13
14
|
let mnoDomain = '';
|
|
14
15
|
|
|
15
|
-
export const storage = getStorageManager({
|
|
16
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* Handle an event for an iframe.
|
package/modules/ttdBidAdapter.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as utils from '../src/utils.js';
|
|
2
2
|
import { config } from '../src/config.js';
|
|
3
|
-
import { createEidsArray } from './userId/eids.js';
|
|
4
3
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
5
4
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
6
5
|
|
|
@@ -125,8 +124,8 @@ function getUser(bidderRequest) {
|
|
|
125
124
|
user.buyeruid = bidderRequest.bids[0].userId.tdid;
|
|
126
125
|
}
|
|
127
126
|
|
|
128
|
-
var eids =
|
|
129
|
-
if (eids.length) {
|
|
127
|
+
var eids = utils.deepAccess(bidderRequest, 'bids.0.userIdAsEids')
|
|
128
|
+
if (eids && eids.length) {
|
|
130
129
|
utils.deepSetValue(user, 'ext.eids', eids);
|
|
131
130
|
}
|
|
132
131
|
|
|
@@ -165,15 +164,18 @@ function getImpression(bidRequest) {
|
|
|
165
164
|
|
|
166
165
|
const gpid = utils.deepAccess(bidRequest, 'ortb2Imp.ext.gpid');
|
|
167
166
|
const tid = utils.deepAccess(bidRequest, 'ortb2Imp.ext.tid');
|
|
167
|
+
const rwdd = utils.deepAccess(bidRequest, 'ortb2Imp.rwdd');
|
|
168
168
|
if (gpid || tid) {
|
|
169
169
|
impression.ext = {}
|
|
170
170
|
if (gpid) { impression.ext.gpid = gpid }
|
|
171
171
|
if (tid) { impression.ext.tid = tid }
|
|
172
172
|
}
|
|
173
|
-
|
|
173
|
+
if (rwdd) {
|
|
174
|
+
impression.rwdd = rwdd;
|
|
175
|
+
}
|
|
174
176
|
const tagid = gpid || bidRequest.params.placementId;
|
|
175
177
|
if (tagid) {
|
|
176
|
-
impression.tagid = tagid
|
|
178
|
+
impression.tagid = tagid;
|
|
177
179
|
}
|
|
178
180
|
|
|
179
181
|
const mediaTypesVideo = utils.deepAccess(bidRequest, 'mediaTypes.video');
|
|
@@ -252,6 +254,7 @@ function video(bid) {
|
|
|
252
254
|
const api = utils.deepAccess(bid, 'mediaTypes.video.api');
|
|
253
255
|
const mimes = utils.deepAccess(bid, 'mediaTypes.video.mimes');
|
|
254
256
|
const placement = utils.deepAccess(bid, 'mediaTypes.video.placement');
|
|
257
|
+
const plcmt = utils.deepAccess(bid, 'mediaTypes.video.plcmt');
|
|
255
258
|
const protocols = utils.deepAccess(bid, 'mediaTypes.video.protocols');
|
|
256
259
|
const playbackmethod = utils.deepAccess(bid, 'mediaTypes.video.playbackmethod');
|
|
257
260
|
const pos = utils.deepAccess(bid, 'mediaTypes.video.pos');
|
|
@@ -287,6 +290,9 @@ function video(bid) {
|
|
|
287
290
|
if (playbackmethod) {
|
|
288
291
|
video.playbackmethod = playbackmethod;
|
|
289
292
|
}
|
|
293
|
+
if (plcmt) {
|
|
294
|
+
video.plcmt = plcmt;
|
|
295
|
+
}
|
|
290
296
|
if (pos) {
|
|
291
297
|
video.pos = pos;
|
|
292
298
|
}
|
package/modules/uid2IdSystem.js
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
import { logInfo } from '../src/utils.js';
|
|
10
10
|
import {submodule} from '../src/hook.js';
|
|
11
|
-
import {
|
|
11
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
12
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
12
13
|
|
|
13
14
|
const MODULE_NAME = 'uid2';
|
|
14
15
|
const MODULE_REVISION = `1.0`;
|
|
@@ -24,7 +25,7 @@ const UID2_PROD_URL = 'https://prod.uidapi.com';
|
|
|
24
25
|
const UID2_BASE_URL = UID2_PROD_URL;
|
|
25
26
|
|
|
26
27
|
function getStorage() {
|
|
27
|
-
return getStorageManager({
|
|
28
|
+
return getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
function createLogInfo(prefix) {
|
package/modules/userId/eids.js
CHANGED
|
@@ -146,6 +146,24 @@ export const USER_IDS_CONFIG = {
|
|
|
146
146
|
}
|
|
147
147
|
},
|
|
148
148
|
|
|
149
|
+
// bidswitchId
|
|
150
|
+
'bidswitch': {
|
|
151
|
+
source: 'bidswitch.net',
|
|
152
|
+
atype: 3,
|
|
153
|
+
getValue: function(data) {
|
|
154
|
+
return data.id;
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
// medianetId
|
|
159
|
+
'medianet': {
|
|
160
|
+
source: 'media.net',
|
|
161
|
+
atype: 3,
|
|
162
|
+
getValue: function(data) {
|
|
163
|
+
return data.id;
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
|
|
149
167
|
// britepoolId
|
|
150
168
|
'britepoolid': {
|
|
151
169
|
source: 'britepool.com',
|
package/modules/userId/eids.md
CHANGED
|
@@ -105,6 +105,22 @@ userIdAsEids = [
|
|
|
105
105
|
segments: ['s1', 's2']
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
|
+
|
|
109
|
+
{
|
|
110
|
+
source: 'bidswitch.net',
|
|
111
|
+
uids: [{
|
|
112
|
+
id: 'some-random-id-value',
|
|
113
|
+
atype: 3
|
|
114
|
+
}]
|
|
115
|
+
},
|
|
116
|
+
|
|
117
|
+
{
|
|
118
|
+
source: 'media.net',
|
|
119
|
+
uids: [{
|
|
120
|
+
id: 'some-random-id-value',
|
|
121
|
+
atype: 3
|
|
122
|
+
}]
|
|
123
|
+
},
|
|
108
124
|
|
|
109
125
|
{
|
|
110
126
|
source: 'merkleinc.com',
|
package/modules/userId/index.js
CHANGED
|
@@ -157,6 +157,8 @@ import {hasPurpose1Consent} from '../../src/utils/gpdr.js';
|
|
|
157
157
|
import {registerOrtbProcessor, REQUEST} from '../../src/pbjsORTB.js';
|
|
158
158
|
import {newMetrics, timedAuctionHook, useMetrics} from '../../src/utils/perfMetrics.js';
|
|
159
159
|
import {findRootDomain} from '../../src/fpd/rootDomain.js';
|
|
160
|
+
import {GDPR_GVLIDS} from '../../src/consentHandler.js';
|
|
161
|
+
import {MODULE_TYPE_UID} from '../../src/activities/modules.js';
|
|
160
162
|
|
|
161
163
|
const MODULE_NAME = 'User ID';
|
|
162
164
|
const COOKIE = STORAGE_TYPE_COOKIES;
|
|
@@ -413,7 +415,7 @@ function processSubmoduleCallbacks(submodules, cb) {
|
|
|
413
415
|
moduleDone();
|
|
414
416
|
}
|
|
415
417
|
try {
|
|
416
|
-
submodule.callback(callbackCompleted);
|
|
418
|
+
submodule.callback(callbackCompleted, getStoredValue.bind(null, submodule.config?.storage));
|
|
417
419
|
} catch (e) {
|
|
418
420
|
logError(`Error in userID module '${submodule.submodule.name}':`, e);
|
|
419
421
|
moduleDone();
|
|
@@ -982,7 +984,7 @@ function updateSubmodules() {
|
|
|
982
984
|
submodule: i,
|
|
983
985
|
config: submoduleConfig,
|
|
984
986
|
callback: undefined,
|
|
985
|
-
idObj: undefined
|
|
987
|
+
idObj: undefined,
|
|
986
988
|
} : null;
|
|
987
989
|
}).filter(submodule => submodule !== null)
|
|
988
990
|
.forEach((sm) => submodules.push(sm));
|
|
@@ -1019,6 +1021,7 @@ export function requestDataDeletion(next, ...args) {
|
|
|
1019
1021
|
export function attachIdSystem(submodule) {
|
|
1020
1022
|
if (!find(submoduleRegistry, i => i.name === submodule.name)) {
|
|
1021
1023
|
submoduleRegistry.push(submodule);
|
|
1024
|
+
GDPR_GVLIDS.register(MODULE_TYPE_UID, submodule.name, submodule.gvlid)
|
|
1022
1025
|
updateSubmodules();
|
|
1023
1026
|
// TODO: a test case wants this to work even if called after init (the setConfig({userId}))
|
|
1024
1027
|
// so we trigger a refresh. But is that even possible outside of tests?
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
import {deepAccess, isEmpty, isNumber, logWarn} from '../../src/utils.js';
|
|
6
6
|
import {ORTB_MAP} from './config.js';
|
|
7
7
|
import {submodule} from '../../src/hook.js';
|
|
8
|
-
import {
|
|
8
|
+
import {getCoreStorageManager} from '../../src/storageManager.js';
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// TODO: do FPD modules need their own namespace?
|
|
11
|
+
const STORAGE = getCoreStorageManager('FPDValidation');
|
|
11
12
|
let optout;
|
|
12
13
|
|
|
13
14
|
/**
|
|
@@ -28,7 +28,7 @@ export const SUPPORTED_ID_SYSTEMS = {
|
|
|
28
28
|
'pubProvidedId': 1
|
|
29
29
|
};
|
|
30
30
|
export const webSessionId = 'wsid_' + parseInt(Date.now() * Math.random());
|
|
31
|
-
const storage = getStorageManager({
|
|
31
|
+
const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
32
32
|
|
|
33
33
|
function getTopWindowQueryParams() {
|
|
34
34
|
try {
|
|
@@ -227,7 +227,7 @@ function interpretResponse(serverResponse, request) {
|
|
|
227
227
|
|
|
228
228
|
try {
|
|
229
229
|
results.forEach(result => {
|
|
230
|
-
const {creativeId, ad, price, exp, width, height, currency, advertiserDomains, mediaType = BANNER} = result;
|
|
230
|
+
const {creativeId, ad, price, exp, width, height, currency, advertiserDomains, metaData, mediaType = BANNER} = result;
|
|
231
231
|
if (!ad || !price) {
|
|
232
232
|
return;
|
|
233
233
|
}
|
|
@@ -241,11 +241,20 @@ function interpretResponse(serverResponse, request) {
|
|
|
241
241
|
currency: currency || CURRENCY,
|
|
242
242
|
netRevenue: true,
|
|
243
243
|
ttl: exp || TTL_SECONDS,
|
|
244
|
-
meta: {
|
|
245
|
-
advertiserDomains: advertiserDomains || []
|
|
246
|
-
}
|
|
247
244
|
};
|
|
248
245
|
|
|
246
|
+
if (metaData) {
|
|
247
|
+
Object.assign(response, {
|
|
248
|
+
meta: metaData
|
|
249
|
+
})
|
|
250
|
+
} else {
|
|
251
|
+
Object.assign(response, {
|
|
252
|
+
meta: {
|
|
253
|
+
advertiserDomains: advertiserDomains || []
|
|
254
|
+
}
|
|
255
|
+
})
|
|
256
|
+
}
|
|
257
|
+
|
|
249
258
|
if (mediaType === BANNER) {
|
|
250
259
|
Object.assign(response, {
|
|
251
260
|
ad: ad,
|