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
package/modules/ixBidAdapter.js
CHANGED
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
logError,
|
|
14
14
|
logWarn,
|
|
15
15
|
mergeDeep,
|
|
16
|
-
parseQueryStringParameters,
|
|
17
16
|
safeJSONParse
|
|
18
17
|
} from '../src/utils.js';
|
|
19
18
|
import { BANNER, VIDEO, NATIVE } from '../src/mediaTypes.js';
|
|
@@ -102,11 +101,14 @@ const VIDEO_PARAMS_ALLOW_LIST = [
|
|
|
102
101
|
const LOCAL_STORAGE_KEY = 'ixdiag';
|
|
103
102
|
export const LOCAL_STORAGE_FEATURE_TOGGLES_KEY = `${BIDDER_CODE}_features`;
|
|
104
103
|
let hasRegisteredHandler = false;
|
|
105
|
-
export const storage = getStorageManager({
|
|
104
|
+
export const storage = getStorageManager({ bidderCode: BIDDER_CODE });
|
|
106
105
|
export const FEATURE_TOGGLES = {
|
|
106
|
+
// Update with list of CFTs to be requested from Exchange
|
|
107
|
+
REQUESTED_FEATURE_TOGGLES: [],
|
|
108
|
+
|
|
107
109
|
featureToggles: {},
|
|
108
110
|
isFeatureEnabled: function (ft) {
|
|
109
|
-
return deepAccess(this.featureToggles, `features.${ft}.activated
|
|
111
|
+
return deepAccess(this.featureToggles, `features.${ft}.activated`, false)
|
|
110
112
|
},
|
|
111
113
|
getFeatureToggles: function () {
|
|
112
114
|
if (storage.localStorageIsEnabled()) {
|
|
@@ -152,11 +154,6 @@ const MEDIA_TYPES = {
|
|
|
152
154
|
Native: 4
|
|
153
155
|
};
|
|
154
156
|
|
|
155
|
-
let baseRequestSize = 0;
|
|
156
|
-
let currentRequestSize = 0;
|
|
157
|
-
let wasAdUnitImpressionsTrimmed = false;
|
|
158
|
-
let currentImpressionSize = 0;
|
|
159
|
-
|
|
160
157
|
/**
|
|
161
158
|
* Transform valid bid request config object to banner impression object that will be sent to ad server.
|
|
162
159
|
*
|
|
@@ -598,19 +595,12 @@ function getEidInfo(allEids) {
|
|
|
598
595
|
*
|
|
599
596
|
*/
|
|
600
597
|
function buildRequest(validBidRequests, bidderRequest, impressions, version) {
|
|
601
|
-
baseRequestSize = 0;
|
|
602
|
-
currentRequestSize = 0;
|
|
603
|
-
wasAdUnitImpressionsTrimmed = false;
|
|
604
|
-
currentImpressionSize = 0;
|
|
605
|
-
|
|
606
598
|
// Always use secure HTTPS protocol.
|
|
607
599
|
let baseUrl = SECURE_BID_URL;
|
|
608
600
|
// Get ids from Prebid User ID Modules
|
|
609
601
|
let eidInfo = getEidInfo(deepAccess(validBidRequests, '0.userIdAsEids'));
|
|
610
602
|
let userEids = eidInfo.toSend;
|
|
611
603
|
|
|
612
|
-
let MAX_REQUEST_SIZE = 8000;
|
|
613
|
-
|
|
614
604
|
// RTI ids will be included in the bid request if the function getIdentityInfo() is loaded
|
|
615
605
|
// and if the data for the partner exist
|
|
616
606
|
if (window.headertag && typeof window.headertag.getIdentityInfo === 'function') {
|
|
@@ -625,6 +615,9 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
|
|
|
625
615
|
const requests = [];
|
|
626
616
|
let r = createRequest(validBidRequests);
|
|
627
617
|
|
|
618
|
+
// Add FTs to be requested from Exchange
|
|
619
|
+
r = addRequestedFeatureToggles(r, FEATURE_TOGGLES.REQUESTED_FEATURE_TOGGLES)
|
|
620
|
+
|
|
628
621
|
// getting ixdiags for adunits of the video, outstream & multi format (MF) style
|
|
629
622
|
let ixdiag = buildIXDiag(validBidRequests);
|
|
630
623
|
for (var key in ixdiag) {
|
|
@@ -636,25 +629,17 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
|
|
|
636
629
|
r = applyRegulations(r, bidderRequest);
|
|
637
630
|
|
|
638
631
|
let payload = {};
|
|
639
|
-
createPayload(validBidRequests, bidderRequest, r, baseUrl, requests, payload
|
|
632
|
+
createPayload(validBidRequests, bidderRequest, r, baseUrl, requests, payload);
|
|
640
633
|
|
|
641
|
-
let requestSequenceNumber = 0;
|
|
642
634
|
const transactionIds = Object.keys(impressions);
|
|
643
635
|
let isFpdAdded = false;
|
|
644
636
|
|
|
645
637
|
for (let adUnitIndex = 0; adUnitIndex < transactionIds.length; adUnitIndex++) {
|
|
646
|
-
// buildRequestV2 does not have request spliting logic.
|
|
647
|
-
if (!FEATURE_TOGGLES.isFeatureEnabled('pbjs_use_buildRequestV2')) {
|
|
648
|
-
if (currentRequestSize >= MAX_REQUEST_SIZE) {
|
|
649
|
-
break;
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
638
|
if (requests.length >= MAX_REQUEST_LIMIT) {
|
|
653
639
|
break;
|
|
654
640
|
}
|
|
655
641
|
|
|
656
|
-
r = addImpressions(impressions, transactionIds, r, adUnitIndex
|
|
657
|
-
currentRequestSize += currentImpressionSize;
|
|
642
|
+
r = addImpressions(impressions, transactionIds, r, adUnitIndex);
|
|
658
643
|
|
|
659
644
|
const fpd = deepAccess(bidderRequest, 'ortb2') || {};
|
|
660
645
|
const site = { ...(fpd.site || fpd.context) };
|
|
@@ -667,31 +652,17 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
|
|
|
667
652
|
clonedRObject.site = mergeDeep({}, clonedRObject.site, site);
|
|
668
653
|
clonedRObject.user = mergeDeep({}, clonedRObject.user, user);
|
|
669
654
|
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
r.site = mergeDeep({}, r.site, site);
|
|
674
|
-
r.user = mergeDeep({}, r.user, user);
|
|
675
|
-
isFpdAdded = true;
|
|
676
|
-
const fpdRequestSize = encodeURIComponent(JSON.stringify({ ...site, ...user })).length;
|
|
677
|
-
currentRequestSize += fpdRequestSize;
|
|
678
|
-
} else {
|
|
679
|
-
logError('IX Bid Adapter: FPD request size has exceeded maximum request size.', { bidder: BIDDER_CODE, code: ERROR_CODES.PB_FPD_EXCEEDS_MAX_SIZE });
|
|
680
|
-
}
|
|
655
|
+
r.site = mergeDeep({}, r.site, site);
|
|
656
|
+
r.user = mergeDeep({}, r.user, user);
|
|
657
|
+
isFpdAdded = true;
|
|
681
658
|
}
|
|
682
659
|
|
|
683
660
|
// add identifiers info to ixDiag
|
|
684
|
-
r = addIdentifiersInfo(impressions, r, transactionIds, adUnitIndex, payload, baseUrl
|
|
661
|
+
r = addIdentifiersInfo(impressions, r, transactionIds, adUnitIndex, payload, baseUrl);
|
|
685
662
|
|
|
686
663
|
const isLastAdUnit = adUnitIndex === transactionIds.length - 1;
|
|
687
664
|
|
|
688
|
-
if (
|
|
689
|
-
if (!isLastAdUnit || requestSequenceNumber) {
|
|
690
|
-
r.ext.ixdiag.sn = requestSequenceNumber;
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
requestSequenceNumber++;
|
|
694
|
-
|
|
665
|
+
if (isLastAdUnit) {
|
|
695
666
|
requests.push({
|
|
696
667
|
method: 'POST',
|
|
697
668
|
url: baseUrl + '?s=' + siteID,
|
|
@@ -702,7 +673,6 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
|
|
|
702
673
|
validBidRequests
|
|
703
674
|
});
|
|
704
675
|
|
|
705
|
-
currentRequestSize = baseRequestSize;
|
|
706
676
|
r.imp = [];
|
|
707
677
|
isFpdAdded = false;
|
|
708
678
|
}
|
|
@@ -751,6 +721,24 @@ function createRequest(validBidRequests) {
|
|
|
751
721
|
return r
|
|
752
722
|
}
|
|
753
723
|
|
|
724
|
+
/**
|
|
725
|
+
* Adds requested feature toggles to the provided request object to be sent to Exchange.
|
|
726
|
+
* @param {object} r - The request object to add feature toggles to.
|
|
727
|
+
* @param {Array} requestedFeatureToggles - The list of feature toggles to add.
|
|
728
|
+
* @returns {object} The updated request object with the added feature toggles.
|
|
729
|
+
*/
|
|
730
|
+
function addRequestedFeatureToggles(r, requestedFeatureToggles) {
|
|
731
|
+
if (requestedFeatureToggles.length > 0) {
|
|
732
|
+
r.ext.features = {};
|
|
733
|
+
// Loop through each feature toggle and add it to the features object.
|
|
734
|
+
// Add current activation status as well.
|
|
735
|
+
requestedFeatureToggles.forEach(toggle => {
|
|
736
|
+
r.ext.features[toggle] = { activated: FEATURE_TOGGLES.isFeatureEnabled(toggle) };
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
return r;
|
|
740
|
+
}
|
|
741
|
+
|
|
754
742
|
/**
|
|
755
743
|
* enrichRequest adds userSync configs, source, and referer info to request and ixDiag objects.
|
|
756
744
|
*
|
|
@@ -871,9 +859,8 @@ function applyRegulations(r, bidderRequest) {
|
|
|
871
859
|
* @param {string} baseUrl Base exchagne URL.
|
|
872
860
|
* @param {array} requests List of request obejcts.
|
|
873
861
|
* @param {object} payload Request payload object.
|
|
874
|
-
* @param {int} MAX_REQUEST_SIZE Maximum request size limit (buildrequest V1).
|
|
875
862
|
*/
|
|
876
|
-
function createPayload(validBidRequests, bidderRequest, r, baseUrl, requests, payload
|
|
863
|
+
function createPayload(validBidRequests, bidderRequest, r, baseUrl, requests, payload) {
|
|
877
864
|
// Use the siteId in the first bid request as the main siteId.
|
|
878
865
|
siteID = validBidRequests[0].params.siteId;
|
|
879
866
|
payload.s = siteID;
|
|
@@ -882,16 +869,6 @@ function createPayload(validBidRequests, bidderRequest, r, baseUrl, requests, pa
|
|
|
882
869
|
const bidderCode = (bidderRequest && bidderRequest.bidderCode) || 'ix';
|
|
883
870
|
const otherIxConfig = config.getConfig(bidderCode);
|
|
884
871
|
|
|
885
|
-
baseRequestSize = `${baseUrl}${parseQueryStringParameters({ ...payload, r: JSON.stringify(r) })}`.length;
|
|
886
|
-
|
|
887
|
-
if (baseRequestSize > MAX_REQUEST_SIZE) {
|
|
888
|
-
logError('IX Bid Adapter: Base request size has exceeded maximum request size.', { bidder: BIDDER_CODE, code: ERROR_CODES.EXCEEDS_MAX_SIZE });
|
|
889
|
-
return requests;
|
|
890
|
-
}
|
|
891
|
-
|
|
892
|
-
currentRequestSize = baseRequestSize;
|
|
893
|
-
let fpdRequestSize = 0;
|
|
894
|
-
|
|
895
872
|
if (otherIxConfig) {
|
|
896
873
|
// Append firstPartyData to r.site.page if firstPartyData exists.
|
|
897
874
|
if (typeof otherIxConfig.firstPartyData === 'object') {
|
|
@@ -904,25 +881,10 @@ function createPayload(validBidRequests, bidderRequest, r, baseUrl, requests, pa
|
|
|
904
881
|
}
|
|
905
882
|
firstPartyString = firstPartyString.slice(0, -1);
|
|
906
883
|
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
if (!FEATURE_TOGGLES.isFeatureEnabled('pbjs_use_buildRequestV2')) {
|
|
910
|
-
if (fpdRequestSize < MAX_REQUEST_SIZE) {
|
|
911
|
-
if ('page' in r.site) {
|
|
912
|
-
r.site.page += firstPartyString;
|
|
913
|
-
} else {
|
|
914
|
-
r.site.page = firstPartyString;
|
|
915
|
-
}
|
|
916
|
-
currentRequestSize += fpdRequestSize;
|
|
917
|
-
} else {
|
|
918
|
-
logError('IX Bid Adapter: IX config FPD request size has exceeded maximum request size.', { bidder: BIDDER_CODE, code: ERROR_CODES.IX_FPD_EXCEEDS_MAX_SIZE });
|
|
919
|
-
}
|
|
884
|
+
if ('page' in r.site) {
|
|
885
|
+
r.site.page += firstPartyString;
|
|
920
886
|
} else {
|
|
921
|
-
|
|
922
|
-
r.site.page += firstPartyString;
|
|
923
|
-
} else {
|
|
924
|
-
r.site.page = firstPartyString;
|
|
925
|
-
}
|
|
887
|
+
r.site.page = firstPartyString;
|
|
926
888
|
}
|
|
927
889
|
}
|
|
928
890
|
}
|
|
@@ -935,30 +897,17 @@ function createPayload(validBidRequests, bidderRequest, r, baseUrl, requests, pa
|
|
|
935
897
|
* @param {array} transactionIds List of transaction Ids.
|
|
936
898
|
* @param {object} r Reuqest object.
|
|
937
899
|
* @param {int} adUnitIndex Index of the current add unit
|
|
938
|
-
* @param {int} MAX_REQUEST_SIZE Maximum request size limit (buildrequest V1).
|
|
939
900
|
* @return {object} Reqyest object with added impressions describing the request to the server.
|
|
940
901
|
*/
|
|
941
|
-
function addImpressions(impressions, transactionIds, r, adUnitIndex
|
|
902
|
+
function addImpressions(impressions, transactionIds, r, adUnitIndex) {
|
|
942
903
|
const adUnitImpressions = impressions[transactionIds[adUnitIndex]];
|
|
943
904
|
const { missingImps: missingBannerImpressions = [], ixImps = [] } = adUnitImpressions;
|
|
944
|
-
|
|
945
|
-
let remainingRequestSize = MAX_REQUEST_SIZE - currentRequestSize;
|
|
946
905
|
const sourceImpressions = { ixImps, missingBannerImpressions };
|
|
947
906
|
const impressionObjects = Object.keys(sourceImpressions)
|
|
948
907
|
.map((key) => sourceImpressions[key])
|
|
949
908
|
.filter(item => Array.isArray(item))
|
|
950
909
|
.reduce((acc, curr) => acc.concat(...curr), []);
|
|
951
910
|
|
|
952
|
-
currentImpressionSize = encodeURIComponent(JSON.stringify({ impressionObjects })).length;
|
|
953
|
-
|
|
954
|
-
if (!FEATURE_TOGGLES.isFeatureEnabled('pbjs_use_buildRequestV2')) {
|
|
955
|
-
while (impressionObjects.length && currentImpressionSize > remainingRequestSize) {
|
|
956
|
-
wasAdUnitImpressionsTrimmed = true;
|
|
957
|
-
impressionObjects.pop();
|
|
958
|
-
currentImpressionSize = encodeURIComponent(JSON.stringify({ impressionObjects })).length;
|
|
959
|
-
}
|
|
960
|
-
}
|
|
961
|
-
|
|
962
911
|
const gpid = impressions[transactionIds[adUnitIndex]].gpid;
|
|
963
912
|
const dfpAdUnitCode = impressions[transactionIds[adUnitIndex]].dfp_ad_unit_code;
|
|
964
913
|
const tid = impressions[transactionIds[adUnitIndex]].tid;
|
|
@@ -1071,30 +1020,18 @@ function addFPD(bidderRequest, r, fpd, site, user) {
|
|
|
1071
1020
|
* @param {int} adUnitIndex Index of the current add unit
|
|
1072
1021
|
* @param {object} payload Request payload object.
|
|
1073
1022
|
* @param {string} baseUrl Base exchagne URL.
|
|
1074
|
-
* @param {int} MAX_REQUEST_SIZE Maximum request size limit (buildrequest V1).
|
|
1075
1023
|
* @return {object} Reqyest object with added indentigfier info to ixDiag.
|
|
1076
1024
|
*/
|
|
1077
|
-
function addIdentifiersInfo(impressions, r, transactionIds, adUnitIndex, payload, baseUrl
|
|
1025
|
+
function addIdentifiersInfo(impressions, r, transactionIds, adUnitIndex, payload, baseUrl) {
|
|
1078
1026
|
const pbaAdSlot = impressions[transactionIds[adUnitIndex]].pbadslot;
|
|
1079
1027
|
const tagId = impressions[transactionIds[adUnitIndex]].tagId;
|
|
1080
1028
|
const adUnitCode = impressions[transactionIds[adUnitIndex]].adUnitCode;
|
|
1081
1029
|
const divId = impressions[transactionIds[adUnitIndex]].divId;
|
|
1082
1030
|
if (pbaAdSlot || tagId || adUnitCode || divId) {
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
r.ext.ixdiag.pbadslot = pbaAdSlot;
|
|
1088
|
-
r.ext.ixdiag.tagid = tagId;
|
|
1089
|
-
r.ext.ixdiag.adunitcode = adUnitCode;
|
|
1090
|
-
r.ext.ixdiag.divId = divId;
|
|
1091
|
-
}
|
|
1092
|
-
} else {
|
|
1093
|
-
r.ext.ixdiag.pbadslot = pbaAdSlot;
|
|
1094
|
-
r.ext.ixdiag.tagid = tagId;
|
|
1095
|
-
r.ext.ixdiag.adunitcode = adUnitCode;
|
|
1096
|
-
r.ext.ixdiag.divId = divId;
|
|
1097
|
-
}
|
|
1031
|
+
r.ext.ixdiag.pbadslot = pbaAdSlot;
|
|
1032
|
+
r.ext.ixdiag.tagid = tagId;
|
|
1033
|
+
r.ext.ixdiag.adunitcode = adUnitCode;
|
|
1034
|
+
r.ext.ixdiag.divId = divId;
|
|
1098
1035
|
}
|
|
1099
1036
|
|
|
1100
1037
|
return r;
|
|
@@ -6,7 +6,6 @@ import {BANNER, VIDEO} from '../src/mediaTypes.js';
|
|
|
6
6
|
import {ajax} from '../src/ajax.js';
|
|
7
7
|
import {getRefererInfo} from '../src/refererDetection.js';
|
|
8
8
|
import {Renderer} from '../src/Renderer.js';
|
|
9
|
-
import {createEidsArray} from './userId/eids.js';
|
|
10
9
|
|
|
11
10
|
const BIDDER_CODE = 'jixie';
|
|
12
11
|
export const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
@@ -190,12 +189,10 @@ export const spec = {
|
|
|
190
189
|
let miscDims = internal.getMiscDims();
|
|
191
190
|
let schain = deepAccess(validBidRequests[0], 'schain');
|
|
192
191
|
|
|
192
|
+
let eids1 = validBidRequests[0].userIdAsEids
|
|
193
193
|
// all available user ids are sent to our backend in the standard array layout:
|
|
194
|
-
if (
|
|
195
|
-
|
|
196
|
-
if (eids1.length) {
|
|
197
|
-
eids = eids1;
|
|
198
|
-
}
|
|
194
|
+
if (eids1 && eids1.length) {
|
|
195
|
+
eids = eids1;
|
|
199
196
|
}
|
|
200
197
|
// we want to send this blob of info to our backend:
|
|
201
198
|
let pg = config.getConfig('priceGranularity');
|
|
@@ -47,31 +47,29 @@ export function JWPlayerProvider(config, jwplayer_, adState_, timeState_, callba
|
|
|
47
47
|
|
|
48
48
|
function init() {
|
|
49
49
|
if (!jwplayer) {
|
|
50
|
-
triggerSetupFailure(-1); // TODO: come up with error code schema- player is absent
|
|
50
|
+
triggerSetupFailure({ code: -1 }); // TODO: come up with error code schema- player is absent
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
playerVersion = jwplayer.version;
|
|
55
55
|
|
|
56
56
|
if (playerVersion < minimumSupportedPlayerVersion) {
|
|
57
|
-
triggerSetupFailure(-2); // TODO: come up with error code schema - version not supported
|
|
57
|
+
triggerSetupFailure({ code: -2 }); // TODO: come up with error code schema - version not supported
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
if (!document.getElementById(divId)) {
|
|
62
|
-
triggerSetupFailure(-3); // TODO: come up with error code schema - missing div id
|
|
62
|
+
triggerSetupFailure({ code: -3 }); // TODO: come up with error code schema - missing div id
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
player = jwplayer(divId);
|
|
67
67
|
if (!player || !player.getState) {
|
|
68
|
-
triggerSetupFailure(-4); // TODO: come up with error code schema - factory function failure
|
|
68
|
+
triggerSetupFailure({ code: -4 }); // TODO: come up with error code schema - factory function failure
|
|
69
69
|
} else if (player.getState() === undefined) {
|
|
70
70
|
setupPlayer(playerConfig);
|
|
71
71
|
} else {
|
|
72
|
-
|
|
73
|
-
setupCompleteCallbacks.forEach(callback => callback(SETUP_COMPLETE, payload));
|
|
74
|
-
setupCompleteCallbacks = [];
|
|
72
|
+
triggerSetupComplete();
|
|
75
73
|
}
|
|
76
74
|
}
|
|
77
75
|
|
|
@@ -192,8 +190,12 @@ export function JWPlayerProvider(config, jwplayer_, adState_, timeState_, callba
|
|
|
192
190
|
function onEvent(externalEventName, callback, basePayload) {
|
|
193
191
|
if (externalEventName === SETUP_COMPLETE) {
|
|
194
192
|
setupCompleteCallbacks.push(callback);
|
|
195
|
-
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
if (externalEventName === SETUP_FAILED) {
|
|
196
197
|
setupFailedCallbacks.push(callback);
|
|
198
|
+
return;
|
|
197
199
|
}
|
|
198
200
|
|
|
199
201
|
if (!player) {
|
|
@@ -203,25 +205,6 @@ export function JWPlayerProvider(config, jwplayer_, adState_, timeState_, callba
|
|
|
203
205
|
let getEventPayload;
|
|
204
206
|
|
|
205
207
|
switch (externalEventName) {
|
|
206
|
-
case SETUP_COMPLETE:
|
|
207
|
-
getEventPayload = () => {
|
|
208
|
-
setupCompleteCallbacks = [];
|
|
209
|
-
return getSetupCompletePayload();
|
|
210
|
-
};
|
|
211
|
-
break;
|
|
212
|
-
|
|
213
|
-
case SETUP_FAILED:
|
|
214
|
-
getEventPayload = e => {
|
|
215
|
-
setupFailedCallbacks = [];
|
|
216
|
-
return {
|
|
217
|
-
playerVersion,
|
|
218
|
-
errorCode: e.code,
|
|
219
|
-
errorMessage: e.message,
|
|
220
|
-
sourceError: e.sourceError
|
|
221
|
-
};
|
|
222
|
-
};
|
|
223
|
-
break;
|
|
224
|
-
|
|
225
208
|
case AD_REQUEST:
|
|
226
209
|
case AD_PLAY:
|
|
227
210
|
case AD_PAUSE:
|
|
@@ -496,7 +479,17 @@ export function JWPlayerProvider(config, jwplayer_, adState_, timeState_, callba
|
|
|
496
479
|
if (!config) {
|
|
497
480
|
return;
|
|
498
481
|
}
|
|
499
|
-
player.setup(utils.getJwConfig(config));
|
|
482
|
+
player.setup(utils.getJwConfig(config)).on('ready', triggerSetupComplete).on('setupError', triggerSetupFailure);
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
function triggerSetupComplete() {
|
|
486
|
+
if (!setupCompleteCallbacks.length) {
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
const payload = getSetupCompletePayload();
|
|
491
|
+
setupCompleteCallbacks.forEach(callback => callback(SETUP_COMPLETE, payload));
|
|
492
|
+
setupCompleteCallbacks = [];
|
|
500
493
|
}
|
|
501
494
|
|
|
502
495
|
function getSetupCompletePayload() {
|
|
@@ -511,7 +504,7 @@ export function JWPlayerProvider(config, jwplayer_, adState_, timeState_, callba
|
|
|
511
504
|
};
|
|
512
505
|
}
|
|
513
506
|
|
|
514
|
-
function triggerSetupFailure(
|
|
507
|
+
function triggerSetupFailure(e) {
|
|
515
508
|
if (!setupFailedCallbacks.length) {
|
|
516
509
|
return;
|
|
517
510
|
}
|
|
@@ -520,9 +513,9 @@ export function JWPlayerProvider(config, jwplayer_, adState_, timeState_, callba
|
|
|
520
513
|
divId,
|
|
521
514
|
playerVersion,
|
|
522
515
|
type: SETUP_FAILED,
|
|
523
|
-
errorCode,
|
|
524
|
-
errorMessage:
|
|
525
|
-
sourceError:
|
|
516
|
+
errorCode: e.code,
|
|
517
|
+
errorMessage: e.message,
|
|
518
|
+
sourceError: e.sourceError
|
|
526
519
|
};
|
|
527
520
|
|
|
528
521
|
setupFailedCallbacks.forEach(callback => callback(SETUP_FAILED, payload));
|
|
@@ -11,7 +11,7 @@ const PREBID_VERSION = '$prebid.version$';
|
|
|
11
11
|
const SYNC_COUNT = 5;
|
|
12
12
|
const GVLID = 972;
|
|
13
13
|
const SUPPORTED_MEDIA_TYPES = [BANNER, VIDEO];
|
|
14
|
-
const storage = getStorageManager({
|
|
14
|
+
const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
15
15
|
|
|
16
16
|
let sessionId,
|
|
17
17
|
lastPageUrl,
|
|
@@ -17,7 +17,6 @@ const BIDDER_ENDPOINT = 'https://bid.essrtb.com/bid/prebid_rtb_call';
|
|
|
17
17
|
const DEV_BIDDER_ENDPOINT = 'https://bid-service.dev.essrtb.com/bid/prebid_rtb_call';
|
|
18
18
|
const TIMEOUT_NOTIFICATION_ENDPOINT = 'https://bid.essrtb.com/notify/prebid_timeout';
|
|
19
19
|
const SUPPORTED_CURRENCY = 'USD';
|
|
20
|
-
const DEFAULT_TIMEOUT = 1000;
|
|
21
20
|
const TIME_TO_LIVE_IN_SECONDS = 10 * 60;
|
|
22
21
|
|
|
23
22
|
export const isBidRequestValid = function (bid) {
|
|
@@ -124,7 +123,7 @@ function getPageUrlFromRefererInfo() {
|
|
|
124
123
|
|
|
125
124
|
function buildOpenRtbBidRequestPayload(validBidRequests, bidderRequest) {
|
|
126
125
|
const imps = validBidRequests.map(buildOpenRtbImpObject);
|
|
127
|
-
const timeout = bidderRequest.timeout
|
|
126
|
+
const timeout = bidderRequest.timeout;
|
|
128
127
|
const pageUrl = getPageUrlFromRequest(validBidRequests[0], bidderRequest)
|
|
129
128
|
const request = {
|
|
130
129
|
id: bidderRequest.auctionId,
|
|
@@ -293,7 +293,7 @@ function generateSharedParams(sharedParams, bidderRequest) {
|
|
|
293
293
|
const generalBidParams = getBidIdParameter('params', sharedParams);
|
|
294
294
|
const userIds = getBidIdParameter('userId', sharedParams);
|
|
295
295
|
const ortb2Metadata = bidderRequest.ortb2 || {};
|
|
296
|
-
const timeout =
|
|
296
|
+
const timeout = bidderRequest.timeout;
|
|
297
297
|
|
|
298
298
|
const params = {
|
|
299
299
|
adapter_version: VERSION,
|
|
@@ -23,7 +23,7 @@ export const SUPPORTED_ID_SYSTEMS = {
|
|
|
23
23
|
'tdid': 1,
|
|
24
24
|
'pubProvidedId': 1
|
|
25
25
|
};
|
|
26
|
-
const storage = getStorageManager({
|
|
26
|
+
const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
27
27
|
|
|
28
28
|
function getTopWindowQueryParams() {
|
|
29
29
|
try {
|
|
@@ -9,11 +9,12 @@ import { ajaxBuilder } from '../src/ajax.js';
|
|
|
9
9
|
import { submodule } from '../src/hook.js';
|
|
10
10
|
import { LiveConnect } from 'live-connect-js'; // eslint-disable-line prebid/validate-imports
|
|
11
11
|
import { gdprDataHandler, uspDataHandler } from '../src/adapterManager.js';
|
|
12
|
-
import {
|
|
12
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
13
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
13
14
|
|
|
14
15
|
const EVENTS_TOPIC = 'pre_lips'
|
|
15
16
|
const MODULE_NAME = 'liveIntentId';
|
|
16
|
-
export const storage = getStorageManager({
|
|
17
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
17
18
|
const defaultRequestedAttributes = {'nonId': true}
|
|
18
19
|
const calls = {
|
|
19
20
|
ajaxGet: (url, onSuccess, onError, timeout) => {
|
|
@@ -187,6 +188,14 @@ export const liveIntentIdSubmodule = {
|
|
|
187
188
|
result.uid2 = { 'id': value.uid2 }
|
|
188
189
|
}
|
|
189
190
|
|
|
191
|
+
if (value.bidswitch) {
|
|
192
|
+
result.bidswitch = { 'id': value.bidswitch }
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
if (value.medianet) {
|
|
196
|
+
result.medianet = { 'id': value.medianet }
|
|
197
|
+
}
|
|
198
|
+
|
|
190
199
|
return result
|
|
191
200
|
}
|
|
192
201
|
|
|
@@ -16,8 +16,9 @@ import {
|
|
|
16
16
|
} from '../src/utils.js';
|
|
17
17
|
import { ajax } from '../src/ajax.js';
|
|
18
18
|
import { submodule } from '../src/hook.js';
|
|
19
|
-
import {
|
|
19
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
20
20
|
import { uspDataHandler } from '../src/adapterManager.js';
|
|
21
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
21
22
|
|
|
22
23
|
const KEY_ID = 'panoramaId';
|
|
23
24
|
const KEY_EXPIRY = `${KEY_ID}_expiry`;
|
|
@@ -31,7 +32,7 @@ const GVLID = 95;
|
|
|
31
32
|
const ID_HOST = 'id.crwdcntrl.net';
|
|
32
33
|
const ID_HOST_COOKIELESS = 'c.ltmsphrcl.net';
|
|
33
34
|
|
|
34
|
-
export const storage = getStorageManager({
|
|
35
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
35
36
|
let cookieDomain;
|
|
36
37
|
|
|
37
38
|
/**
|
|
@@ -292,7 +292,7 @@ function newOrtbBidRequest(bidRequest, bidderRequest, currentImps) {
|
|
|
292
292
|
source: {
|
|
293
293
|
tid: bidRequest.transactionId
|
|
294
294
|
},
|
|
295
|
-
tmax:
|
|
295
|
+
tmax: bidderRequest.timeout,
|
|
296
296
|
imp: currentImps.concat([{
|
|
297
297
|
id: bidRequest.bidId,
|
|
298
298
|
secure: 1,
|