prebid.js 7.42.0 → 7.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +0 -1
- package/dist/1plusXRtdProvider.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/a4gBidAdapter.js +1 -1
- package/dist/aaxBlockmeterRtdProvider.js +1 -1
- package/dist/ablidaBidAdapter.js +1 -1
- package/dist/acuityAdsBidAdapter.js +1 -1
- package/dist/adWMGAnalyticsAdapter.js +1 -1
- package/dist/adWMGBidAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/addefendBidAdapter.js +1 -1
- package/dist/adfBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adhashBidAdapter.js +1 -1
- package/dist/adheseBidAdapter.js +1 -1
- package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
- package/dist/adkernelAdnBidAdapter.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/admanBidAdapter.js +1 -1
- package/dist/admaruBidAdapter.js +1 -1
- package/dist/admaticBidAdapter.js +1 -1
- package/dist/admediaBidAdapter.js +1 -1
- package/dist/admixerBidAdapter.js +1 -1
- package/dist/admixerIdSystem.js +1 -1
- package/dist/adnowBidAdapter.js +1 -1
- package/dist/adnuntiusBidAdapter.js +1 -1
- package/dist/adnuntiusRtdProvider.js +1 -1
- package/dist/adoceanBidAdapter.js +1 -1
- package/dist/adomikAnalyticsAdapter.js +1 -1
- package/dist/adotBidAdapter.js +1 -1
- package/dist/adpartnerBidAdapter.js +1 -1
- package/dist/adplusBidAdapter.js +1 -1
- package/dist/adpod.js +1 -1
- package/dist/adponeBidAdapter.js +1 -1
- package/dist/adprimeBidAdapter.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adqueryIdSystem.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adrinoBidAdapter.js +1 -1
- package/dist/adriverBidAdapter.js +1 -1
- package/dist/adriverIdSystem.js +1 -1
- package/dist/adtargetBidAdapter.js +1 -1
- package/dist/adtelligentBidAdapter.js +1 -1
- package/dist/adtelligentIdSystem.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adtrueBidAdapter.js +1 -1
- package/dist/aduptechBidAdapter.js +1 -1
- package/dist/advangelistsBidAdapter.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/afpBidAdapter.js +1 -1
- package/dist/aidemBidAdapter.js +1 -1
- package/dist/airgridRtdProvider.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/akamaiDapRtdProvider.js +1 -1
- package/dist/alkimiBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/aniviewBidAdapter.js +1 -1
- package/dist/aolBidAdapter.js +1 -1
- package/dist/apacdexBidAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appierBidAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/appushBidAdapter.js +1 -1
- package/dist/apstreamBidAdapter.js +1 -1
- package/dist/arcspanRtdProvider.js +1 -1
- package/dist/asealBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/astraoneBidAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/audiencerunBidAdapter.js +1 -1
- package/dist/automatadBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/beachfrontBidAdapter.js +1 -1
- package/dist/beopBidAdapter.js +1 -1
- package/dist/betweenBidAdapter.js +1 -1
- package/dist/beyondmediaBidAdapter.js +1 -1
- package/dist/bidViewability.js +1 -1
- package/dist/bidViewabilityIO.js +1 -1
- package/dist/biddoBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidscubeBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bizzclickBidAdapter.js +1 -1
- package/dist/bliinkBidAdapter.js +1 -1
- package/dist/bluebillywigBidAdapter.js +1 -1
- package/dist/blueconicRtdProvider.js +1 -1
- package/dist/boldwinBidAdapter.js +1 -1
- package/dist/brandmetricsRtdProvider.js +1 -1
- package/dist/braveBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/brightcomBidAdapter.js +1 -1
- package/dist/brightcomSSPBidAdapter.js +1 -1
- package/dist/britepoolIdSystem.js +1 -1
- package/dist/browsiBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/bucksenseBidAdapter.js +1 -1
- package/dist/buzzoolaBidAdapter.js +1 -1
- package/dist/byDataAnalyticsAdapter.js +1 -1
- package/dist/c1xBidAdapter.js +1 -1
- package/dist/captifyRtdProvider.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/categoryTranslation.js +1 -1
- package/dist/ccxBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/cleanioRtdProvider.js +1 -1
- package/dist/cleanmedianetBidAdapter.js +1 -1
- package/dist/clickforceBidAdapter.js +1 -1
- package/dist/codefuelBidAdapter.js +1 -1
- package/dist/cointrafficBidAdapter.js +1 -1
- package/dist/coinzillaBidAdapter.js +1 -1
- package/dist/colossussspBidAdapter.js +1 -1
- package/dist/compassBidAdapter.js +1 -1
- package/dist/concertAnalyticsAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/confiantRtdProvider.js +1 -1
- package/dist/connectIdSystem.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consentManagement.js +1 -1
- package/dist/consentManagementGpp.js +1 -1
- package/dist/consentManagementUsp.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/contentexchangeBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/cpmstarBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/criteoIdSystem.js +1 -1
- package/dist/currency.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/czechAdIdSystem.js +1 -1
- package/dist/dacIdSystem.js +1 -1
- package/dist/dailyhuntBidAdapter.js +1 -1
- package/dist/dataControllerModule.js +1 -1
- package/dist/datablocksAnalyticsAdapter.js +1 -1
- package/dist/datablocksBidAdapter.js +1 -1
- package/dist/datawrkzBidAdapter.js +1 -1
- package/dist/dchain.js +1 -1
- package/dist/debugging-standalone.js +1 -1
- package/dist/debugging.js +1 -1
- package/dist/deepintentBidAdapter.js +1 -1
- package/dist/deepintentDpesIdSystem.js +1 -1
- package/dist/deltaprojectsBidAdapter.js +1 -1
- package/dist/dfpAdServerVideo.js +1 -1
- package/dist/dgkeywordRtdProvider.js +1 -1
- package/dist/dianomiBidAdapter.js +1 -1
- package/dist/discoveryBidAdapter.js +1 -1
- package/dist/displayioBidAdapter.js +1 -1
- package/dist/distroscaleBidAdapter.js +1 -1
- package/dist/dmdIdSystem.js +1 -1
- package/dist/docereeBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/e_volutionBidAdapter.js +1 -1
- package/dist/ebdrBidAdapter.js +1 -1
- package/dist/emx_digitalBidAdapter.js +1 -1
- package/dist/engageyaBidAdapter.js +1 -1
- package/dist/enrichmentFpdModule.js +1 -1
- package/dist/eplanningAnalyticsAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/etargetBidAdapter.js +1 -1
- package/dist/express.js +1 -1
- package/dist/fabrickIdSystem.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/fintezaAnalyticsAdapter.js +1 -1
- package/dist/fledgeForGpt.js +1 -1
- package/dist/fluctBidAdapter.js +1 -1
- package/dist/fpdModule.js +1 -1
- package/dist/freeWheelAdserverVideo.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/ftrackIdSystem.js +1 -1
- package/dist/gammaBidAdapter.js +1 -1
- package/dist/gamoshiBidAdapter.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/genericAnalyticsAdapter.js +1 -1
- package/dist/geoedgeRtdProvider.js +1 -1
- package/dist/getintentBidAdapter.js +1 -1
- package/dist/gjirafaBidAdapter.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/globalsunBidAdapter.js +1 -1
- package/dist/glomexBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/gnetBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/googleAnalyticsAdapter.js +1 -1
- package/dist/gothamadsBidAdapter.js +1 -1
- package/dist/gptPreAuction.js +1 -1
- package/dist/gravitoIdSystem.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/growadvertisingBidAdapter.js +1 -1
- package/dist/growthCodeAnalyticsAdapter.js +1 -1
- package/dist/growthCodeIdSystem.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.js +1 -1
- package/dist/hadronIdSystem.js +1 -1
- package/dist/hadronRtdProvider.js +1 -1
- package/dist/holidBidAdapter.js +1 -1
- package/dist/hybridBidAdapter.js +1 -1
- package/dist/iasRtdProvider.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/idImportLibrary.js +1 -1
- package/dist/idWardRtdProvider.js +1 -1
- package/dist/identityLinkIdSystem.js +1 -1
- package/dist/idxBidAdapter.js +1 -1
- package/dist/idxIdSystem.js +1 -1
- package/dist/imRtdProvider.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/imuIdSystem.js +1 -1
- package/dist/incrxBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/innityBidAdapter.js +1 -1
- package/dist/inskinBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/instreamTracking.js +1 -1
- package/dist/integr8BidAdapter.js +1 -1
- package/dist/intentIqIdSystem.js +1 -1
- package/dist/interactiveOffersBidAdapter.js +1 -1
- package/dist/intersectionRtdProvider.js +1 -1
- package/dist/invamiaBidAdapter.js +1 -1
- package/dist/invibesBidAdapter.js +1 -1
- package/dist/invisiblyAnalyticsAdapter.js +1 -1
- package/dist/ipromBidAdapter.js +1 -1
- package/dist/iqmBidAdapter.js +1 -1
- package/dist/iqzoneBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justIdSystem.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/jwplayerRtdProvider.js +1 -1
- package/dist/jwplayerVideoProvider.js +1 -1
- package/dist/kargoAnalyticsAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kinessoIdSystem.js +1 -1
- package/dist/koblerBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/konduitWrapper.js +1 -1
- package/dist/krushmediaBidAdapter.js +1 -1
- package/dist/kubientBidAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/kulturemediaBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lemmaDigitalBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/limelightDigitalBidAdapter.js +1 -1
- package/dist/liveIntentAnalyticsAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/livewrappedAnalyticsAdapter.js +1 -1
- package/dist/livewrappedBidAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/lkqdBidAdapter.js +1 -1
- package/dist/lockerdomeBidAdapter.js +1 -1
- package/dist/loganBidAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/lotamePanoramaIdSystem.js +1 -1
- package/dist/lunamediahbBidAdapter.js +1 -1
- package/dist/luponmediaBidAdapter.js +1 -1
- package/dist/mabidderBidAdapter.js +1 -1
- package/dist/madvertiseBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/malltvBidAdapter.js +1 -1
- package/dist/mantisBidAdapter.js +1 -1
- package/dist/marsmediaAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mass.js +1 -1
- package/dist/mathildeadsBidAdapter.js +1 -1
- package/dist/mediaforceBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediagoBidAdapter.js +1 -1
- package/dist/mediakeysBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/medianetRtdProvider.js +1 -1
- package/dist/mediasniperBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/merkleIdSystem.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/mgidRtdProvider.js +1 -1
- package/dist/microadBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/missenaBidAdapter.js +1 -1
- package/dist/mobfoxpbBidAdapter.js +1 -1
- package/dist/multibid.js +1 -1
- package/dist/mwOpenLinkIdSystem.js +1 -1
- package/dist/my6senseBidAdapter.js +1 -1
- package/dist/mytargetBidAdapter.js +1 -1
- package/dist/nativoBidAdapter.js +1 -1
- package/dist/naveggIdSystem.js +1 -1
- package/dist/netIdSystem.js +1 -1
- package/dist/neuwoRtdProvider.js +1 -1
- package/dist/newspassidBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nextrollBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +501 -501
- package/dist/novatiqIdSystem.js +1 -1
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/oneKeyIdSystem.js +1 -1
- package/dist/oneKeyRtdProvider.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/onomagicBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/open8BidAdapter.js +1 -1
- package/dist/openwebBidAdapter.js +1 -1
- package/dist/openxAnalyticsAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/openxOrtbBidAdapter.js +1 -1
- package/dist/operaadsBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/optimeraRtdProvider.js +1 -1
- package/dist/optimonAnalyticsAdapter.js +1 -1
- package/dist/optoutBidAdapter.js +1 -1
- package/dist/orbidderBidAdapter.js +1 -1
- package/dist/orbitsoftBidAdapter.js +1 -1
- package/dist/ortbConverter.js +1 -1
- package/dist/otmBidAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/oxxionRtdProvider.js +1 -1
- package/dist/ozoneBidAdapter.js +1 -1
- package/dist/padsquadBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/permutiveRtdProvider.js +1 -1
- package/dist/pianoDmpAnalyticsAdapter.js +1 -1
- package/dist/pilotxBidAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/priceFloors.js +1 -1
- package/dist/prismaBidAdapter.js +1 -1
- package/dist/proxistoreBidAdapter.js +1 -1
- package/dist/pubCommonId.js +1 -1
- package/dist/pubProvidedIdSystem.js +1 -1
- package/dist/pubgeniusBidAdapter.js +1 -1
- package/dist/publinkIdSystem.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/pubwiseBidAdapter.js +1 -1
- package/dist/pubxBidAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pulsepointAnalyticsAdapter.js +1 -1
- package/dist/pulsepointBidAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/quantcastIdSystem.js +1 -1
- package/dist/qwarryBidAdapter.js +1 -1
- package/dist/radsBidAdapter.js +1 -1
- package/dist/rakutenBidAdapter.js +1 -1
- package/dist/rasBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/realvuAnalyticsAdapter.js +1 -1
- package/dist/reconciliationRtdProvider.js +1 -1
- package/dist/redtramBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/relevadRtdProvider.js +1 -1
- package/dist/relevantAnalyticsAdapter.js +1 -1
- package/dist/resetdigitalBidAdapter.js +1 -1
- package/dist/revcontentBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/richaudienceBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rivrAnalyticsAdapter.js +1 -1
- package/dist/roxotAnalyticsAdapter.js +1 -1
- package/dist/rtbhouseBidAdapter.js +1 -1
- package/dist/rtbsapeBidAdapter.js +1 -1
- package/dist/rtdModule.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/s2sTesting.js +1 -1
- package/dist/saambaaBidAdapter.js +1 -1
- package/dist/scaleableAnalyticsAdapter.js +1 -1
- package/dist/scatteredBidAdapter.js +1 -1
- package/dist/schain.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharedIdSystem.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/showheroes-bsBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.js +1 -1
- package/dist/sirdataRtdProvider.js +1 -1
- package/dist/sizeMappingV2.js +1 -1
- package/dist/slimcutBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smarthubBidAdapter.js +1 -1
- package/dist/smarticoBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smartyadsBidAdapter.js +1 -1
- package/dist/smartytechBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/snigelBidAdapter.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/spotxBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/staqAnalyticsAdapter.js +1 -1
- package/dist/stroeerCoreBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/talkadsBidAdapter.js +1 -1
- package/dist/tapadIdSystem.js +1 -1
- package/dist/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/teadsIdSystem.js +1 -1
- package/dist/telariaBidAdapter.js +1 -1
- package/dist/temedyaBidAdapter.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/theAdxBidAdapter.js +1 -1
- package/dist/timeoutRtdProvider.js +1 -1
- package/dist/tncIdSystem.js +1 -1
- package/dist/topicsFpdModule.js +1 -1
- package/dist/tpmnBidAdapter.js +1 -1
- package/dist/trafficgateBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/truereachBidAdapter.js +1 -1
- package/dist/trustpidSystem.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/ucfunnelBidAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/unicornBidAdapter.js +1 -1
- package/dist/unifiedIdSystem.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/validationFpdModule.js +1 -1
- package/dist/vdoaiBidAdapter.js +1 -1
- package/dist/ventesBidAdapter.js +1 -1
- package/dist/verizonMediaIdSystem.js +1 -1
- package/dist/vibrantmediaBidAdapter.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videoModule.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/videoheroesBidAdapter.js +1 -1
- package/dist/videojsVideoProvider.js +1 -1
- package/dist/videonowBidAdapter.js +1 -1
- package/dist/videoreachBidAdapter.js +1 -1
- package/dist/vidoomyBidAdapter.js +1 -1
- package/dist/viewability.js +1 -1
- package/dist/viewdeosDXBidAdapter.js +1 -1
- package/dist/viouslyBidAdapter.js +1 -1
- package/dist/viqeoBidAdapter.js +1 -1
- package/dist/visiblemeasuresBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vlybyBidAdapter.js +1 -1
- package/dist/voxBidAdapter.js +1 -1
- package/dist/vrtcalBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/waardexBidAdapter.js +1 -1
- package/dist/weboramaRtdProvider.js +1 -1
- package/dist/welectBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/wipesBidAdapter.js +1 -1
- package/dist/xeBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yandexBidAdapter.js +1 -1
- package/dist/yieldlabBidAdapter.js +1 -1
- package/dist/yieldliftBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldmoSyntheticInventoryModule.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yieldoneBidAdapter.js +1 -1
- package/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/dist/zeotapIdPlusIdSystem.js +1 -1
- package/dist/zetaBidAdapter.js +1 -1
- package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/dist/zeusPrimeRtdProvider.js +2 -2
- package/features.json +2 -1
- package/libraries/ortbConverter/processors/default.js +11 -8
- package/modules/adagioBidAdapter.js +41 -0
- package/modules/adagioBidAdapter.md +6 -0
- package/modules/addefendBidAdapter.js +2 -1
- package/modules/adkernelBidAdapter.js +2 -1
- package/modules/adpod.js +2 -3
- package/modules/adtelligentBidAdapter.js +8 -1
- package/modules/adxcgAnalyticsAdapter.js +2 -1
- package/modules/airgridRtdProvider.js +17 -7
- package/modules/atsAnalyticsAdapter.js +2 -1
- package/modules/concertBidAdapter.js +24 -41
- package/modules/consentManagement.js +2 -1
- package/modules/consentManagementGpp.js +2 -1
- package/modules/displayioBidAdapter.js +18 -8
- package/modules/express.js +7 -5
- package/modules/gumgumBidAdapter.js +2 -2
- package/modules/id5AnalyticsAdapter.js +2 -1
- package/modules/mabidderBidAdapter.js +3 -1
- package/modules/marsmediaAnalyticsAdapter.js +2 -1
- package/modules/medianetAnalyticsAdapter.js +124 -59
- package/modules/medianetBidAdapter.js +6 -5
- package/modules/orbidderBidAdapter.js +2 -1
- package/modules/permutiveRtdProvider.md +54 -84
- package/modules/pixfutureBidAdapter.js +2 -1
- package/modules/pubCommonId.js +3 -2
- package/modules/pubxaiAnalyticsAdapter.js +2 -1
- package/modules/rivrAnalyticsAdapter.js +2 -1
- package/modules/rtbhouseBidAdapter.js +10 -3
- package/modules/sizeMappingV2.js +1 -1
- package/modules/smaatoBidAdapter.js +16 -4
- package/modules/snigelBidAdapter.js +2 -1
- package/modules/sonobiBidAdapter.js +64 -1
- package/modules/tappxBidAdapter.js +2 -1
- package/modules/terceptAnalyticsAdapter.js +2 -1
- package/modules/userId/index.js +6 -5
- package/modules/yuktamediaAnalyticsAdapter.js +2 -1
- package/package.json +3 -1
- package/plugins/pbjsGlobals.js +16 -5
- package/src/Renderer.js +4 -1
- package/src/adapterManager.js +2 -2
- package/src/adapters/bidderFactory.js +46 -41
- package/src/auction.js +10 -5
- package/src/fpd/enrichment.js +1 -1
- package/src/prebid.js +96 -89
- package/src/prebidGlobal.js +14 -6
- package/src/storageManager.js +29 -76
- package/src/utils.js +5 -2
- package/test/spec/auctionmanager_spec.js +113 -105
- package/test/spec/modules/adagioBidAdapter_spec.js +70 -0
- package/test/spec/modules/adlooxAdServerVideo_spec.js +1 -0
- package/test/spec/modules/adtelligentBidAdapter_spec.js +11 -10
- package/test/spec/modules/airgridRtdProvider_spec.js +9 -3
- package/test/spec/modules/concertBidAdapter_spec.js +12 -81
- package/test/spec/modules/gumgumBidAdapter_spec.js +3 -3
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +127 -121
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +27 -1
- package/test/spec/modules/nexx360BidAdapter_spec.js +41 -39
- package/test/spec/modules/openxOrtbBidAdapter_spec.js +53 -49
- package/test/spec/modules/prebidServerBidAdapter_spec.js +148 -133
- package/test/spec/modules/realvuAnalyticsAdapter_spec.js +1 -0
- package/test/spec/modules/rtbhouseBidAdapter_spec.js +23 -9
- package/test/spec/modules/rubiconBidAdapter_spec.js +767 -761
- package/test/spec/modules/sizeMappingV2_spec.js +4 -0
- package/test/spec/modules/smaatoBidAdapter_spec.js +32 -0
- package/test/spec/modules/sonobiBidAdapter_spec.js +13 -0
- package/test/spec/unit/core/adapterManager_spec.js +5 -2
- package/test/spec/unit/core/bidderFactory_spec.js +4 -0
- package/test/spec/unit/core/storageManager_spec.js +84 -34
- package/test/spec/unit/pbjs_api_spec.js +129 -121
package/src/storageManager.js
CHANGED
|
@@ -7,6 +7,9 @@ const moduleTypeWhiteList = ['core', 'prebid-module'];
|
|
|
7
7
|
|
|
8
8
|
export let storageCallbacks = [];
|
|
9
9
|
|
|
10
|
+
export const STORAGE_TYPE_LOCALSTORAGE = 'html5';
|
|
11
|
+
export const STORAGE_TYPE_COOKIES = 'cookie';
|
|
12
|
+
|
|
10
13
|
/**
|
|
11
14
|
* Storage options
|
|
12
15
|
* @typedef {Object} storageOptions
|
|
@@ -26,20 +29,22 @@ export let storageCallbacks = [];
|
|
|
26
29
|
* @param {storageOptions} options
|
|
27
30
|
*/
|
|
28
31
|
export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} = {}, {bidderSettings = defaultBidderSettings} = {}) {
|
|
29
|
-
function isBidderAllowed() {
|
|
32
|
+
function isBidderAllowed(storageType) {
|
|
30
33
|
if (bidderCode == null) {
|
|
31
34
|
return true;
|
|
32
35
|
}
|
|
33
36
|
const storageAllowed = bidderSettings.get(bidderCode, 'storageAllowed');
|
|
34
|
-
|
|
37
|
+
if (!storageAllowed || storageAllowed === true) return !!storageAllowed;
|
|
38
|
+
if (Array.isArray(storageAllowed)) return storageAllowed.some((e) => e === storageType);
|
|
39
|
+
return storageAllowed === storageType;
|
|
35
40
|
}
|
|
36
41
|
|
|
37
42
|
if (moduleTypeWhiteList.includes(moduleType)) {
|
|
38
43
|
gvlid = gvlid || VENDORLESS_GVLID;
|
|
39
44
|
}
|
|
40
45
|
|
|
41
|
-
function isValid(cb) {
|
|
42
|
-
if (!isBidderAllowed()) {
|
|
46
|
+
function isValid(cb, storageType) {
|
|
47
|
+
if (!isBidderAllowed(storageType)) {
|
|
43
48
|
logInfo(`bidderSettings denied access to device storage for bidder '${bidderCode}'`);
|
|
44
49
|
const result = {valid: false};
|
|
45
50
|
return cb(result);
|
|
@@ -63,6 +68,17 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
|
|
71
|
+
function schedule(operation, storageType, done) {
|
|
72
|
+
if (done && typeof done === 'function') {
|
|
73
|
+
storageCallbacks.push(function() {
|
|
74
|
+
let result = isValid(operation, storageType);
|
|
75
|
+
done(result);
|
|
76
|
+
});
|
|
77
|
+
} else {
|
|
78
|
+
return isValid(operation, storageType);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
66
82
|
/**
|
|
67
83
|
* @param {string} key
|
|
68
84
|
* @param {string} value
|
|
@@ -83,14 +99,7 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
83
99
|
document.cookie = `${key}=${encodeURIComponent(value)}${expiresPortion}; path=/${domainPortion}${sameSite ? `; SameSite=${sameSite}` : ''}${secure}`;
|
|
84
100
|
}
|
|
85
101
|
}
|
|
86
|
-
|
|
87
|
-
storageCallbacks.push(function() {
|
|
88
|
-
let result = isValid(cb);
|
|
89
|
-
done(result);
|
|
90
|
-
});
|
|
91
|
-
} else {
|
|
92
|
-
return isValid(cb);
|
|
93
|
-
}
|
|
102
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, done);
|
|
94
103
|
};
|
|
95
104
|
|
|
96
105
|
/**
|
|
@@ -105,14 +114,7 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
105
114
|
}
|
|
106
115
|
return null;
|
|
107
116
|
}
|
|
108
|
-
|
|
109
|
-
storageCallbacks.push(function() {
|
|
110
|
-
let result = isValid(cb);
|
|
111
|
-
done(result);
|
|
112
|
-
});
|
|
113
|
-
} else {
|
|
114
|
-
return isValid(cb);
|
|
115
|
-
}
|
|
117
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, done);
|
|
116
118
|
};
|
|
117
119
|
|
|
118
120
|
/**
|
|
@@ -133,14 +135,7 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
133
135
|
}
|
|
134
136
|
return false;
|
|
135
137
|
}
|
|
136
|
-
|
|
137
|
-
storageCallbacks.push(function() {
|
|
138
|
-
let result = isValid(cb);
|
|
139
|
-
done(result);
|
|
140
|
-
});
|
|
141
|
-
} else {
|
|
142
|
-
return isValid(cb);
|
|
143
|
-
}
|
|
138
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, done);
|
|
144
139
|
}
|
|
145
140
|
|
|
146
141
|
/**
|
|
@@ -153,14 +148,7 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
153
148
|
}
|
|
154
149
|
return false;
|
|
155
150
|
}
|
|
156
|
-
|
|
157
|
-
storageCallbacks.push(function() {
|
|
158
|
-
let result = isValid(cb);
|
|
159
|
-
done(result);
|
|
160
|
-
});
|
|
161
|
-
} else {
|
|
162
|
-
return isValid(cb);
|
|
163
|
-
}
|
|
151
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, done);
|
|
164
152
|
}
|
|
165
153
|
|
|
166
154
|
/**
|
|
@@ -173,14 +161,7 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
173
161
|
window.localStorage.setItem(key, value);
|
|
174
162
|
}
|
|
175
163
|
}
|
|
176
|
-
|
|
177
|
-
storageCallbacks.push(function() {
|
|
178
|
-
let result = isValid(cb);
|
|
179
|
-
done(result);
|
|
180
|
-
});
|
|
181
|
-
} else {
|
|
182
|
-
return isValid(cb);
|
|
183
|
-
}
|
|
164
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, done);
|
|
184
165
|
}
|
|
185
166
|
|
|
186
167
|
/**
|
|
@@ -194,14 +175,7 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
194
175
|
}
|
|
195
176
|
return null;
|
|
196
177
|
}
|
|
197
|
-
|
|
198
|
-
storageCallbacks.push(function() {
|
|
199
|
-
let result = isValid(cb);
|
|
200
|
-
done(result);
|
|
201
|
-
});
|
|
202
|
-
} else {
|
|
203
|
-
return isValid(cb);
|
|
204
|
-
}
|
|
178
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, done);
|
|
205
179
|
}
|
|
206
180
|
|
|
207
181
|
/**
|
|
@@ -213,14 +187,7 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
213
187
|
window.localStorage.removeItem(key);
|
|
214
188
|
}
|
|
215
189
|
}
|
|
216
|
-
|
|
217
|
-
storageCallbacks.push(function() {
|
|
218
|
-
let result = isValid(cb);
|
|
219
|
-
done(result);
|
|
220
|
-
});
|
|
221
|
-
} else {
|
|
222
|
-
return isValid(cb);
|
|
223
|
-
}
|
|
190
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, done);
|
|
224
191
|
}
|
|
225
192
|
|
|
226
193
|
/**
|
|
@@ -237,14 +204,7 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
237
204
|
}
|
|
238
205
|
return false;
|
|
239
206
|
}
|
|
240
|
-
|
|
241
|
-
storageCallbacks.push(function() {
|
|
242
|
-
let result = isValid(cb);
|
|
243
|
-
done(result);
|
|
244
|
-
});
|
|
245
|
-
} else {
|
|
246
|
-
return isValid(cb);
|
|
247
|
-
}
|
|
207
|
+
return schedule(cb, STORAGE_TYPE_LOCALSTORAGE, done);
|
|
248
208
|
}
|
|
249
209
|
|
|
250
210
|
/**
|
|
@@ -273,14 +233,7 @@ export function newStorageManager({gvlid, moduleName, bidderCode, moduleType} =
|
|
|
273
233
|
}
|
|
274
234
|
}
|
|
275
235
|
|
|
276
|
-
|
|
277
|
-
storageCallbacks.push(function() {
|
|
278
|
-
let result = isValid(cb);
|
|
279
|
-
done(result);
|
|
280
|
-
});
|
|
281
|
-
} else {
|
|
282
|
-
return isValid(cb);
|
|
283
|
-
}
|
|
236
|
+
return schedule(cb, STORAGE_TYPE_COOKIES, done);
|
|
284
237
|
}
|
|
285
238
|
|
|
286
239
|
return {
|
package/src/utils.js
CHANGED
|
@@ -3,6 +3,7 @@ import clone from 'just-clone';
|
|
|
3
3
|
import {find, includes} from './polyfill.js';
|
|
4
4
|
import CONSTANTS from './constants.json';
|
|
5
5
|
import {GreedyPromise} from './utils/promise.js';
|
|
6
|
+
import {getGlobal} from './prebidGlobal.js';
|
|
6
7
|
export { default as deepAccess } from 'dlv/index.js';
|
|
7
8
|
export { dset as deepSetValue } from 'dset';
|
|
8
9
|
|
|
@@ -21,6 +22,8 @@ let consoleErrorExists = Boolean(consoleExists && window.console.error);
|
|
|
21
22
|
|
|
22
23
|
let eventEmitter;
|
|
23
24
|
|
|
25
|
+
const pbjsInstance = getGlobal();
|
|
26
|
+
|
|
24
27
|
export function _setEventEmitter(emitFn) {
|
|
25
28
|
// called from events.js - this hoop is to avoid circular imports
|
|
26
29
|
eventEmitter = emitFn;
|
|
@@ -707,7 +710,7 @@ export function getKeyByValue(obj, value) {
|
|
|
707
710
|
}
|
|
708
711
|
}
|
|
709
712
|
|
|
710
|
-
export function getBidderCodes(adUnits =
|
|
713
|
+
export function getBidderCodes(adUnits = pbjsInstance.adUnits) {
|
|
711
714
|
// this could memoize adUnits
|
|
712
715
|
return adUnits.map(unit => unit.bids.map(bid => bid.bidder)
|
|
713
716
|
.reduce(flatten, [])).reduce(flatten, []).filter((bidder) => typeof bidder !== 'undefined').filter(uniques);
|
|
@@ -904,7 +907,7 @@ export function isValidMediaTypes(mediaTypes) {
|
|
|
904
907
|
return false;
|
|
905
908
|
}
|
|
906
909
|
|
|
907
|
-
if (mediaTypes.video && mediaTypes.video.context) {
|
|
910
|
+
if (FEATURES.VIDEO && mediaTypes.video && mediaTypes.video.context) {
|
|
908
911
|
return includes(SUPPORTED_STREAM_TYPES, mediaTypes.video.context);
|
|
909
912
|
}
|
|
910
913
|
|
|
@@ -241,21 +241,23 @@ describe('auctionmanager.js', function () {
|
|
|
241
241
|
assert.deepEqual(response, expected);
|
|
242
242
|
});
|
|
243
243
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
244
|
+
if (FEATURES.VIDEO) {
|
|
245
|
+
it('No bidder level configuration defined - default for video', function () {
|
|
246
|
+
config.setConfig({
|
|
247
|
+
cache: {
|
|
248
|
+
url: 'https://prebid.adnxs.com/pbc/v1/cache'
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
$$PREBID_GLOBAL$$.bidderSettings = {};
|
|
252
|
+
let videoBid = utils.deepClone(bid);
|
|
253
|
+
videoBid.mediaType = 'video';
|
|
254
|
+
videoBid.videoCacheKey = 'abc123def';
|
|
255
|
+
|
|
256
|
+
let expected = getDefaultExpected(videoBid);
|
|
257
|
+
let response = getKeyValueTargetingPairs(videoBid.bidderCode, videoBid);
|
|
258
|
+
assert.deepEqual(response, expected);
|
|
249
259
|
});
|
|
250
|
-
|
|
251
|
-
let videoBid = utils.deepClone(bid);
|
|
252
|
-
videoBid.mediaType = 'video';
|
|
253
|
-
videoBid.videoCacheKey = 'abc123def';
|
|
254
|
-
|
|
255
|
-
let expected = getDefaultExpected(videoBid);
|
|
256
|
-
let response = getKeyValueTargetingPairs(videoBid.bidderCode, videoBid);
|
|
257
|
-
assert.deepEqual(response, expected);
|
|
258
|
-
});
|
|
260
|
+
}
|
|
259
261
|
|
|
260
262
|
it('Custom configuration for all bidders', function () {
|
|
261
263
|
$$PREBID_GLOBAL$$.bidderSettings =
|
|
@@ -320,17 +322,18 @@ describe('auctionmanager.js', function () {
|
|
|
320
322
|
assert.deepEqual(response, expected);
|
|
321
323
|
});
|
|
322
324
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
325
|
+
if (FEATURES.VIDEO) {
|
|
326
|
+
it('Custom configuration for all bidders with video bid', function () {
|
|
327
|
+
config.setConfig({
|
|
328
|
+
cache: {
|
|
329
|
+
url: 'https://prebid.adnxs.com/pbc/v1/cache'
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
let videoBid = utils.deepClone(bid);
|
|
333
|
+
videoBid.mediaType = 'video';
|
|
334
|
+
videoBid.videoCacheKey = 'abc123def';
|
|
332
335
|
|
|
333
|
-
|
|
336
|
+
$$PREBID_GLOBAL$$.bidderSettings =
|
|
334
337
|
{
|
|
335
338
|
standard: {
|
|
336
339
|
adserverTargeting: [
|
|
@@ -396,11 +399,12 @@ describe('auctionmanager.js', function () {
|
|
|
396
399
|
}
|
|
397
400
|
};
|
|
398
401
|
|
|
399
|
-
|
|
402
|
+
let expected = getDefaultExpected(videoBid);
|
|
400
403
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
+
let response = getKeyValueTargetingPairs(videoBid.bidderCode, videoBid);
|
|
405
|
+
assert.deepEqual(response, expected);
|
|
406
|
+
});
|
|
407
|
+
}
|
|
404
408
|
|
|
405
409
|
it('Custom configuration for one bidder', function () {
|
|
406
410
|
$$PREBID_GLOBAL$$.bidderSettings =
|
|
@@ -1408,63 +1412,65 @@ describe('auctionmanager.js', function () {
|
|
|
1408
1412
|
}
|
|
1409
1413
|
|
|
1410
1414
|
describe('getMediaTypeGranularity', function () {
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1415
|
+
if (FEATURES.VIDEO) {
|
|
1416
|
+
it('video', function () {
|
|
1417
|
+
let mediaTypes = { video: {id: '1'} };
|
|
1418
|
+
|
|
1419
|
+
// mediaType is video and video.context is undefined
|
|
1420
|
+
expect(getMediaTypeGranularity('video', mediaTypes, {
|
|
1421
|
+
banner: 'low',
|
|
1422
|
+
video: 'medium'
|
|
1423
|
+
})).to.equal('medium');
|
|
1424
|
+
|
|
1425
|
+
expect(getMediaTypeGranularity('video', {}, {
|
|
1426
|
+
banner: 'low',
|
|
1427
|
+
video: 'medium'
|
|
1428
|
+
})).to.equal('medium');
|
|
1429
|
+
``
|
|
1430
|
+
expect(getMediaTypeGranularity('video', undefined, {
|
|
1431
|
+
banner: 'low',
|
|
1432
|
+
video: 'medium'
|
|
1433
|
+
})).to.equal('medium');
|
|
1434
|
+
|
|
1435
|
+
// also when mediaTypes.video is undefined
|
|
1436
|
+
mediaTypes = { banner: {} };
|
|
1437
|
+
expect(getMediaTypeGranularity('video', mediaTypes, {
|
|
1438
|
+
banner: 'low',
|
|
1439
|
+
video: 'medium'
|
|
1440
|
+
})).to.equal('medium');
|
|
1441
|
+
|
|
1442
|
+
// also when mediaTypes is undefined
|
|
1443
|
+
expect(getMediaTypeGranularity('video', {}, {
|
|
1444
|
+
banner: 'low',
|
|
1445
|
+
video: 'medium'
|
|
1446
|
+
})).to.equal('medium');
|
|
1447
|
+
});
|
|
1443
1448
|
|
|
1444
|
-
|
|
1445
|
-
|
|
1449
|
+
it('video-outstream', function () {
|
|
1450
|
+
let mediaTypes = { video: { context: 'outstream' } };
|
|
1446
1451
|
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1452
|
+
expect(getMediaTypeGranularity('video', mediaTypes, {
|
|
1453
|
+
'banner': 'low', 'video': 'medium', 'video-outstream': 'high'
|
|
1454
|
+
})).to.equal('high');
|
|
1455
|
+
});
|
|
1451
1456
|
|
|
1452
|
-
|
|
1453
|
-
|
|
1457
|
+
it('video-instream', function () {
|
|
1458
|
+
let mediaTypes = { video: { context: 'instream' } };
|
|
1454
1459
|
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1460
|
+
expect(getMediaTypeGranularity('video', mediaTypes, {
|
|
1461
|
+
banner: 'low', video: 'medium', 'video-instream': 'high'
|
|
1462
|
+
})).to.equal('high');
|
|
1458
1463
|
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1464
|
+
// fall back to video if video-instream not found
|
|
1465
|
+
expect(getMediaTypeGranularity('video', mediaTypes, {
|
|
1466
|
+
banner: 'low', video: 'medium'
|
|
1467
|
+
})).to.equal('medium');
|
|
1463
1468
|
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1469
|
+
expect(getMediaTypeGranularity('video', {mediaTypes: {banner: {}}}, {
|
|
1470
|
+
banner: 'low', video: 'medium'
|
|
1471
|
+
})).to.equal('medium');
|
|
1472
|
+
});
|
|
1473
|
+
}
|
|
1468
1474
|
|
|
1469
1475
|
it('native', function () {
|
|
1470
1476
|
expect(getMediaTypeGranularity('native', {native: {}}, {
|
|
@@ -1566,34 +1572,36 @@ describe('auctionmanager.js', function () {
|
|
|
1566
1572
|
});
|
|
1567
1573
|
})
|
|
1568
1574
|
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1575
|
+
if (FEATURES.VIDEO) {
|
|
1576
|
+
it('should call auction done after prebid cache is complete for mediaType video', function() {
|
|
1577
|
+
bids[0].mediaType = 'video';
|
|
1578
|
+
let bids1 = [mockBid({ bidderCode: BIDDER_CODE1 })];
|
|
1572
1579
|
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1580
|
+
let opts = {
|
|
1581
|
+
mediaType: {
|
|
1582
|
+
video: {
|
|
1583
|
+
context: 'instream',
|
|
1584
|
+
playerSize: [640, 480],
|
|
1585
|
+
},
|
|
1586
|
+
}
|
|
1587
|
+
};
|
|
1588
|
+
bidRequests = [
|
|
1589
|
+
mockBidRequest(bids[0], opts),
|
|
1590
|
+
mockBidRequest(bids1[0], { adUnitCode: ADUNIT_CODE1 }),
|
|
1591
|
+
];
|
|
1585
1592
|
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1593
|
+
let cbs = auctionCallbacks(doneSpy, auction);
|
|
1594
|
+
cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE, bids[0]);
|
|
1595
|
+
cbs.adapterDone.call(bidRequests[0]);
|
|
1596
|
+
cbs.addBidResponse.call(bidRequests[1], ADUNIT_CODE1, bids1[0]);
|
|
1597
|
+
cbs.adapterDone.call(bidRequests[1]);
|
|
1598
|
+
assert.equal(doneSpy.callCount, 0);
|
|
1599
|
+
const uuid = 'c488b101-af3e-4a99-b538-00423e5a3371';
|
|
1600
|
+
const responseBody = `{"responses":[{"uuid":"${uuid}"}]}`;
|
|
1601
|
+
server.requests[0].respond(200, { 'Content-Type': 'application/json' }, responseBody);
|
|
1602
|
+
assert.equal(doneSpy.callCount, 1);
|
|
1603
|
+
});
|
|
1604
|
+
}
|
|
1597
1605
|
|
|
1598
1606
|
it('should convert cpm to number', () => {
|
|
1599
1607
|
auction.addBidReceived = sinon.spy();
|
|
@@ -347,6 +347,76 @@ describe('Adagio bid adapter', () => {
|
|
|
347
347
|
expect(requests[0].data.adUnits[0].features.url).to.not.exist;
|
|
348
348
|
});
|
|
349
349
|
|
|
350
|
+
it('should force split keyword param into a string', function() {
|
|
351
|
+
const bid01 = new BidRequestBuilder().withParams({
|
|
352
|
+
splitKeyword: 1234
|
|
353
|
+
}).build();
|
|
354
|
+
const bid02 = new BidRequestBuilder().withParams({
|
|
355
|
+
splitKeyword: ['1234']
|
|
356
|
+
}).build();
|
|
357
|
+
const bidderRequest = new BidderRequestBuilder().build();
|
|
358
|
+
|
|
359
|
+
const requests = spec.buildRequests([bid01, bid02], bidderRequest);
|
|
360
|
+
|
|
361
|
+
expect(requests).to.have.lengthOf(1);
|
|
362
|
+
expect(requests[0].data).to.have.all.keys(expectedDataKeys);
|
|
363
|
+
expect(requests[0].data.adUnits[0].params).to.exist;
|
|
364
|
+
expect(requests[0].data.adUnits[0].params.splitKeyword).to.exist;
|
|
365
|
+
expect(requests[0].data.adUnits[0].params.splitKeyword).to.equal('1234');
|
|
366
|
+
expect(requests[0].data.adUnits[1].params.splitKeyword).to.not.exist;
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
it('should force key and value from data layer param into a string', function() {
|
|
370
|
+
const bid01 = new BidRequestBuilder().withParams({
|
|
371
|
+
dataLayer: {
|
|
372
|
+
1234: 'dlparam',
|
|
373
|
+
goodkey: 1234,
|
|
374
|
+
objectvalue: {
|
|
375
|
+
random: 'result'
|
|
376
|
+
},
|
|
377
|
+
arrayvalue: ['1234']
|
|
378
|
+
}
|
|
379
|
+
}).build();
|
|
380
|
+
|
|
381
|
+
const bid02 = new BidRequestBuilder().withParams({
|
|
382
|
+
dataLayer: 'a random string'
|
|
383
|
+
}).build();
|
|
384
|
+
|
|
385
|
+
const bid03 = new BidRequestBuilder().withParams({
|
|
386
|
+
dataLayer: 1234
|
|
387
|
+
}).build();
|
|
388
|
+
|
|
389
|
+
const bid04 = new BidRequestBuilder().withParams({
|
|
390
|
+
dataLayer: ['an array']
|
|
391
|
+
}).build();
|
|
392
|
+
|
|
393
|
+
const bidderRequest = new BidderRequestBuilder().build();
|
|
394
|
+
|
|
395
|
+
const requests = spec.buildRequests([bid01, bid02, bid03, bid04], bidderRequest);
|
|
396
|
+
|
|
397
|
+
expect(requests).to.have.lengthOf(1);
|
|
398
|
+
expect(requests[0].data).to.have.all.keys(expectedDataKeys);
|
|
399
|
+
expect(requests[0].data.adUnits[0].params).to.exist;
|
|
400
|
+
expect(requests[0].data.adUnits[0].params.dataLayer).to.not.exist;
|
|
401
|
+
expect(requests[0].data.adUnits[0].params.dl).to.exist;
|
|
402
|
+
expect(requests[0].data.adUnits[0].params.dl['1234']).to.equal('dlparam');
|
|
403
|
+
expect(requests[0].data.adUnits[0].params.dl.goodkey).to.equal('1234');
|
|
404
|
+
expect(requests[0].data.adUnits[0].params.dl.objectvalue).to.not.exist;
|
|
405
|
+
expect(requests[0].data.adUnits[0].params.dl.arrayvalue).to.not.exist;
|
|
406
|
+
|
|
407
|
+
expect(requests[0].data.adUnits[1].params).to.exist;
|
|
408
|
+
expect(requests[0].data.adUnits[1].params.dl).to.not.exist;
|
|
409
|
+
expect(requests[0].data.adUnits[1].params.dataLayer).to.not.exist;
|
|
410
|
+
|
|
411
|
+
expect(requests[0].data.adUnits[2].params).to.exist;
|
|
412
|
+
expect(requests[0].data.adUnits[2].params.dl).to.not.exist;
|
|
413
|
+
expect(requests[0].data.adUnits[2].params.dataLayer).to.not.exist;
|
|
414
|
+
|
|
415
|
+
expect(requests[0].data.adUnits[3].params).to.exist;
|
|
416
|
+
expect(requests[0].data.adUnits[3].params.dl).to.not.exist;
|
|
417
|
+
expect(requests[0].data.adUnits[3].params.dataLayer).to.not.exist;
|
|
418
|
+
});
|
|
419
|
+
|
|
350
420
|
describe('With video mediatype', function() {
|
|
351
421
|
context('Outstream video', function() {
|
|
352
422
|
it('should logWarn if user does not set renderer.backupOnly: true', function() {
|
|
@@ -235,6 +235,7 @@ describe('Adloox Ad Server Video', function () {
|
|
|
235
235
|
it('should fetch, retry on withoutCredentials, follow and return a wrapped blob that expires', function (done) {
|
|
236
236
|
BID.responseTimestamp = utils.timestamp();
|
|
237
237
|
BID.ttl = 30;
|
|
238
|
+
this.timeout(5000)
|
|
238
239
|
|
|
239
240
|
const clock = sandbox.useFakeTimers(BID.responseTimestamp);
|
|
240
241
|
|
|
@@ -11,16 +11,17 @@ const EXPECTED_ENDPOINTS = [
|
|
|
11
11
|
'https://ghb.adtelligent.com/v2/auction/'
|
|
12
12
|
];
|
|
13
13
|
const aliasEP = {
|
|
14
|
-
appaloosa: 'https://ghb.hb.appaloosa.media/v2/auction/',
|
|
15
|
-
appaloosa_publisherSuffix: 'https://ghb.hb.appaloosa.media/v2/auction/',
|
|
16
|
-
onefiftytwomedia: 'https://ghb.ads.152media.com/v2/auction/',
|
|
17
|
-
navelix: 'https://ghb.hb.navelix.com/v2/auction/',
|
|
18
|
-
bidsxchange: 'https://ghb.hbd.bidsxchange.com/v2/auction/',
|
|
19
|
-
streamkey: 'https://ghb.hb.streamkey.net/v2/auction/',
|
|
20
|
-
janet: 'https://ghb.bidder.jmgads.com/v2/auction/',
|
|
21
|
-
pgam: 'https://ghb.pgamssp.com/v2/auction/',
|
|
22
|
-
ocm: 'https://ghb.cenarius.orangeclickmedia.com/v2/auction/',
|
|
23
|
-
vidcrunchllc: 'https://ghb.platform.vidcrunch.com/v2/auction/',
|
|
14
|
+
'appaloosa': 'https://ghb.hb.appaloosa.media/v2/auction/',
|
|
15
|
+
'appaloosa_publisherSuffix': 'https://ghb.hb.appaloosa.media/v2/auction/',
|
|
16
|
+
'onefiftytwomedia': 'https://ghb.ads.152media.com/v2/auction/',
|
|
17
|
+
'navelix': 'https://ghb.hb.navelix.com/v2/auction/',
|
|
18
|
+
'bidsxchange': 'https://ghb.hbd.bidsxchange.com/v2/auction/',
|
|
19
|
+
'streamkey': 'https://ghb.hb.streamkey.net/v2/auction/',
|
|
20
|
+
'janet': 'https://ghb.bidder.jmgads.com/v2/auction/',
|
|
21
|
+
'pgam': 'https://ghb.pgamssp.com/v2/auction/',
|
|
22
|
+
'ocm': 'https://ghb.cenarius.orangeclickmedia.com/v2/auction/',
|
|
23
|
+
'vidcrunchllc': 'https://ghb.platform.vidcrunch.com/v2/auction/',
|
|
24
|
+
'9dotsmedia': 'https://ghb.platform.audiodots.com/v2/auction/',
|
|
24
25
|
};
|
|
25
26
|
|
|
26
27
|
const DEFAULT_ADATPER_REQ = { bidderCode: 'adtelligent' };
|
|
@@ -110,12 +110,18 @@ describe('airgrid RTD Submodule', function () {
|
|
|
110
110
|
.withArgs(agRTD.AG_AUDIENCE_IDS_KEY)
|
|
111
111
|
.returns(JSON.stringify(MATCHED_AUDIENCES));
|
|
112
112
|
const audiences = agRTD.getMatchedAudiencesFromStorage();
|
|
113
|
-
const bidderOrtb2 = agRTD.getAudiencesAsBidderOrtb2(RTD_CONFIG.dataProviders[0], audiences);
|
|
114
113
|
|
|
115
|
-
|
|
114
|
+
agRTD.setAudiencesAsBidderOrtb2(RTD_CONFIG.dataProviders[0], audiences);
|
|
115
|
+
|
|
116
|
+
const bidderConfig = config.getBidderConfig()
|
|
117
|
+
const bidders = RTD_CONFIG.dataProviders[0].params.bidders
|
|
118
|
+
const bidderOrtb2 = bidderConfig
|
|
119
|
+
|
|
116
120
|
Object.keys(bidderOrtb2).forEach((bidder) => {
|
|
117
121
|
if (bidders.indexOf(bidder) === -1) return;
|
|
118
|
-
|
|
122
|
+
MATCHED_AUDIENCES.forEach((audience) => {
|
|
123
|
+
expect(deepAccess(bidderOrtb2[bidder], 'ortb2.site.keywords')).to.contain(audience);
|
|
124
|
+
})
|
|
119
125
|
});
|
|
120
126
|
});
|
|
121
127
|
|