prebid.js 8.44.0 → 8.46.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/alkimiBidAdapter.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 +15 -6
- 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/engageyaBidAdapter.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/jwplayerBidAdapter.js +1 -0
- 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 +245 -241
- 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/optableBidAdapter.js +1 -0
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/optimonAnalyticsAdapter.js +1 -1
- package/dist/ortbConverter.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/sirdataRtdProvider.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/stroeerCoreBidAdapter.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/viantOrtbBidAdapter.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/integrationExamples/noadserver/jwplayerBidAdapter_sample.html +75 -0
- package/integrationExamples/realTimeData/jwplayerRtdProvider_example.html +7 -0
- package/integrationExamples/videoModule/jwplayer/bidMarkedAsUsed.html +7 -0
- package/integrationExamples/videoModule/jwplayer/bidRequestScheduling.html +9 -4
- package/integrationExamples/videoModule/jwplayer/bidsBackHandlerOverride.html +7 -0
- package/integrationExamples/videoModule/jwplayer/eventListeners.html +7 -0
- package/integrationExamples/videoModule/jwplayer/eventsUI.html +7 -0
- package/integrationExamples/videoModule/jwplayer/gamAdServerMediation.html +7 -0
- package/integrationExamples/videoModule/jwplayer/mediaMetadata.html +7 -0
- package/integrationExamples/videoModule/jwplayer/playlist.html +7 -0
- package/integrationExamples/videoModule/videojs/bidMarkedAsUsed.html +7 -0
- package/integrationExamples/videoModule/videojs/bidRequestScheduling.html +7 -0
- package/integrationExamples/videoModule/videojs/bidsBackHandlerOverride.html +7 -0
- package/integrationExamples/videoModule/videojs/eventListeners.html +7 -0
- package/integrationExamples/videoModule/videojs/eventsUI.html +7 -0
- package/integrationExamples/videoModule/videojs/gamAdServerMediation.html +7 -0
- package/integrationExamples/videoModule/videojs/mediaMetadata.html +7 -0
- package/integrationExamples/videoModule/videojs/playlist.html +7 -0
- package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
- package/libraries/creative-renderer-native/renderer.js +1 -1
- package/libraries/ortbConverter/processors/banner.js +2 -2
- 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/adgenerationBidAdapter.js +6 -10
- 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 +54 -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/alkimiBidAdapter.js +48 -8
- 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/engageyaBidAdapter.js +1 -1
- 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/gumgumBidAdapter.js +1 -1
- 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/jwplayerBidAdapter.js +412 -0
- package/modules/jwplayerBidAdapter.md +72 -0
- 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/optableBidAdapter.js +42 -0
- package/modules/optableBidAdapter.md +41 -0
- package/modules/optidigitalBidAdapter.js +20 -4
- 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 +22 -18
- package/modules/pubwiseAnalyticsAdapter.js +11 -11
- package/modules/pubxaiAnalyticsAdapter.js +6 -6
- package/modules/qortexRtdProvider.js +2 -2
- package/modules/relaidoBidAdapter.js +70 -9
- 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/sirdataRtdProvider.js +33 -43
- 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/stroeerCoreBidAdapter.js +7 -5
- 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/viantOrtbBidAdapter.js +2 -0
- package/modules/videoModule/index.js +4 -4
- package/modules/yandexAnalyticsAdapter.js +8 -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 +19 -6
- 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/adgenerationBidAdapter_spec.js +6 -6
- 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 +26 -6
- 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/alkimiBidAdapter_spec.js +11 -5
- 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/gumgumBidAdapter_spec.js +1 -1
- 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/jwplayerBidAdapter_spec.js +412 -0
- 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/liveIntentIdSystem_spec.js +13 -15
- 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/optableBidAdapter_spec.js +89 -0
- package/test/spec/modules/optidigitalBidAdapter_spec.js +34 -4
- 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 +25 -2
- 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/relaidoBidAdapter_spec.js +62 -0
- 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/stroeerCoreBidAdapter_spec.js +21 -0
- 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 +19 -3
- package/src/constants.json +0 -196
|
@@ -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:
|
|
@@ -7,17 +7,19 @@ import {
|
|
|
7
7
|
isArray,
|
|
8
8
|
isNumber,
|
|
9
9
|
parseSizesInput,
|
|
10
|
-
getBidIdParameter
|
|
10
|
+
getBidIdParameter,
|
|
11
|
+
isGptPubadsDefined
|
|
11
12
|
} from '../src/utils.js';
|
|
12
13
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
13
14
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
14
15
|
import { Renderer } from '../src/Renderer.js';
|
|
15
16
|
import { getStorageManager } from '../src/storageManager.js';
|
|
16
17
|
import sha1 from 'crypto-js/sha1';
|
|
18
|
+
import { isSlotMatchingAdUnitCode } from '../libraries/gptUtils/gptUtils.js';
|
|
17
19
|
|
|
18
20
|
const BIDDER_CODE = 'relaido';
|
|
19
21
|
const BIDDER_DOMAIN = 'api.relaido.jp';
|
|
20
|
-
const ADAPTER_VERSION = '1.
|
|
22
|
+
const ADAPTER_VERSION = '1.2.0';
|
|
21
23
|
const DEFAULT_TTL = 300;
|
|
22
24
|
const UUID_KEY = 'relaido_uuid';
|
|
23
25
|
|
|
@@ -47,6 +49,7 @@ function buildRequests(validBidRequests, bidderRequest) {
|
|
|
47
49
|
let bidDomain = null;
|
|
48
50
|
let bidder = null;
|
|
49
51
|
let count = null;
|
|
52
|
+
let isOgUrlOption = false;
|
|
50
53
|
|
|
51
54
|
for (let i = 0; i < validBidRequests.length; i++) {
|
|
52
55
|
const bidRequest = validBidRequests[i];
|
|
@@ -92,6 +95,10 @@ function buildRequests(validBidRequests, bidderRequest) {
|
|
|
92
95
|
count = bidRequest.bidRequestsCount;
|
|
93
96
|
}
|
|
94
97
|
|
|
98
|
+
if (getBidIdParameter('ogUrl', bidRequest.params)) {
|
|
99
|
+
isOgUrlOption = true;
|
|
100
|
+
}
|
|
101
|
+
|
|
95
102
|
bids.push({
|
|
96
103
|
bid_id: bidRequest.bidId,
|
|
97
104
|
placement_id: getBidIdParameter('placementId', bidRequest.params),
|
|
@@ -105,10 +112,13 @@ function buildRequests(validBidRequests, bidderRequest) {
|
|
|
105
112
|
height: height,
|
|
106
113
|
banner_sizes: getBannerSizes(bidRequest),
|
|
107
114
|
media_type: mediaType,
|
|
108
|
-
userIdAsEids: bidRequest.userIdAsEids ||
|
|
115
|
+
userIdAsEids: bidRequest.userIdAsEids || [],
|
|
116
|
+
pagekvt: getTargeting(bidRequest),
|
|
109
117
|
});
|
|
110
118
|
}
|
|
111
119
|
|
|
120
|
+
const canonicalUrl = getCanonicalUrl(bidderRequest.refererInfo?.canonicalUrl, isOgUrlOption);
|
|
121
|
+
|
|
112
122
|
const data = JSON.stringify({
|
|
113
123
|
version: ADAPTER_VERSION,
|
|
114
124
|
bids: bids,
|
|
@@ -118,8 +128,8 @@ function buildRequests(validBidRequests, bidderRequest) {
|
|
|
118
128
|
uuid: getUuid(),
|
|
119
129
|
pv: '$prebid.version$',
|
|
120
130
|
imuid: imuid,
|
|
121
|
-
canonical_url:
|
|
122
|
-
canonical_url_hash: getCanonicalUrlHash(
|
|
131
|
+
canonical_url: canonicalUrl,
|
|
132
|
+
canonical_url_hash: getCanonicalUrlHash(canonicalUrl),
|
|
123
133
|
ref: bidderRequest.refererInfo.page
|
|
124
134
|
});
|
|
125
135
|
|
|
@@ -294,12 +304,25 @@ function getUuid() {
|
|
|
294
304
|
return newId;
|
|
295
305
|
}
|
|
296
306
|
|
|
297
|
-
function
|
|
298
|
-
|
|
307
|
+
function getOgUrl() {
|
|
308
|
+
try {
|
|
309
|
+
const ogURLElement = window.top.document.querySelector('meta[property="og:url"]');
|
|
310
|
+
return ogURLElement ? ogURLElement.content : null;
|
|
311
|
+
} catch (e) {
|
|
312
|
+
const ogURLElement = document.querySelector('meta[property="og:url"]');
|
|
313
|
+
return ogURLElement ? ogURLElement.content : null;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
function getCanonicalUrl(canonicalUrl, isOgUrlOption) {
|
|
299
318
|
if (!canonicalUrl) {
|
|
300
|
-
return null;
|
|
319
|
+
return (isOgUrlOption) ? getOgUrl() : null;
|
|
301
320
|
}
|
|
302
|
-
return
|
|
321
|
+
return canonicalUrl;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
function getCanonicalUrlHash(canonicalUrl) {
|
|
325
|
+
return (canonicalUrl) ? sha1(canonicalUrl).toString() : null;
|
|
303
326
|
}
|
|
304
327
|
|
|
305
328
|
function hasBannerMediaType(bid) {
|
|
@@ -349,6 +372,44 @@ function getBannerSizes(bidRequest) {
|
|
|
349
372
|
return parseSizesInput(sizes).join(',');
|
|
350
373
|
}
|
|
351
374
|
|
|
375
|
+
function getTargeting(bidRequest) {
|
|
376
|
+
const targetings = {};
|
|
377
|
+
const pubads = getPubads();
|
|
378
|
+
if (pubads) {
|
|
379
|
+
const keys = pubads.getTargetingKeys();
|
|
380
|
+
for (const key of keys) {
|
|
381
|
+
const values = pubads.getTargeting(key);
|
|
382
|
+
targetings[key] = values;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
const adUnitSlot = getAdUnit(bidRequest.adUnitCode);
|
|
386
|
+
if (adUnitSlot) {
|
|
387
|
+
const keys = adUnitSlot.getTargetingKeys();
|
|
388
|
+
for (const key of keys) {
|
|
389
|
+
const values = adUnitSlot.getTargeting(key);
|
|
390
|
+
targetings[key] = values;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
return targetings;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
function getPubads() {
|
|
397
|
+
return (isGptPubadsDefined()) ? window.googletag.pubads() : null;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
function getAdUnit(adUnitCode) {
|
|
401
|
+
if (isGptPubadsDefined()) {
|
|
402
|
+
const adSlots = window.googletag.pubads().getSlots();
|
|
403
|
+
const isMatchingAdSlot = isSlotMatchingAdUnitCode(adUnitCode);
|
|
404
|
+
for (let i = 0; i < adSlots.length; i++) {
|
|
405
|
+
if (isMatchingAdSlot(adSlots[i])) {
|
|
406
|
+
return adSlots[i];
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
return null;
|
|
411
|
+
}
|
|
412
|
+
|
|
352
413
|
export const spec = {
|
|
353
414
|
code: BIDDER_CODE,
|
|
354
415
|
supportedMediaTypes: [BANNER, VIDEO],
|
|
@@ -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';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { isArray, _map, triggerPixel } from '../src/utils.js';
|
|
2
1
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
3
|
-
import { VIDEO, BANNER } from '../src/mediaTypes.js';
|
|
4
2
|
import { config } from '../src/config.js';
|
|
3
|
+
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
4
|
+
import { _map, isArray, triggerPixel } from '../src/utils.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest
|
|
@@ -125,7 +125,7 @@ function buildBidRequest(validBidRequest) {
|
|
|
125
125
|
adUnitCode: validBidRequest.adUnitCode,
|
|
126
126
|
geom: geom(validBidRequest.adUnitCode),
|
|
127
127
|
placement: params.placement,
|
|
128
|
-
requestCount: validBidRequest.bidderRequestsCount || 1, // FIXME : in unit test the parameter bidderRequestsCount is
|
|
128
|
+
requestCount: validBidRequest.bidderRequestsCount || 1, // FIXME : in unit test the parameter bidderRequestsCount is undefinedt
|
|
129
129
|
};
|
|
130
130
|
|
|
131
131
|
if (hasVideoMediaType(validBidRequest)) {
|
|
@@ -284,6 +284,7 @@ export const spec = {
|
|
|
284
284
|
auctionStart: bidderRequest.auctionStart || Date.now(),
|
|
285
285
|
ttfb: ttfb(),
|
|
286
286
|
bidRequests: _map(validBidRequests, buildBidRequest),
|
|
287
|
+
user: { topics: [], eids: [] }
|
|
287
288
|
};
|
|
288
289
|
|
|
289
290
|
if (payload.cmp) {
|
|
@@ -316,7 +317,15 @@ export const spec = {
|
|
|
316
317
|
}
|
|
317
318
|
}
|
|
318
319
|
|
|
320
|
+
if (bidderRequest.ortb2?.user?.data) {
|
|
321
|
+
payload.user.topics = bidderRequest.ortb2.user.data
|
|
322
|
+
}
|
|
323
|
+
if (validBidRequests[0] && validBidRequests[0].userIdAsEids) {
|
|
324
|
+
payload.user.eids = validBidRequests[0].userIdAsEids
|
|
325
|
+
}
|
|
326
|
+
|
|
319
327
|
const payloadString = JSON.stringify(payload);
|
|
328
|
+
|
|
320
329
|
return {
|
|
321
330
|
method: 'POST',
|
|
322
331
|
url: SEEDTAG_SSP_ENDPOINT,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Updated : 2018-03-28 */
|
|
3
3
|
import {includes} from '../src/polyfill.js';
|
|
4
4
|
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
5
|
-
import
|
|
5
|
+
import { EVENTS } from '../src/constants.js';
|
|
6
6
|
import adapterManager from '../src/adapterManager.js';
|
|
7
7
|
import {getStorageManager} from '../src/storageManager.js';
|
|
8
8
|
import {generateUUID, logError, logInfo} from '../src/utils.js';
|
|
@@ -14,12 +14,12 @@ const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName
|
|
|
14
14
|
const url = 'https://kinesis.us-east-1.amazonaws.com/';
|
|
15
15
|
const analyticsType = 'endpoint';
|
|
16
16
|
|
|
17
|
-
const auctionInitConst =
|
|
18
|
-
const auctionEndConst =
|
|
19
|
-
const bidWonConst =
|
|
20
|
-
const bidRequestConst =
|
|
21
|
-
const bidAdjustmentConst =
|
|
22
|
-
const bidResponseConst =
|
|
17
|
+
const auctionInitConst = EVENTS.AUCTION_INIT;
|
|
18
|
+
const auctionEndConst = EVENTS.AUCTION_END;
|
|
19
|
+
const bidWonConst = EVENTS.BID_WON;
|
|
20
|
+
const bidRequestConst = EVENTS.BID_REQUESTED;
|
|
21
|
+
const bidAdjustmentConst = EVENTS.BID_ADJUSTMENT;
|
|
22
|
+
const bidResponseConst = EVENTS.BID_RESPONSE;
|
|
23
23
|
|
|
24
24
|
let initOptions = { publisherIds: [], utmTagData: [], adUnits: [] };
|
|
25
25
|
let bidWon = {options: {}, events: []};
|
|
@@ -7,17 +7,19 @@
|
|
|
7
7
|
* @module modules/sirdataRtdProvider
|
|
8
8
|
* @requires module:modules/realTimeData
|
|
9
9
|
*/
|
|
10
|
-
import {deepAccess, deepSetValue, isEmpty, logError, mergeDeep} from '../src/utils.js';
|
|
10
|
+
import {deepAccess, deepSetValue, isEmpty, logError, logInfo, mergeDeep} from '../src/utils.js';
|
|
11
11
|
import {submodule} from '../src/hook.js';
|
|
12
12
|
import {ajax} from '../src/ajax.js';
|
|
13
13
|
import {findIndex} from '../src/polyfill.js';
|
|
14
14
|
import {getRefererInfo} from '../src/refererDetection.js';
|
|
15
15
|
import {config} from '../src/config.js';
|
|
16
|
+
import {getGlobal} from '../src/prebidGlobal.js';
|
|
16
17
|
|
|
17
18
|
/** @type {string} */
|
|
18
19
|
const MODULE_NAME = 'realTimeData';
|
|
19
20
|
const SUBMODULE_NAME = 'SirdataRTDModule';
|
|
20
21
|
const ORTB2_NAME = 'sirdata.com';
|
|
22
|
+
const LOG_PREFIX = 'Sirdata RTD: ';
|
|
21
23
|
|
|
22
24
|
const partnerIds = {
|
|
23
25
|
'criteo': 27443,
|
|
@@ -63,28 +65,28 @@ const partnerIds = {
|
|
|
63
65
|
'zeta_global_ssp': 33385,
|
|
64
66
|
};
|
|
65
67
|
|
|
66
|
-
let CONTEXT_ONLY = true;
|
|
67
|
-
|
|
68
68
|
export function getSegmentsAndCategories(reqBidsConfigObj, onDone, moduleConfig, userConsent) {
|
|
69
|
+
logInfo(LOG_PREFIX, 'init');
|
|
69
70
|
moduleConfig.params = moduleConfig.params || {};
|
|
70
71
|
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
let tcString = (userConsent && userConsent.gdpr && userConsent.gdpr.consentString ? userConsent.gdpr.consentString : '');
|
|
73
|
+
let gdprApplies = (userConsent && userConsent.gdpr && userConsent.gdpr.gdprApplies ? userConsent.gdpr.gdprApplies : '');
|
|
73
74
|
|
|
74
75
|
moduleConfig.params.partnerId = moduleConfig.params.partnerId ? moduleConfig.params.partnerId : 1;
|
|
75
76
|
moduleConfig.params.key = moduleConfig.params.key ? moduleConfig.params.key : 1;
|
|
77
|
+
moduleConfig.params.actualUrl = moduleConfig.params.actualUrl || null;
|
|
76
78
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
let sirdataDomain;
|
|
80
|
+
let sendWithCredentials;
|
|
79
81
|
|
|
80
|
-
if (userConsent.coppa || (userConsent.usp && (userConsent.usp[0]
|
|
82
|
+
if (userConsent.coppa || (userConsent.usp && (userConsent.usp[0] === '1' && (userConsent.usp[1] === 'N' || userConsent.usp[2] === 'Y')))) {
|
|
81
83
|
// if children or "Do not Sell" management in California, no segments, page categories only whatever TCF signal
|
|
82
84
|
sirdataDomain = 'cookieless-data.com';
|
|
83
85
|
sendWithCredentials = false;
|
|
84
86
|
gdprApplies = null;
|
|
85
87
|
tcString = '';
|
|
86
88
|
} else if (config.getConfig('consentManagement.gdpr')) {
|
|
87
|
-
// Default endpoint is cookieless if gdpr management is set. Needed because the cookie-based endpoint will fail and return error if user is located in Europe and no consent has been given
|
|
89
|
+
// Default endpoint for Contextual results only is cookieless if gdpr management is set. Needed because the cookie-based endpoint will fail and return error if user is located in Europe and no consent has been given
|
|
88
90
|
sirdataDomain = 'cookieless-data.com';
|
|
89
91
|
sendWithCredentials = false;
|
|
90
92
|
}
|
|
@@ -94,10 +96,9 @@ export function getSegmentsAndCategories(reqBidsConfigObj, onDone, moduleConfig,
|
|
|
94
96
|
if (!sirdataDomain || !gdprApplies || (deepAccess(userConsent, 'gdpr.vendorData.vendor.consents') && userConsent.gdpr.vendorData.vendor.consents[53] && userConsent.gdpr.vendorData.purpose.consents[1] && userConsent.gdpr.vendorData.purpose.consents[4])) {
|
|
95
97
|
sirdataDomain = 'sddan.com';
|
|
96
98
|
sendWithCredentials = true;
|
|
97
|
-
CONTEXT_ONLY = false;
|
|
98
99
|
}
|
|
99
100
|
|
|
100
|
-
|
|
101
|
+
let actualUrl = moduleConfig.params.actualUrl || getRefererInfo().stack.pop() || getRefererInfo().page;
|
|
101
102
|
|
|
102
103
|
const url = 'https://kvt.' + sirdataDomain + '/api/v1/public/p/' + moduleConfig.params.partnerId + '/d/' + moduleConfig.params.key + '/s?callback=&gdpr=' + gdprApplies + '&gdpr_consent=' + tcString + (actualUrl ? '&url=' + encodeURIComponent(actualUrl) : '');
|
|
103
104
|
|
|
@@ -169,7 +170,7 @@ export function setOrtb2Sda(ortb2Fragments, bidder, type, segments, segtaxValue)
|
|
|
169
170
|
if (segtaxValue) {
|
|
170
171
|
ortb2Data[0].ext = { segtax: segtaxValue };
|
|
171
172
|
}
|
|
172
|
-
let ortb2Conf = (type
|
|
173
|
+
let ortb2Conf = (type === 'site' ? {site: {content: {data: ortb2Data}}} : {user: {data: ortb2Data}});
|
|
173
174
|
if (bidder) {
|
|
174
175
|
ortb2Conf = {[bidder]: ortb2Conf};
|
|
175
176
|
}
|
|
@@ -218,7 +219,7 @@ export function getSegAndCatsArray(data, minScore, pid) {
|
|
|
218
219
|
if (data.contextual_categories.hasOwnProperty(catId) && data.contextual_categories[catId]) {
|
|
219
220
|
let value = data.contextual_categories[catId];
|
|
220
221
|
if (value >= minScore && sirdataData.categories.indexOf(catId) === -1) {
|
|
221
|
-
if (pid && cattaxid) {
|
|
222
|
+
if (pid && pid === '27440' && cattaxid) { // Equativ only
|
|
222
223
|
sirdataData.categories.push(pid.toString() + 'cc' + catId.toString());
|
|
223
224
|
} else {
|
|
224
225
|
sirdataData.categories.push(catId.toString());
|
|
@@ -236,15 +237,10 @@ export function getSegAndCatsArray(data, minScore, pid) {
|
|
|
236
237
|
for (let segId in data.segments) {
|
|
237
238
|
if (data.segments.hasOwnProperty(segId) && data.segments[segId]) {
|
|
238
239
|
let id = data.segments[segId].toString();
|
|
239
|
-
if (pid &&
|
|
240
|
-
|
|
241
|
-
sirdataData.categories.push(pid.toString() + 'uc' + id);
|
|
242
|
-
} else {
|
|
243
|
-
sirdataData.categories.push(id);
|
|
244
|
-
sirdataData.categories_score[id] = 100;
|
|
245
|
-
}
|
|
240
|
+
if (pid && pid === '27440' && segtaxid) { // Equativ only
|
|
241
|
+
sirdataData.segments.push(pid.toString() + 'us' + id);
|
|
246
242
|
} else {
|
|
247
|
-
sirdataData.segments.push(
|
|
243
|
+
sirdataData.segments.push(id);
|
|
248
244
|
}
|
|
249
245
|
}
|
|
250
246
|
}
|
|
@@ -259,7 +255,7 @@ export function applySdaGetSpecificData(data, sirdataData, biddersParamsExist, m
|
|
|
259
255
|
// only share SDA data if whitelisted
|
|
260
256
|
if (!biddersParamsExist || indexFound) {
|
|
261
257
|
// SDA Publisher
|
|
262
|
-
let sirdataDataForSDA = getSegAndCatsArray(data, minScore, moduleConfig.params.partnerId);
|
|
258
|
+
let sirdataDataForSDA = getSegAndCatsArray(data, minScore, moduleConfig.params.partnerId.toString());
|
|
263
259
|
pushToOrtb2(reqBids.ortb2Fragments?.bidder, bid.bidder, sirdataDataForSDA, data.segtaxid, data.cattaxid);
|
|
264
260
|
}
|
|
265
261
|
|
|
@@ -269,7 +265,7 @@ export function applySdaGetSpecificData(data, sirdataData, biddersParamsExist, m
|
|
|
269
265
|
// seller defined audience & bidder specific data
|
|
270
266
|
if (data.shared_taxonomy && data.shared_taxonomy[curationId]) {
|
|
271
267
|
// Get Bidder Specific Data
|
|
272
|
-
let curationData = getSegAndCatsArray(data.shared_taxonomy[curationId], minScore, curationId);
|
|
268
|
+
let curationData = getSegAndCatsArray(data.shared_taxonomy[curationId], minScore, curationId.toString());
|
|
273
269
|
pushToOrtb2(reqBids.ortb2Fragments?.bidder, bid.bidder, curationData, data.shared_taxonomy[curationId].segtaxid, data.shared_taxonomy[curationId].cattaxid);
|
|
274
270
|
}
|
|
275
271
|
}
|
|
@@ -284,26 +280,19 @@ export function applySdaGetSpecificData(data, sirdataData, biddersParamsExist, m
|
|
|
284
280
|
}
|
|
285
281
|
}
|
|
286
282
|
|
|
287
|
-
export function
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
}
|
|
293
|
-
if (sirdataData.categories && sirdataData.categories.length > 0) {
|
|
294
|
-
setOrtb2(reqBids.ortb2Fragments?.bidder, bid.bidder, 'site.ext.data', {sd_rtd: sirdataData.categories});
|
|
283
|
+
export function addSegmentData(reqBids, data, moduleConfig, onDone) {
|
|
284
|
+
const adUnits = (reqBids && reqBids.adUnits) || getGlobal().adUnits;
|
|
285
|
+
if (!adUnits) {
|
|
286
|
+
onDone();
|
|
287
|
+
return;
|
|
295
288
|
}
|
|
296
|
-
*/
|
|
297
|
-
}
|
|
298
289
|
|
|
299
|
-
export function addSegmentData(reqBids, data, moduleConfig, onDone) {
|
|
300
|
-
const adUnits = reqBids.adUnits;
|
|
301
290
|
moduleConfig = moduleConfig || {};
|
|
302
291
|
moduleConfig.params = moduleConfig.params || {};
|
|
303
292
|
const globalMinScore = moduleConfig.params.hasOwnProperty('contextualMinRelevancyScore') ? moduleConfig.params.contextualMinRelevancyScore : 30;
|
|
304
|
-
|
|
293
|
+
let sirdataData = getSegAndCatsArray(data, globalMinScore, null);
|
|
305
294
|
|
|
306
|
-
const biddersParamsExist = (!!(moduleConfig.params && moduleConfig.params.bidders));
|
|
295
|
+
const biddersParamsExist = (!!(moduleConfig.params && moduleConfig.params.bidders && moduleConfig.params.bidders.length > 0));
|
|
307
296
|
|
|
308
297
|
// Global ortb2 SDA
|
|
309
298
|
if (data.global_taxonomy && !isEmpty(data.global_taxonomy)) {
|
|
@@ -320,10 +309,12 @@ export function addSegmentData(reqBids, data, moduleConfig, onDone) {
|
|
|
320
309
|
if (typeof window.googletag !== 'undefined' && (moduleConfig.params.setGptKeyValues || !moduleConfig.params.hasOwnProperty('setGptKeyValues'))) {
|
|
321
310
|
try {
|
|
322
311
|
let gptCurationId = (moduleConfig.params.gptCurationId ? moduleConfig.params.gptCurationId : (partnerIds['sdRtdForGpt'] ? partnerIds['sdRtdForGpt'] : null));
|
|
323
|
-
let sirdataMergedList =
|
|
312
|
+
let sirdataMergedList = [];
|
|
324
313
|
if (gptCurationId && data.shared_taxonomy && data.shared_taxonomy[gptCurationId]) {
|
|
325
314
|
let gamCurationData = getSegAndCatsArray(data.shared_taxonomy[gptCurationId], globalMinScore, null);
|
|
326
315
|
sirdataMergedList = sirdataMergedList.concat(gamCurationData.segments).concat(gamCurationData.categories);
|
|
316
|
+
} else {
|
|
317
|
+
sirdataMergedList = sirdataData.segments.concat(sirdataData.categories);
|
|
327
318
|
}
|
|
328
319
|
window.googletag.cmd.push(function() {
|
|
329
320
|
window.googletag.pubads().getSlots().forEach(function (n) {
|
|
@@ -338,8 +329,8 @@ export function addSegmentData(reqBids, data, moduleConfig, onDone) {
|
|
|
338
329
|
}
|
|
339
330
|
|
|
340
331
|
// Bid targeting level for FPD non-generic biders
|
|
341
|
-
|
|
342
|
-
|
|
332
|
+
let bidderIndex = '';
|
|
333
|
+
let indexFound = false;
|
|
343
334
|
|
|
344
335
|
adUnits.forEach(adUnit => {
|
|
345
336
|
adUnit.hasOwnProperty('bids') && adUnit.bids.forEach(bid => {
|
|
@@ -349,7 +340,6 @@ export function addSegmentData(reqBids, data, moduleConfig, onDone) {
|
|
|
349
340
|
indexFound = (!!(typeof bidderIndex == 'number' && bidderIndex >= 0));
|
|
350
341
|
try {
|
|
351
342
|
let minScore = (indexFound && moduleConfig.params.bidders[bidderIndex].hasOwnProperty('contextualMinRelevancyScore') ? moduleConfig.params.bidders[bidderIndex].contextualMinRelevancyScore : globalMinScore);
|
|
352
|
-
|
|
353
343
|
switch (bid.bidder) {
|
|
354
344
|
case 'appnexus':
|
|
355
345
|
case 'appnexusAst':
|
|
@@ -379,7 +369,7 @@ export function addSegmentData(reqBids, data, moduleConfig, onDone) {
|
|
|
379
369
|
|
|
380
370
|
default:
|
|
381
371
|
if (!biddersParamsExist || (indexFound && (!moduleConfig.params.bidders[bidderIndex].hasOwnProperty('adUnitCodes') || moduleConfig.params.bidders[bidderIndex].adUnitCodes.indexOf(adUnit.code) !== -1))) {
|
|
382
|
-
|
|
372
|
+
applySdaGetSpecificData(data, sirdataData, biddersParamsExist, minScore, reqBids, bid, moduleConfig, indexFound, bidderIndex, adUnit);
|
|
383
373
|
}
|
|
384
374
|
}
|
|
385
375
|
} catch (e) {
|
|
@@ -387,12 +377,12 @@ export function addSegmentData(reqBids, data, moduleConfig, onDone) {
|
|
|
387
377
|
}
|
|
388
378
|
})
|
|
389
379
|
});
|
|
390
|
-
|
|
391
380
|
onDone();
|
|
392
381
|
return adUnits;
|
|
393
382
|
}
|
|
394
383
|
|
|
395
384
|
export function init(config) {
|
|
385
|
+
logInfo(LOG_PREFIX, config);
|
|
396
386
|
return true;
|
|
397
387
|
}
|
|
398
388
|
|
|
@@ -3,7 +3,7 @@ import {find} from '../src/polyfill.js';
|
|
|
3
3
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
4
4
|
import {config} from '../src/config.js';
|
|
5
5
|
import {ADPOD, BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
|
|
6
|
-
import
|
|
6
|
+
import { NATIVE_IMAGE_TYPES } from '../src/constants.js';
|
|
7
7
|
import {getAdUnitSizes} from '../libraries/sizeUtils/sizeUtils.js';
|
|
8
8
|
import {fill} from '../libraries/appnexusUtils/anUtils.js';
|
|
9
9
|
import {chunk} from '../libraries/chunk/chunk.js';
|
|
@@ -16,7 +16,6 @@ import {chunk} from '../libraries/chunk/chunk.js';
|
|
|
16
16
|
* @typedef {import('../src/adapters/bidderFactory.js').UserSync} UserSync
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
const { NATIVE_IMAGE_TYPES } = CONSTANTS;
|
|
20
19
|
const BIDDER_CODE = 'smaato';
|
|
21
20
|
const SMAATO_ENDPOINT = 'https://prebid.ad.smaato.net/oapi/prebid';
|
|
22
21
|
const SMAATO_CLIENT = 'prebid_js_$prebid.version$_1.8'
|