prebid.js 8.44.0 → 8.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/README.md +7 -1
- package/creative/constants.js +7 -7
- package/creative/renderers/display/constants.js +2 -2
- package/creative/renderers/native/constants.js +2 -2
- package/dist/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/BTBidAdapter.js +1 -1
- package/dist/adWMGAnalyticsAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
- package/dist/adkernelBidAdapter.js +1 -1
- package/dist/adlooxAdServerVideo.js +1 -1
- package/dist/adlooxAnalyticsAdapter.js +1 -1
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/adnuntiusBidAdapter.js +1 -1
- package/dist/adomikAnalyticsAdapter.js +1 -1
- package/dist/adpod.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adstirBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adxpremiumAnalyticsAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/agmaAnalyticsAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/analyticsAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/asteriobidAnalyticsAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/automatadAnalyticsAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidViewability.js +1 -1
- package/dist/bidViewabilityIO.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/brandmetricsRtdProvider.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/byDataAnalyticsAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/chunk-core.js +1 -1
- package/dist/chunk-paapi.js +1 -1
- package/dist/cleanioRtdProvider.js +1 -1
- package/dist/concertAnalyticsAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/confiantRtdProvider.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consentManagementUsp.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/creative-renderer-native.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/currency.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dailymotionBidAdapter.js +1 -0
- package/dist/datablocksAnalyticsAdapter.js +1 -1
- package/dist/datawrkzBidAdapter.js +1 -1
- package/dist/debugging-standalone.js +1 -1
- package/dist/debugging.js +1 -1
- package/dist/dependencies.json +3 -3
- package/dist/dfpAdServerVideo.js +1 -1
- package/dist/dsaControl.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eplanningAnalyticsAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/fintezaAnalyticsAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/genericAnalyticsAdapter.js +1 -1
- package/dist/geoedgeRtdProvider.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/growthCodeAnalyticsAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.js +1 -1
- package/dist/holidBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/illuminBidAdapter.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/instreamTracking.js +1 -1
- package/dist/invisiblyAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoAnalyticsAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kimberliteBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveIntentAnalyticsAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/livewrappedAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/luceadBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafilterRtdProvider.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/missenaBidAdapter.js +1 -1
- package/dist/multibid.js +1 -1
- package/dist/neuwoRtdProvider.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidAnalyticsAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +237 -235
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openwebBidAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/optimonAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/oxxionAnalyticsAdapter.js +1 -1
- package/dist/oxxionRtdProvider.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pbsExtensions.js +1 -1
- package/dist/permutiveRtdProvider.js +1 -1
- package/dist/pgamsspBidAdapter.js +1 -1
- package/dist/pianoDmpAnalyticsAdapter.js +1 -1
- package/dist/pirIdSystem.js +1 -0
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/priceFloors.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/publirBidAdapter.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubperfAnalyticsAdapter.js +1 -1
- package/dist/pubstackAnalyticsAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pulsepointAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/qortexRtdProvider.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/relevantAnalyticsAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rivrAnalyticsAdapter.js +1 -1
- package/dist/roxotAnalyticsAdapter.js +1 -1
- package/dist/rtdModule.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/s2sTesting.js +1 -1
- package/dist/scaleableAnalyticsAdapter.js +1 -1
- package/dist/schain.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/shinezRtbBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.js +1 -1
- package/dist/sizeMapping.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/sonobiAnalyticsAdapter.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/stnBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/tagorasBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/themoneytizerBidAdapter.js +1 -1
- package/dist/topicsFpdModule.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videoModule.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.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/yandexAnalyticsAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/gulpfile.js +9 -1
- package/integrationExamples/gpt/adnuntius_example.html +7 -1
- package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
- package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
- package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
- package/integrationExamples/gpt/x-domain/creative.html +1 -1
- package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
- package/libraries/creative-renderer-native/renderer.js +1 -1
- package/modules/33acrossAnalyticsAdapter.js +2 -4
- package/modules/33acrossIdSystem.js +1 -1
- package/modules/adWMGAnalyticsAdapter.js +9 -11
- package/modules/adagioAnalyticsAdapter.js +8 -8
- package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
- package/modules/adkernelBidAdapter.js +9 -3
- package/modules/adlooxAdServerVideo.js +2 -2
- package/modules/adlooxAnalyticsAdapter.js +4 -4
- package/modules/adnuntiusBidAdapter.js +49 -31
- package/modules/adomikAnalyticsAdapter.js +7 -7
- package/modules/adpod.js +3 -3
- package/modules/adxcgAnalyticsAdapter.js +10 -10
- package/modules/adxpremiumAnalyticsAdapter.js +8 -10
- package/modules/agmaAnalyticsAdapter.js +2 -6
- package/modules/appierAnalyticsAdapter.js +5 -7
- package/modules/asteriobidAnalyticsAdapter.js +14 -14
- package/modules/atsAnalyticsAdapter.js +4 -4
- package/modules/automatadAnalyticsAdapter.js +20 -20
- package/modules/azerionedgeRtdProvider.md +4 -2
- package/modules/bidViewability.js +3 -3
- package/modules/bidViewabilityIO.js +3 -3
- package/modules/bidwatchAnalyticsAdapter.js +7 -9
- package/modules/brandmetricsRtdProvider.js +6 -6
- package/modules/browsiRtdProvider.js +3 -3
- package/modules/byDataAnalyticsAdapter.js +3 -3
- package/modules/cleanioRtdProvider.js +3 -3
- package/modules/concertAnalyticsAdapter.js +5 -7
- package/modules/confiantRtdProvider.js +2 -2
- package/modules/conversantAnalyticsAdapter.js +2 -4
- package/modules/criteoBidAdapter.js +51 -8
- package/modules/currency.js +7 -7
- package/modules/dailymotionBidAdapter.js +139 -0
- package/modules/dailymotionBidAdapter.md +140 -0
- package/modules/datawrkzBidAdapter.js +4 -4
- package/modules/debugging/pbsInterceptor.js +2 -2
- package/modules/dfpAdServerVideo.js +2 -2
- package/modules/dsaControl.js +5 -5
- package/modules/eplanningAnalyticsAdapter.js +8 -8
- package/modules/fintezaAnalyticsAdapter.js +5 -5
- package/modules/gdprEnforcement.js +3 -3
- package/modules/geoedgeRtdProvider.js +2 -2
- package/modules/greenbidsAnalyticsAdapter.js +13 -10
- package/modules/greenbidsRtdProvider.js +2 -2
- package/modules/growthCodeAnalyticsAdapter.js +14 -14
- package/modules/hadronAnalyticsAdapter.js +14 -14
- package/modules/holidBidAdapter.js +2 -2
- package/modules/id5AnalyticsAdapter.js +7 -9
- package/modules/improvedigitalBidAdapter.js +2 -1
- package/modules/insticatorBidAdapter.js +137 -27
- package/modules/instreamTracking.js +4 -4
- package/modules/invisiblyAnalyticsAdapter.js +15 -17
- package/modules/ixBidAdapter.js +3 -3
- package/modules/kargoAnalyticsAdapter.js +3 -3
- package/modules/kargoBidAdapter.js +5 -11
- package/modules/konduitAnalyticsAdapter.js +13 -13
- package/modules/liveIntentAnalyticsAdapter.js +2 -2
- package/modules/livewrappedAnalyticsAdapter.js +10 -10
- package/modules/magniteAnalyticsAdapter.js +25 -23
- package/modules/malltvAnalyticsAdapter.js +4 -6
- package/modules/mediafilterRtdProvider.js +2 -2
- package/modules/medianetAnalyticsAdapter.js +12 -12
- package/modules/medianetBidAdapter.js +1 -1
- package/modules/multibid/index.js +2 -2
- package/modules/neuwoRtdProvider.js +2 -2
- package/modules/nextMillenniumBidAdapter.js +4 -4
- package/modules/nobidAnalyticsAdapter.js +9 -11
- package/modules/ooloAnalyticsAdapter.js +2 -2
- package/modules/oxxionAnalyticsAdapter.js +7 -9
- package/modules/paapi.js +20 -6
- package/modules/permutiveRtdProvider.js +21 -2
- package/modules/pgamsspBidAdapter.js +26 -3
- package/modules/pirIdSystem.js +62 -0
- package/modules/pirIdSystem.md +27 -0
- package/modules/prebidServerBidAdapter/index.js +8 -8
- package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
- package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
- package/modules/priceFloors.js +10 -5
- package/modules/pubmaticAnalyticsAdapter.js +32 -22
- package/modules/pubmaticBidAdapter.js +1 -17
- package/modules/pubwiseAnalyticsAdapter.js +11 -11
- package/modules/pubxaiAnalyticsAdapter.js +6 -6
- package/modules/qortexRtdProvider.js +2 -2
- package/modules/roxotAnalyticsAdapter.js +8 -10
- package/modules/rtdModule/index.js +7 -7
- package/modules/scaleableAnalyticsAdapter.js +5 -5
- package/modules/seedtagBidAdapter.js +12 -3
- package/modules/sigmoidAnalyticsAdapter.js +7 -7
- package/modules/smaatoBidAdapter.js +1 -2
- package/modules/sonobiAnalyticsAdapter.js +10 -12
- package/modules/sovrnAnalyticsAdapter.js +7 -9
- package/modules/sovrnBidAdapter.js +1 -1
- package/modules/staqAnalyticsAdapter.js +9 -9
- package/modules/terceptAnalyticsAdapter.js +7 -7
- package/modules/topicsFpdModule.js +3 -0
- package/modules/topicsFpdModule.md +4 -0
- package/modules/ucfunnelAnalyticsAdapter.js +5 -7
- package/modules/userId/index.js +3 -3
- package/modules/videoModule/index.js +4 -4
- package/modules/yandexAnalyticsAdapter.js +2 -2
- package/modules/yieldoneAnalyticsAdapter.js +7 -7
- package/modules/yuktamediaAnalyticsAdapter.js +9 -9
- package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
- package/modules/zeta_global_sspBidAdapter.js +8 -1
- package/package.json +1 -1
- package/src/adRendering.js +15 -15
- package/src/adUnits.js +9 -21
- package/src/adapterManager.js +23 -13
- package/src/adapters/bidderFactory.js +8 -8
- package/src/auction.js +26 -28
- package/src/auctionManager.js +4 -4
- package/src/bidderSettings.js +2 -2
- package/src/config.js +2 -2
- package/src/constants.js +190 -0
- package/src/events.js +3 -3
- package/src/native.js +6 -8
- package/src/prebid.js +6 -10
- package/src/secureCreatives.js +5 -5
- package/src/targeting.js +13 -13
- package/src/utils.js +4 -4
- package/test/fixtures/fixtures.js +44 -44
- package/test/helpers/analytics.js +6 -6
- package/test/spec/AnalyticsAdapter_spec.js +3 -3
- package/test/spec/auctionmanager_spec.js +82 -82
- package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
- package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
- package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
- package/test/spec/modules/adagioAnalyticsAdapter_spec.js +26 -26
- package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
- package/test/spec/modules/adkernelBidAdapter_spec.js +9 -4
- package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +8 -5
- package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/agmaAnalyticsAdapter_spec.js +14 -14
- package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
- package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
- package/test/spec/modules/bidViewability_spec.js +4 -4
- package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
- package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
- package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
- package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
- package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
- package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
- package/test/spec/modules/criteoBidAdapter_spec.js +111 -5
- package/test/spec/modules/currency_spec.js +6 -6
- package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
- package/test/spec/modules/dsaControl_spec.js +4 -4
- package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
- package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
- package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
- package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
- package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
- package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
- package/test/spec/modules/id5IdSystem_spec.js +2 -2
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
- package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
- package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
- package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
- package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
- package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
- package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
- package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
- package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/paapi_spec.js +40 -14
- package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
- package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
- package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
- package/test/spec/modules/pirIdSystem_spec.js +77 -0
- package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
- package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/priceFloors_spec.js +6 -5
- package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
- package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
- package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
- package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
- package/test/spec/modules/realTimeDataModule_spec.js +9 -9
- package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
- package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
- package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
- package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
- package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
- package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
- package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
- package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/userId_spec.js +4 -4
- package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
- package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
- package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
- package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
- package/test/spec/native_spec.js +19 -19
- package/test/spec/unit/adRendering_spec.js +14 -14
- package/test/spec/unit/adUnits_spec.js +1 -1
- package/test/spec/unit/core/adapterManager_spec.js +99 -59
- package/test/spec/unit/core/bidderFactory_spec.js +6 -6
- package/test/spec/unit/core/targeting_spec.js +47 -47
- package/test/spec/unit/pbjs_api_spec.js +81 -81
- package/test/spec/unit/secureCreatives_spec.js +27 -27
- package/test/spec/utils_spec.js +2 -2
- package/src/constants.json +0 -196
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Overview
|
|
2
|
+
|
|
3
|
+
Module Name: pirIDSystem
|
|
4
|
+
Module Type: UserID Module
|
|
5
|
+
Maintainer: pawel.grudzien@grupawp.pl
|
|
6
|
+
|
|
7
|
+
# Description
|
|
8
|
+
|
|
9
|
+
User identification system for WPM
|
|
10
|
+
|
|
11
|
+
### Prebid Params example
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
pbjs.setConfig({
|
|
15
|
+
userSync: {
|
|
16
|
+
userIds: [{
|
|
17
|
+
name: 'pirID',
|
|
18
|
+
storage: {
|
|
19
|
+
type: 'cookie',
|
|
20
|
+
name: 'pirIdToken',
|
|
21
|
+
expires: 7,
|
|
22
|
+
refreshInSeconds: 360
|
|
23
|
+
},
|
|
24
|
+
}]
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
```
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
triggerPixel,
|
|
17
17
|
uniques,
|
|
18
18
|
} from '../../src/utils.js';
|
|
19
|
-
import
|
|
19
|
+
import { EVENTS, REJECTION_REASON, S2S } from '../../src/constants.js';
|
|
20
20
|
import adapterManager, {s2sActivityParams} from '../../src/adapterManager.js';
|
|
21
21
|
import {config} from '../../src/config.js';
|
|
22
22
|
import {addComponentAuction, isValid} from '../../src/adapters/bidderFactory.js';
|
|
@@ -33,7 +33,7 @@ import {ACTIVITY_TRANSMIT_UFPD} from '../../src/activities/activities.js';
|
|
|
33
33
|
|
|
34
34
|
const getConfig = config.getConfig;
|
|
35
35
|
|
|
36
|
-
const TYPE =
|
|
36
|
+
const TYPE = S2S.SRC;
|
|
37
37
|
let _syncCount = 0;
|
|
38
38
|
let _s2sConfigs;
|
|
39
39
|
|
|
@@ -467,10 +467,10 @@ export function PrebidServer() {
|
|
|
467
467
|
processPBSRequest(s2sBidRequest, bidRequests, ajax, {
|
|
468
468
|
onResponse: function (isValid, requestedBidders, response) {
|
|
469
469
|
if (isValid) {
|
|
470
|
-
bidRequests.forEach(bidderRequest => events.emit(
|
|
470
|
+
bidRequests.forEach(bidderRequest => events.emit(EVENTS.BIDDER_DONE, bidderRequest));
|
|
471
471
|
}
|
|
472
472
|
if (shouldEmitNonbids(s2sBidRequest.s2sConfig, response)) {
|
|
473
|
-
events.emit(
|
|
473
|
+
events.emit(EVENTS.SEAT_NON_BID, {
|
|
474
474
|
seatnonbid: response.ext.seatnonbid,
|
|
475
475
|
auctionId: bidRequests[0].auctionId,
|
|
476
476
|
requestedBidders,
|
|
@@ -483,7 +483,7 @@ export function PrebidServer() {
|
|
|
483
483
|
},
|
|
484
484
|
onError(msg, error) {
|
|
485
485
|
logError(`Prebid server call failed: '${msg}'`, error);
|
|
486
|
-
bidRequests.forEach(bidderRequest => events.emit(
|
|
486
|
+
bidRequests.forEach(bidderRequest => events.emit(EVENTS.BIDDER_ERROR, { error, bidderRequest }));
|
|
487
487
|
done(error.timedOut);
|
|
488
488
|
},
|
|
489
489
|
onBid: function ({adUnit, bid}) {
|
|
@@ -491,7 +491,7 @@ export function PrebidServer() {
|
|
|
491
491
|
metrics.checkpoint('addBidResponse');
|
|
492
492
|
if ((bid.requestId == null || bid.requestBidder == null) && !s2sBidRequest.s2sConfig.allowUnknownBidderCodes) {
|
|
493
493
|
logWarn(`PBS adapter received bid from unknown bidder (${bid.bidder}), but 's2sConfig.allowUnknownBidderCodes' is not set. Ignoring bid.`);
|
|
494
|
-
addBidResponse.reject(adUnit, bid,
|
|
494
|
+
addBidResponse.reject(adUnit, bid, REJECTION_REASON.BIDDER_DISALLOWED);
|
|
495
495
|
} else {
|
|
496
496
|
if (metrics.measureTime('addBidResponse.validate', () => isValid(adUnit, bid))) {
|
|
497
497
|
addBidResponse(adUnit, bid);
|
|
@@ -499,7 +499,7 @@ export function PrebidServer() {
|
|
|
499
499
|
addWurl(bid.auctionId, bid.adId, bid.pbsWurl);
|
|
500
500
|
}
|
|
501
501
|
} else {
|
|
502
|
-
addBidResponse.reject(adUnit, bid,
|
|
502
|
+
addBidResponse.reject(adUnit, bid, REJECTION_REASON.INVALID);
|
|
503
503
|
}
|
|
504
504
|
}
|
|
505
505
|
},
|
|
@@ -511,7 +511,7 @@ export function PrebidServer() {
|
|
|
511
511
|
};
|
|
512
512
|
|
|
513
513
|
// Listen for bid won to call wurl
|
|
514
|
-
events.on(
|
|
514
|
+
events.on(EVENTS.BID_WON, bidWonHandler);
|
|
515
515
|
|
|
516
516
|
return Object.assign(this, {
|
|
517
517
|
callBids: baseAdapter.callBids,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
timestamp
|
|
12
12
|
} from '../../src/utils.js';
|
|
13
13
|
import {config} from '../../src/config.js';
|
|
14
|
-
import
|
|
14
|
+
import { STATUS, S2S } from '../../src/constants.js';
|
|
15
15
|
import {createBid} from '../../src/bidfactory.js';
|
|
16
16
|
import {pbsExtensions} from '../../libraries/pbsExtensions/pbsExtensions.js';
|
|
17
17
|
import {setImpBidParams} from '../../libraries/pbsExtensions/processors/params.js';
|
|
@@ -114,8 +114,8 @@ const PBS_CONVERTER = ortbConverter({
|
|
|
114
114
|
// because core has special treatment for PBS adapter responses, we need some additional processing
|
|
115
115
|
bidResponse.requestTimestamp = context.requestTimestamp;
|
|
116
116
|
return {
|
|
117
|
-
bid: Object.assign(createBid(
|
|
118
|
-
src:
|
|
117
|
+
bid: Object.assign(createBid(STATUS.GOOD, {
|
|
118
|
+
src: S2S.SRC,
|
|
119
119
|
bidId: bidRequest ? (bidRequest.bidId || bidRequest.bid_Id) : null,
|
|
120
120
|
transactionId: context.adUnit.transactionId,
|
|
121
121
|
adUnitId: context.adUnit.adUnitId,
|
|
@@ -3,7 +3,7 @@ import {ajaxBuilder} from '../src/ajax.js';
|
|
|
3
3
|
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
4
4
|
import adapterManager from '../src/adapterManager.js';
|
|
5
5
|
import {getStorageManager} from '../src/storageManager.js';
|
|
6
|
-
import
|
|
6
|
+
import { EVENTS } from '../src/constants.js';
|
|
7
7
|
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -208,7 +208,7 @@ function handleEvent(eventType, eventArgs) {
|
|
|
208
208
|
const pmEvent = {};
|
|
209
209
|
|
|
210
210
|
switch (eventType) {
|
|
211
|
-
case
|
|
211
|
+
case EVENTS.AUCTION_INIT: {
|
|
212
212
|
pmEvent.auctionId = eventArgs.auctionId;
|
|
213
213
|
pmEvent.timeout = eventArgs.timeout;
|
|
214
214
|
pmEvent.eventType = eventArgs.eventType;
|
|
@@ -218,7 +218,7 @@ function handleEvent(eventType, eventArgs) {
|
|
|
218
218
|
_bidRequestTimeout = pmEvent.timeout;
|
|
219
219
|
break;
|
|
220
220
|
}
|
|
221
|
-
case
|
|
221
|
+
case EVENTS.AUCTION_END: {
|
|
222
222
|
pmEvent.auctionId = eventArgs.auctionId;
|
|
223
223
|
pmEvent.end = eventArgs.end;
|
|
224
224
|
pmEvent.start = eventArgs.start;
|
|
@@ -228,15 +228,15 @@ function handleEvent(eventType, eventArgs) {
|
|
|
228
228
|
pmEvent.end = Date.now();
|
|
229
229
|
break;
|
|
230
230
|
}
|
|
231
|
-
case
|
|
231
|
+
case EVENTS.BID_ADJUSTMENT: {
|
|
232
232
|
break;
|
|
233
233
|
}
|
|
234
|
-
case
|
|
234
|
+
case EVENTS.BID_TIMEOUT: {
|
|
235
235
|
pmEvent.bidders = eventArgs && eventArgs.map ? eventArgs.map(trimBid) : eventArgs;
|
|
236
236
|
pmEvent.duration = _bidRequestTimeout;
|
|
237
237
|
break;
|
|
238
238
|
}
|
|
239
|
-
case
|
|
239
|
+
case EVENTS.BID_REQUESTED: {
|
|
240
240
|
pmEvent.auctionId = eventArgs.auctionId;
|
|
241
241
|
pmEvent.bidderCode = eventArgs.bidderCode;
|
|
242
242
|
pmEvent.doneCbCallCount = eventArgs.doneCbCallCount;
|
|
@@ -247,7 +247,7 @@ function handleEvent(eventType, eventArgs) {
|
|
|
247
247
|
pmEvent.timeout = eventArgs.timeout;
|
|
248
248
|
break;
|
|
249
249
|
}
|
|
250
|
-
case
|
|
250
|
+
case EVENTS.BID_RESPONSE: {
|
|
251
251
|
pmEvent.bidderCode = eventArgs.bidderCode;
|
|
252
252
|
pmEvent.width = eventArgs.width;
|
|
253
253
|
pmEvent.height = eventArgs.height;
|
|
@@ -266,7 +266,7 @@ function handleEvent(eventType, eventArgs) {
|
|
|
266
266
|
pmEvent.adserverTargeting = eventArgs.adserverTargeting;
|
|
267
267
|
break;
|
|
268
268
|
}
|
|
269
|
-
case
|
|
269
|
+
case EVENTS.BID_WON: {
|
|
270
270
|
pmEvent.auctionId = eventArgs.auctionId;
|
|
271
271
|
pmEvent.adId = eventArgs.adId;
|
|
272
272
|
pmEvent.adserverTargeting = eventArgs.adserverTargeting;
|
|
@@ -284,7 +284,7 @@ function handleEvent(eventType, eventArgs) {
|
|
|
284
284
|
pmEvent.bidder = eventArgs.bidder;
|
|
285
285
|
break;
|
|
286
286
|
}
|
|
287
|
-
case
|
|
287
|
+
case EVENTS.BIDDER_DONE: {
|
|
288
288
|
pmEvent.auctionId = eventArgs.auctionId;
|
|
289
289
|
pmEvent.auctionStart = eventArgs.auctionStart;
|
|
290
290
|
pmEvent.bidderCode = eventArgs.bidderCode;
|
|
@@ -297,16 +297,16 @@ function handleEvent(eventType, eventArgs) {
|
|
|
297
297
|
pmEvent.src = eventArgs.src;
|
|
298
298
|
break;
|
|
299
299
|
}
|
|
300
|
-
case
|
|
300
|
+
case EVENTS.SET_TARGETING: {
|
|
301
301
|
break;
|
|
302
302
|
}
|
|
303
|
-
case
|
|
303
|
+
case EVENTS.REQUEST_BIDS: {
|
|
304
304
|
break;
|
|
305
305
|
}
|
|
306
|
-
case
|
|
306
|
+
case EVENTS.ADD_AD_UNITS: {
|
|
307
307
|
break;
|
|
308
308
|
}
|
|
309
|
-
case
|
|
309
|
+
case EVENTS.AD_RENDER_FAILED: {
|
|
310
310
|
pmEvent.bid = eventArgs.bid;
|
|
311
311
|
pmEvent.message = eventArgs.message;
|
|
312
312
|
pmEvent.reason = eventArgs.reason;
|
|
@@ -326,7 +326,7 @@ function sendEvent(event) {
|
|
|
326
326
|
_eventQueue.push(event);
|
|
327
327
|
logInfo(`${analyticsName} Event ${event.eventType}:`, event);
|
|
328
328
|
|
|
329
|
-
if (event.eventType ===
|
|
329
|
+
if (event.eventType === EVENTS.AUCTION_END) {
|
|
330
330
|
flush();
|
|
331
331
|
}
|
|
332
332
|
}
|
package/modules/priceFloors.js
CHANGED
|
@@ -19,7 +19,7 @@ import {getGlobal} from '../src/prebidGlobal.js';
|
|
|
19
19
|
import {config} from '../src/config.js';
|
|
20
20
|
import {ajaxBuilder} from '../src/ajax.js';
|
|
21
21
|
import * as events from '../src/events.js';
|
|
22
|
-
import
|
|
22
|
+
import { EVENTS, REJECTION_REASON } from '../src/constants.js';
|
|
23
23
|
import {getHook} from '../src/hook.js';
|
|
24
24
|
import {find} from '../src/polyfill.js';
|
|
25
25
|
import {getRefererInfo} from '../src/refererDetection.js';
|
|
@@ -31,6 +31,11 @@ import {adjustCpm} from '../src/utils/cpm.js';
|
|
|
31
31
|
import {getGptSlotInfoForAdUnitCode} from '../libraries/gptUtils/gptUtils.js';
|
|
32
32
|
import {convertCurrency} from '../libraries/currencyUtils/currency.js';
|
|
33
33
|
|
|
34
|
+
export const FLOOR_SKIPPED_REASON = {
|
|
35
|
+
NOT_FOUND: 'not_found',
|
|
36
|
+
RANDOM: 'random'
|
|
37
|
+
};
|
|
38
|
+
|
|
34
39
|
/**
|
|
35
40
|
* @summary This Module is intended to provide users with the ability to dynamically set and enforce price floors on a per auction basis.
|
|
36
41
|
*/
|
|
@@ -412,13 +417,13 @@ export function createFloorsDataForAuction(adUnits, auctionId) {
|
|
|
412
417
|
// if we still do not have a valid floor data then floors is not on for this auction, so skip
|
|
413
418
|
if (Object.keys(deepAccess(resolvedFloorsData, 'data.values') || {}).length === 0) {
|
|
414
419
|
resolvedFloorsData.skipped = true;
|
|
415
|
-
resolvedFloorsData.skippedReason =
|
|
420
|
+
resolvedFloorsData.skippedReason = FLOOR_SKIPPED_REASON.NOT_FOUND
|
|
416
421
|
} else {
|
|
417
422
|
// determine the skip rate now
|
|
418
423
|
const auctionSkipRate = getParameterByName('pbjs_skipRate') || (deepAccess(resolvedFloorsData, 'data.skipRate') ?? resolvedFloorsData.skipRate);
|
|
419
424
|
const isSkipped = Math.random() * 100 < parseFloat(auctionSkipRate);
|
|
420
425
|
resolvedFloorsData.skipped = isSkipped;
|
|
421
|
-
if (isSkipped) resolvedFloorsData.skippedReason =
|
|
426
|
+
if (isSkipped) resolvedFloorsData.skippedReason = FLOOR_SKIPPED_REASON.RANDOM
|
|
422
427
|
}
|
|
423
428
|
// copy FloorMin to floorData.data
|
|
424
429
|
if (resolvedFloorsData.hasOwnProperty('floorMin')) resolvedFloorsData.data.floorMin = resolvedFloorsData.floorMin;
|
|
@@ -701,7 +706,7 @@ export function handleSetFloorsConfig(config) {
|
|
|
701
706
|
if (!addedFloorsHook) {
|
|
702
707
|
// register hooks / listening events
|
|
703
708
|
// when auction finishes remove it's associated floor data after 3 seconds so we stil have it for latent responses
|
|
704
|
-
events.on(
|
|
709
|
+
events.on(EVENTS.AUCTION_END, (args) => {
|
|
705
710
|
setTimeout(() => delete _floorDataForAuction[args.auctionId], 3000);
|
|
706
711
|
});
|
|
707
712
|
|
|
@@ -802,7 +807,7 @@ export const addBidResponseHook = timedBidResponseHook('priceFloors', function a
|
|
|
802
807
|
// now do the compare!
|
|
803
808
|
if (shouldFloorBid(floorData, floorInfo, bid)) {
|
|
804
809
|
// bid fails floor -> throw it out
|
|
805
|
-
reject(
|
|
810
|
+
reject(REJECTION_REASON.FLOOR_NOT_MET);
|
|
806
811
|
logWarn(`${MODULE_NAME}: ${bid.bidderCode}'s Bid Response for ${adUnitCode} was rejected due to floor not met (adjusted cpm: ${bid?.floorData?.cpmAfterAdjustments}, floor: ${floorInfo?.matchingFloor})`, bid);
|
|
807
812
|
return;
|
|
808
813
|
}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import {_each, isArray, isStr, logError, logWarn, pick, generateUUID} from '../src/utils.js';
|
|
2
2
|
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
3
3
|
import adapterManager from '../src/adapterManager.js';
|
|
4
|
-
import
|
|
4
|
+
import { BID_STATUS, EVENTS, STATUS, REJECTION_REASON } from '../src/constants.js';
|
|
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
8
|
import {getGptSlotInfoForAdUnitCode} from '../libraries/gptUtils/gptUtils.js';
|
|
9
9
|
|
|
10
|
+
const FLOOR_VALUES = {
|
|
11
|
+
NO_DATA: 'noData',
|
|
12
|
+
AD_UNIT: 'adUnit',
|
|
13
|
+
SET_CONFIG: 'setConfig',
|
|
14
|
+
FETCH: 'fetch',
|
|
15
|
+
SUCCESS: 'success',
|
|
16
|
+
ERROR: 'error',
|
|
17
|
+
TIMEOUT: 'timeout'
|
|
18
|
+
};
|
|
19
|
+
|
|
10
20
|
/// /////////// CONSTANTS //////////////
|
|
11
21
|
const ADAPTER_CODE = 'pubmatic';
|
|
12
22
|
const VENDOR_OPENWRAP = 'openwrap';
|
|
@@ -109,7 +119,7 @@ function copyRequiredBidDetails(bid) {
|
|
|
109
119
|
|
|
110
120
|
function setBidStatus(bid, args) {
|
|
111
121
|
switch (args.getStatusCode()) {
|
|
112
|
-
case
|
|
122
|
+
case STATUS.GOOD:
|
|
113
123
|
bid.status = SUCCESS;
|
|
114
124
|
delete bid.error; // it's possible for this to be set by a previous timeout
|
|
115
125
|
break;
|
|
@@ -346,9 +356,9 @@ function getFloorFetchStatus(floorData) {
|
|
|
346
356
|
return false;
|
|
347
357
|
}
|
|
348
358
|
const { location, fetchStatus } = floorData?.floorRequestData;
|
|
349
|
-
const isDataValid = location !==
|
|
350
|
-
const isFetchSuccessful = location ===
|
|
351
|
-
const isAdUnitOrSetConfig = location ===
|
|
359
|
+
const isDataValid = location !== FLOOR_VALUES.NO_DATA;
|
|
360
|
+
const isFetchSuccessful = location === FLOOR_VALUES.FETCH && fetchStatus === FLOOR_VALUES.SUCCESS;
|
|
361
|
+
const isAdUnitOrSetConfig = location === FLOOR_VALUES.AD_UNIT || location === FLOOR_VALUES.SET_CONFIG;
|
|
352
362
|
return isDataValid && (isAdUnitOrSetConfig || isFetchSuccessful);
|
|
353
363
|
}
|
|
354
364
|
|
|
@@ -404,16 +414,16 @@ function executeBidsLoggerCall(e, highestCpmBids) {
|
|
|
404
414
|
if (floorData?.floorRequestData) {
|
|
405
415
|
const { location, fetchStatus, floorProvider } = floorData?.floorRequestData;
|
|
406
416
|
slotObject.ffs = {
|
|
407
|
-
[
|
|
408
|
-
[
|
|
409
|
-
[
|
|
417
|
+
[FLOOR_VALUES.SUCCESS]: 1,
|
|
418
|
+
[FLOOR_VALUES.ERROR]: 2,
|
|
419
|
+
[FLOOR_VALUES.TIMEOUT]: 4,
|
|
410
420
|
undefined: 0
|
|
411
421
|
}[fetchStatus];
|
|
412
422
|
slotObject.fsrc = {
|
|
413
|
-
[
|
|
414
|
-
[
|
|
415
|
-
[
|
|
416
|
-
[
|
|
423
|
+
[FLOOR_VALUES.FETCH]: 2,
|
|
424
|
+
[FLOOR_VALUES.NO_DATA]: 2,
|
|
425
|
+
[FLOOR_VALUES.AD_UNIT]: 1,
|
|
426
|
+
[FLOOR_VALUES.SET_CONFIG]: 1
|
|
417
427
|
}[location];
|
|
418
428
|
slotObject.fp = floorProvider;
|
|
419
429
|
}
|
|
@@ -578,9 +588,9 @@ function bidResponseHandler(args) {
|
|
|
578
588
|
function bidRejectedHandler(args) {
|
|
579
589
|
// If bid is rejected due to floors value did not met
|
|
580
590
|
// make cpm as 0, status as bidRejected and forward the bid for logging
|
|
581
|
-
if (args.rejectionReason ===
|
|
591
|
+
if (args.rejectionReason === REJECTION_REASON.FLOOR_NOT_MET) {
|
|
582
592
|
args.cpm = 0;
|
|
583
|
-
args.status =
|
|
593
|
+
args.status = BID_STATUS.BID_REJECTED;
|
|
584
594
|
bidResponseHandler(args);
|
|
585
595
|
}
|
|
586
596
|
}
|
|
@@ -674,28 +684,28 @@ let pubmaticAdapter = Object.assign({}, baseAdapter, {
|
|
|
674
684
|
|
|
675
685
|
track({eventType, args}) {
|
|
676
686
|
switch (eventType) {
|
|
677
|
-
case
|
|
687
|
+
case EVENTS.AUCTION_INIT:
|
|
678
688
|
auctionInitHandler(args);
|
|
679
689
|
break;
|
|
680
|
-
case
|
|
690
|
+
case EVENTS.BID_REQUESTED:
|
|
681
691
|
bidRequestedHandler(args);
|
|
682
692
|
break;
|
|
683
|
-
case
|
|
693
|
+
case EVENTS.BID_RESPONSE:
|
|
684
694
|
bidResponseHandler(args);
|
|
685
695
|
break;
|
|
686
|
-
case
|
|
696
|
+
case EVENTS.BID_REJECTED:
|
|
687
697
|
bidRejectedHandler(args)
|
|
688
698
|
break;
|
|
689
|
-
case
|
|
699
|
+
case EVENTS.BIDDER_DONE:
|
|
690
700
|
bidderDoneHandler(args);
|
|
691
701
|
break;
|
|
692
|
-
case
|
|
702
|
+
case EVENTS.BID_WON:
|
|
693
703
|
bidWonHandler(args);
|
|
694
704
|
break;
|
|
695
|
-
case
|
|
705
|
+
case EVENTS.AUCTION_END:
|
|
696
706
|
auctionEndHandler(args);
|
|
697
707
|
break;
|
|
698
|
-
case
|
|
708
|
+
case EVENTS.BID_TIMEOUT:
|
|
699
709
|
bidTimeoutHandler(args);
|
|
700
710
|
break;
|
|
701
711
|
}
|
|
@@ -4,8 +4,7 @@ import { BANNER, VIDEO, NATIVE, ADPOD } from '../src/mediaTypes.js';
|
|
|
4
4
|
import { config } from '../src/config.js';
|
|
5
5
|
import { Renderer } from '../src/Renderer.js';
|
|
6
6
|
import { bidderSettings } from '../src/bidderSettings.js';
|
|
7
|
-
import
|
|
8
|
-
import {convertTypes} from '../libraries/transformParamsUtils/convertTypes.js';
|
|
7
|
+
import { NATIVE_IMAGE_TYPES, NATIVE_KEYS_THAT_ARE_NOT_ASSETS, NATIVE_KEYS, NATIVE_ASSET_TYPES } from '../src/constants.js';
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
10
|
* @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest
|
|
@@ -332,7 +331,6 @@ const PREBID_NATIVE_DATA_KEYS_TO_ORTB = {
|
|
|
332
331
|
'displayurl': 'displayurl'
|
|
333
332
|
};
|
|
334
333
|
|
|
335
|
-
const { NATIVE_IMAGE_TYPES, NATIVE_KEYS_THAT_ARE_NOT_ASSETS, NATIVE_KEYS, NATIVE_ASSET_TYPES } = CONSTANTS;
|
|
336
334
|
const PREBID_NATIVE_DATA_KEY_VALUES = Object.values(PREBID_NATIVE_DATA_KEYS_TO_ORTB);
|
|
337
335
|
|
|
338
336
|
// TODO remove this function when the support for 1.1 is removed
|
|
@@ -1448,20 +1446,6 @@ export const spec = {
|
|
|
1448
1446
|
url: USER_SYNC_URL_IMAGE + syncurl
|
|
1449
1447
|
}];
|
|
1450
1448
|
}
|
|
1451
|
-
},
|
|
1452
|
-
|
|
1453
|
-
/**
|
|
1454
|
-
* Covert bid param types for S2S
|
|
1455
|
-
* @param {Object} params bid params
|
|
1456
|
-
* @param {Boolean} isOpenRtb boolean to check openrtb2 protocol
|
|
1457
|
-
* @return {Object} params bid params
|
|
1458
|
-
*/
|
|
1459
|
-
|
|
1460
|
-
transformBidParams: function (params, isOpenRtb, adUnit, bidRequests) {
|
|
1461
|
-
return convertTypes({
|
|
1462
|
-
'publisherId': 'string',
|
|
1463
|
-
'adSlot': 'string'
|
|
1464
|
-
}, params);
|
|
1465
1449
|
}
|
|
1466
1450
|
};
|
|
1467
1451
|
|
|
@@ -2,7 +2,7 @@ import { getParameterByName, logInfo, generateUUID, debugTurnedOn } from '../src
|
|
|
2
2
|
import {ajax} from '../src/ajax.js';
|
|
3
3
|
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
4
4
|
import adapterManager from '../src/adapterManager.js';
|
|
5
|
-
import
|
|
5
|
+
import { EVENTS } from '../src/constants.js';
|
|
6
6
|
import {getStorageManager} from '../src/storageManager.js';
|
|
7
7
|
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
8
8
|
const MODULE_CODE = 'pubwise';
|
|
@@ -176,13 +176,13 @@ function flushEvents() {
|
|
|
176
176
|
|
|
177
177
|
function isIngestedEvent(eventType) {
|
|
178
178
|
const ingested = [
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
179
|
+
EVENTS.AUCTION_INIT,
|
|
180
|
+
EVENTS.BID_REQUESTED,
|
|
181
|
+
EVENTS.BID_RESPONSE,
|
|
182
|
+
EVENTS.BID_WON,
|
|
183
|
+
EVENTS.BID_TIMEOUT,
|
|
184
|
+
EVENTS.AD_RENDER_FAILED,
|
|
185
|
+
EVENTS.TCF2_ENFORCEMENT
|
|
186
186
|
];
|
|
187
187
|
return ingested.indexOf(eventType) !== -1;
|
|
188
188
|
}
|
|
@@ -278,9 +278,9 @@ pubwiseAnalytics.handleEvent = function(eventType, data) {
|
|
|
278
278
|
metaData = enrichWithCustomSegments(metaData);
|
|
279
279
|
|
|
280
280
|
// add data on init to the metadata container
|
|
281
|
-
if (eventType ===
|
|
281
|
+
if (eventType === EVENTS.AUCTION_INIT) {
|
|
282
282
|
data = filterAuctionInit(data);
|
|
283
|
-
} else if (eventType ===
|
|
283
|
+
} else if (eventType === EVENTS.BID_RESPONSE) {
|
|
284
284
|
data = filterBidResponse(data);
|
|
285
285
|
}
|
|
286
286
|
|
|
@@ -294,7 +294,7 @@ pubwiseAnalytics.handleEvent = function(eventType, data) {
|
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
// once the auction ends, or the event is a bid won send events
|
|
297
|
-
if (eventType ===
|
|
297
|
+
if (eventType === EVENTS.AUCTION_END || eventType === EVENTS.BID_WON) {
|
|
298
298
|
flushEvents();
|
|
299
299
|
}
|
|
300
300
|
};
|
|
@@ -2,7 +2,7 @@ import { deepAccess, parseSizesInput, getWindowLocation, buildUrl } from '../src
|
|
|
2
2
|
import { ajax } from '../src/ajax.js';
|
|
3
3
|
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
4
4
|
import adapterManager from '../src/adapterManager.js';
|
|
5
|
-
import
|
|
5
|
+
import { EVENTS } from '../src/constants.js';
|
|
6
6
|
import {getGlobal} from '../src/prebidGlobal.js';
|
|
7
7
|
import {getGptSlotInfoForAdUnitCode} from '../libraries/gptUtils/gptUtils.js';
|
|
8
8
|
|
|
@@ -38,9 +38,9 @@ var pubxaiAnalyticsAdapter = Object.assign(adapter(
|
|
|
38
38
|
}), {
|
|
39
39
|
track({ eventType, args }) {
|
|
40
40
|
if (typeof args !== 'undefined') {
|
|
41
|
-
if (eventType ===
|
|
41
|
+
if (eventType === EVENTS.BID_TIMEOUT) {
|
|
42
42
|
args.forEach(item => { mapBidResponse(item, 'timeout'); });
|
|
43
|
-
} else if (eventType ===
|
|
43
|
+
} else if (eventType === EVENTS.AUCTION_INIT) {
|
|
44
44
|
events.auctionInit = args;
|
|
45
45
|
events.floorDetail = {};
|
|
46
46
|
events.bids = [];
|
|
@@ -49,15 +49,15 @@ var pubxaiAnalyticsAdapter = Object.assign(adapter(
|
|
|
49
49
|
Object.assign(events.floorDetail, floorData);
|
|
50
50
|
}
|
|
51
51
|
auctionTimestamp = args.timestamp;
|
|
52
|
-
} else if (eventType ===
|
|
52
|
+
} else if (eventType === EVENTS.BID_RESPONSE) {
|
|
53
53
|
mapBidResponse(args, 'response');
|
|
54
|
-
} else if (eventType ===
|
|
54
|
+
} else if (eventType === EVENTS.BID_WON) {
|
|
55
55
|
send({
|
|
56
56
|
winningBid: mapBidResponse(args, 'bidwon')
|
|
57
57
|
}, 'bidwon');
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
if (eventType ===
|
|
60
|
+
if (eventType === EVENTS.AUCTION_END) {
|
|
61
61
|
send(events, 'auctionEnd');
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -3,7 +3,7 @@ import { ajax } from '../src/ajax.js';
|
|
|
3
3
|
import { logWarn, mergeDeep, logMessage, generateUUID } from '../src/utils.js';
|
|
4
4
|
import { loadExternalScript } from '../src/adloader.js';
|
|
5
5
|
import * as events from '../src/events.js';
|
|
6
|
-
import
|
|
6
|
+
import { EVENTS } from '../src/constants.js';
|
|
7
7
|
|
|
8
8
|
let requestUrl;
|
|
9
9
|
let bidderArray;
|
|
@@ -128,7 +128,7 @@ export function loadScriptTag(config) {
|
|
|
128
128
|
logMessage('received billable event: qx-impression')
|
|
129
129
|
impressionIds.add(uid)
|
|
130
130
|
billableEvent.transactionId = e.detail.uid;
|
|
131
|
-
events.emit(
|
|
131
|
+
events.emit(EVENTS.BILLABLE_EVENT, billableEvent);
|
|
132
132
|
break;
|
|
133
133
|
}
|
|
134
134
|
default:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {deepClone, getParameterByName, logError, logInfo} from '../src/utils.js';
|
|
2
2
|
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
3
|
-
import
|
|
3
|
+
import { EVENTS } from '../src/constants.js';
|
|
4
4
|
import adapterManager from '../src/adapterManager.js';
|
|
5
5
|
import {includes} from '../src/polyfill.js';
|
|
6
6
|
import {ajaxBuilder} from '../src/ajax.js';
|
|
@@ -18,15 +18,13 @@ const DEFAULT_SERVER_CONFIG_URL = 'pa.rxthdr.com/v3';
|
|
|
18
18
|
const analyticsType = 'endpoint';
|
|
19
19
|
|
|
20
20
|
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
} = CONSTANTS;
|
|
21
|
+
AUCTION_INIT,
|
|
22
|
+
AUCTION_END,
|
|
23
|
+
BID_REQUESTED,
|
|
24
|
+
BID_ADJUSTMENT,
|
|
25
|
+
BIDDER_DONE,
|
|
26
|
+
BID_WON
|
|
27
|
+
} = EVENTS;
|
|
30
28
|
|
|
31
29
|
const AUCTION_STATUS = {
|
|
32
30
|
'RUNNING': 'running',
|
|
@@ -163,7 +163,7 @@ import {config} from '../../src/config.js';
|
|
|
163
163
|
import {getHook, module} from '../../src/hook.js';
|
|
164
164
|
import {logError, logInfo, logWarn} from '../../src/utils.js';
|
|
165
165
|
import * as events from '../../src/events.js';
|
|
166
|
-
import
|
|
166
|
+
import { EVENTS, JSON_MAPPING } from '../../src/constants.js';
|
|
167
167
|
import adapterManager, {gdprDataHandler, uspDataHandler, gppDataHandler} from '../../src/adapterManager.js';
|
|
168
168
|
import {find} from '../../src/polyfill.js';
|
|
169
169
|
import {timedAuctionHook} from '../../src/utils/perfMetrics.js';
|
|
@@ -213,11 +213,11 @@ const setEventsListeners = (function () {
|
|
|
213
213
|
return function setEventsListeners() {
|
|
214
214
|
if (!registered) {
|
|
215
215
|
Object.entries({
|
|
216
|
-
[
|
|
217
|
-
[
|
|
218
|
-
[
|
|
219
|
-
[
|
|
220
|
-
[
|
|
216
|
+
[EVENTS.AUCTION_INIT]: ['onAuctionInitEvent'],
|
|
217
|
+
[EVENTS.AUCTION_END]: ['onAuctionEndEvent', getAdUnitTargeting],
|
|
218
|
+
[EVENTS.BID_RESPONSE]: ['onBidResponseEvent'],
|
|
219
|
+
[EVENTS.BID_REQUESTED]: ['onBidRequestEvent'],
|
|
220
|
+
[EVENTS.BID_ACCEPTED]: ['onBidAcceptedEvent']
|
|
221
221
|
}).forEach(([ev, [handler, preprocess]]) => {
|
|
222
222
|
events.on(ev, (args) => {
|
|
223
223
|
preprocess && preprocess(args);
|
|
@@ -380,7 +380,7 @@ export function getAdUnitTargeting(auction) {
|
|
|
380
380
|
return
|
|
381
381
|
}
|
|
382
382
|
logInfo('RTD set ad unit targeting of', kv, 'for', adUnit);
|
|
383
|
-
adUnit[
|
|
383
|
+
adUnit[JSON_MAPPING.ADSERVER_TARGETING] = Object.assign(adUnit[JSON_MAPPING.ADSERVER_TARGETING] || {}, kv);
|
|
384
384
|
});
|
|
385
385
|
return auction.adUnits;
|
|
386
386
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* COPYRIGHT SCALEABLE LLC 2019 */
|
|
2
2
|
|
|
3
3
|
import { ajax } from '../src/ajax.js';
|
|
4
|
-
import
|
|
4
|
+
import { EVENTS } from '../src/constants.js';
|
|
5
5
|
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
6
6
|
import adapterManager from '../src/adapterManager.js';
|
|
7
7
|
import { logMessage } from '../src/utils.js';
|
|
@@ -16,10 +16,10 @@ const entries = Object.entries || function(obj) {
|
|
|
16
16
|
return resArray;
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
-
const BID_TIMEOUT =
|
|
20
|
-
const AUCTION_INIT =
|
|
21
|
-
const BID_WON =
|
|
22
|
-
const AUCTION_END =
|
|
19
|
+
const BID_TIMEOUT = EVENTS.BID_TIMEOUT;
|
|
20
|
+
const AUCTION_INIT = EVENTS.AUCTION_INIT;
|
|
21
|
+
const BID_WON = EVENTS.BID_WON;
|
|
22
|
+
const AUCTION_END = EVENTS.AUCTION_END;
|
|
23
23
|
|
|
24
24
|
const URL = 'https://auction.scaleable.ai/';
|
|
25
25
|
const ANALYTICS_TYPE = 'endpoint';
|