prebid.js 7.53.0 → 8.0.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/.github/workflows/codeql-analysis.yml +2 -2
- package/dist/1plusXRtdProvider.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.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/adfBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adhashBidAdapter.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/adomikAnalyticsAdapter.js +1 -1
- package/dist/adprimeBidAdapter.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.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/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/analyticsAdapter.js +1 -1
- package/dist/apacdexBidAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/appnexusKeywords.js +1 -0
- 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/bidViewability.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bizzclickBidAdapter.js +1 -1
- package/dist/bluebillywigBidAdapter.js +1 -1
- package/dist/braveBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/browsiBidAdapter.js +1 -1
- package/dist/byDataAnalyticsAdapter.js +1 -1
- package/dist/cadentApertureMXBidAdapter.js +1 -0
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/categoryTranslationMapping.js +1 -0
- package/dist/ccxBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/cleanmedianetBidAdapter.js +1 -1
- package/dist/codefuelBidAdapter.js +1 -1
- package/dist/colossussspBidAdapter.js +1 -1
- package/dist/concertAnalyticsAdapter.js +1 -1
- package/dist/concertBidAdapter.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/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/criteoIdSystem.js +1 -1
- package/dist/currency.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dailyhuntBidAdapter.js +1 -1
- package/dist/datablocksAnalyticsAdapter.js +1 -1
- package/dist/datablocksBidAdapter.js +1 -1
- package/dist/datawrkzBidAdapter.js +1 -1
- package/dist/debugging-standalone.js +1 -1
- package/dist/debugging.js +1 -1
- package/dist/deltaprojectsBidAdapter.js +1 -1
- package/dist/dependencies.json +58 -14
- package/dist/dfpAdServerVideo.js +1 -1
- package/dist/dianomiBidAdapter.js +1 -1
- package/dist/displayioBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/ebdrBidAdapter.js +1 -1
- package/dist/eplanningAnalyticsAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/etargetBidAdapter.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/fluctBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/ftrackIdSystem.js +1 -1
- package/dist/gamoshiBidAdapter.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/genericAnalyticsAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/gnetBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gothamadsBidAdapter.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/hybridBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -0
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/imdsBidAdapter.js +1 -0
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/interactiveOffersBidAdapter.js +1 -1
- package/dist/invisiblyAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoAnalyticsAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/keywords.js +1 -0
- package/dist/kinessoIdSystem.js +1 -1
- package/dist/koblerBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/kulturemediaBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/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/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/lotamePanoramaIdSystem.js +1 -1
- package/dist/luponmediaBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediaforceBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediakeysBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/mediasniperBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/microadBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/newspassidBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +293 -323
- package/dist/objectGuard.js +1 -1
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/operaadsBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/optimonAnalyticsAdapter.js +1 -1
- package/dist/orbidderBidAdapter.js +1 -1
- package/dist/ortbConverter.js +1 -1
- package/dist/otmBidAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/oxxionAnalyticsAdapter.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/pbsExtensions.js +1 -1
- package/dist/pianoDmpAnalyticsAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +2 -2
- 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/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/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pulsepointAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/quantcastIdSystem.js +1 -1
- package/dist/rasBidAdapter.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/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/rtdModule.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/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/sizeMapping.js +1 -0
- package/dist/slimcutBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smartytechBidAdapter.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/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.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/terceptAnalyticsAdapter.js +1 -1
- package/dist/theAdxBidAdapter.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/unicornBidAdapter.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/utiqSystem.js +1 -0
- package/dist/vibrantmediaBidAdapter.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/videojsVideoProvider.js +1 -1
- package/dist/videoreachBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vrtcalBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/weboramaRtdProvider.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/xeBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldliftBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yieldoneBidAdapter.js +1 -1
- package/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/dist/zetaBidAdapter.js +1 -1
- package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/libraries/analyticsAdapter/AnalyticsAdapter.js +1 -7
- package/libraries/appnexusKeywords/anKeywords.js +140 -0
- package/libraries/categoryTranslationMapping/index.js +100 -0
- package/libraries/keywords/keywords.js +31 -0
- package/libraries/objectGuard/objectGuard.js +2 -11
- package/libraries/ortbConverter/processors/default.js +3 -4
- package/modules/.submodules.json +1 -1
- package/modules/1plusXRtdProvider.js +4 -14
- package/modules/33acrossBidAdapter.js +11 -11
- package/modules/adWMGBidAdapter.js +2 -1
- package/modules/adagioBidAdapter.js +18 -30
- package/modules/adbookpspBidAdapter.js +1 -1
- package/modules/addefendBidAdapter.js +1 -0
- package/modules/adfBidAdapter.js +3 -3
- package/modules/adgenerationBidAdapter.js +1 -1
- package/modules/adhashBidAdapter.js +56 -34
- package/modules/adkernelAdnBidAdapter.js +5 -6
- package/modules/adkernelBidAdapter.js +5 -5
- package/modules/adprimeBidAdapter.js +2 -1
- package/modules/adqueryBidAdapter.js +1 -0
- package/modules/adrelevantisBidAdapter.js +3 -24
- package/modules/adtrueBidAdapter.js +2 -2
- package/modules/aduptechBidAdapter.js +2 -1
- package/modules/advangelistsBidAdapter.js +0 -1
- package/modules/adxcgBidAdapter.js +1 -1
- package/modules/adyoulikeBidAdapter.js +1 -1
- package/modules/afpBidAdapter.js +2 -2
- package/modules/aidemBidAdapter.js +16 -3
- package/modules/airgridRtdProvider.js +24 -53
- package/modules/ajaBidAdapter.js +1 -1
- package/modules/alkimiBidAdapter.js +2 -1
- package/modules/amxBidAdapter.js +1 -0
- package/modules/apacdexBidAdapter.js +3 -3
- package/modules/appnexusBidAdapter.js +16 -114
- package/modules/apstreamBidAdapter.js +1 -0
- package/modules/asoBidAdapter.js +1 -1
- package/modules/astraoneBidAdapter.js +1 -1
- package/modules/audiencerunBidAdapter.js +2 -1
- package/modules/automatadBidAdapter.js +5 -5
- package/modules/beachfrontBidAdapter.js +0 -1
- package/modules/beopBidAdapter.js +20 -17
- package/modules/betweenBidAdapter.js +2 -1
- package/modules/bizzclickBidAdapter.js +9 -6
- package/modules/bliinkBidAdapter.js +1 -0
- package/modules/bluebillywigBidAdapter.js +2 -2
- package/modules/braveBidAdapter.js +9 -7
- package/modules/browsiBidAdapter.js +3 -3
- package/modules/{emx_digitalBidAdapter.js → cadentApertureMXBidAdapter.js} +61 -56
- package/modules/{emx_digitalBidAdapter.md → cadentApertureMXBidAdapter.md} +6 -6
- package/modules/carodaBidAdapter.js +1 -0
- package/modules/ccxBidAdapter.js +1 -1
- package/modules/cleanmedianetBidAdapter.js +3 -3
- package/modules/codefuelBidAdapter.js +1 -1
- package/modules/colossussspBidAdapter.js +1 -1
- package/modules/concertBidAdapter.js +1 -1
- package/modules/connectadBidAdapter.js +1 -0
- package/modules/conversantAnalyticsAdapter.js +2 -0
- package/modules/conversantBidAdapter.js +22 -6
- package/modules/craftBidAdapter.js +6 -28
- package/modules/criteoBidAdapter.js +12 -9
- package/modules/currency.js +3 -3
- package/modules/dailyhuntBidAdapter.js +2 -2
- package/modules/datablocksBidAdapter.js +10 -8
- package/modules/datawrkzBidAdapter.js +0 -6
- package/modules/deltaprojectsBidAdapter.js +12 -3
- package/modules/dianomiBidAdapter.js +1 -1
- package/modules/discoveryBidAdapter.js +1 -0
- package/modules/displayioBidAdapter.js +2 -1
- package/modules/dspxBidAdapter.js +1 -0
- package/modules/ebdrBidAdapter.js +3 -2
- package/modules/etargetBidAdapter.js +1 -2
- package/modules/feedadBidAdapter.js +1 -1
- package/modules/finativeBidAdapter.js +8 -8
- package/modules/fluctBidAdapter.js +1 -2
- package/modules/gamoshiBidAdapter.js +3 -3
- package/modules/gdprEnforcement.js +0 -15
- package/modules/genericAnalyticsAdapter.js +0 -5
- package/modules/glomexBidAdapter.js +1 -0
- package/modules/gmosspBidAdapter.js +1 -1
- package/modules/gnetBidAdapter.js +1 -1
- package/modules/goldbachBidAdapter.js +7 -45
- package/modules/gothamadsBidAdapter.js +4 -3
- package/modules/gridBidAdapter.js +20 -421
- package/modules/gumgumBidAdapter.js +1 -2
- package/modules/h12mediaBidAdapter.js +1 -1
- package/modules/holidBidAdapter.js +8 -13
- package/modules/hybridBidAdapter.js +2 -2
- package/modules/hypelabBidAdapter.js +153 -0
- package/modules/hypelabBidAdapter.md +38 -0
- package/modules/{synacormediaBidAdapter.js → imdsBidAdapter.js} +11 -8
- package/modules/{synacormediaBidAdapter.md → imdsBidAdapter.md} +5 -5
- package/modules/impactifyBidAdapter.js +6 -6
- package/modules/improvedigitalBidAdapter.js +1 -2
- package/modules/innityBidAdapter.js +1 -0
- package/modules/insticatorBidAdapter.js +1 -1
- package/modules/interactiveOffersBidAdapter.js +5 -4
- package/modules/iqmBidAdapter.js +1 -0
- package/modules/ixBidAdapter.js +74 -75
- package/modules/jixieBidAdapter.js +1 -0
- package/modules/kargoBidAdapter.js +1 -1
- package/modules/koblerBidAdapter.js +2 -1
- package/modules/kueezBidAdapter.js +1 -1
- package/modules/kueezRtbBidAdapter.js +1 -0
- package/modules/kulturemediaBidAdapter.js +7 -7
- package/modules/lassoBidAdapter.js +2 -1
- package/modules/limelightDigitalBidAdapter.js +1 -1
- package/modules/livewrappedBidAdapter.js +2 -2
- package/modules/logicadBidAdapter.js +2 -1
- package/modules/loglyliftBidAdapter.js +2 -1
- package/modules/luponmediaBidAdapter.js +16 -4
- package/modules/magniteAnalyticsAdapter.js +61 -72
- package/modules/malltvBidAdapter.js +1 -0
- package/modules/mediaforceBidAdapter.js +2 -1
- package/modules/mediafuseBidAdapter.js +45 -62
- package/modules/mediagoBidAdapter.js +1 -0
- package/modules/mediakeysBidAdapter.js +3 -5
- package/modules/medianetBidAdapter.js +2 -1
- package/modules/mediasniperBidAdapter.js +1 -2
- package/modules/mediasquareBidAdapter.js +2 -1
- package/modules/microadBidAdapter.js +1 -9
- package/modules/minutemediaBidAdapter.js +2 -2
- package/modules/minutemediaplusBidAdapter.js +3 -2
- package/modules/newspassidBidAdapter.js +6 -4
- package/modules/nextMillenniumBidAdapter.js +10 -9
- package/modules/oguryBidAdapter.js +5 -5
- package/modules/onetagBidAdapter.js +2 -1
- package/modules/operaadsBidAdapter.js +2 -2
- package/modules/optidigitalBidAdapter.js +2 -2
- package/modules/orbidderBidAdapter.js +2 -1
- package/modules/otmBidAdapter.js +2 -2
- package/modules/outbrainBidAdapter.js +9 -11
- package/modules/oxxionRtdProvider.js +7 -29
- package/modules/ozoneBidAdapter.js +2 -1
- package/modules/padsquadBidAdapter.js +2 -2
- package/modules/pixfutureBidAdapter.js +12 -36
- package/modules/prebidServerBidAdapter/index.js +1 -3
- package/modules/prebidServerBidAdapter/ortbConverter.js +34 -5
- package/modules/priceFloors.js +7 -7
- package/modules/prismaBidAdapter.js +4 -3
- package/modules/proxistoreBidAdapter.js +2 -1
- package/modules/pubgeniusBidAdapter.js +5 -5
- package/modules/pubmaticAnalyticsAdapter.js +31 -12
- package/modules/pubmaticBidAdapter.js +6 -4
- package/modules/pubwiseBidAdapter.js +6 -5
- package/modules/pxyzBidAdapter.js +4 -4
- package/modules/rasBidAdapter.js +4 -2
- package/modules/readpeakBidAdapter.js +1 -1
- package/modules/relaidoBidAdapter.js +2 -1
- package/modules/resetdigitalBidAdapter.js +1 -0
- package/modules/revcontentBidAdapter.js +6 -7
- package/modules/rhythmoneBidAdapter.js +0 -2
- package/modules/richaudienceBidAdapter.js +6 -4
- package/modules/riseBidAdapter.js +1 -1
- package/modules/rtbhouseBidAdapter.js +5 -5
- package/modules/rtbsapeBidAdapter.js +1 -0
- package/modules/rubiconBidAdapter.js +8 -11
- package/modules/saambaaBidAdapter.js +0 -1
- package/modules/seedingAllianceBidAdapter.js +6 -7
- package/modules/seedtagBidAdapter.js +1 -1
- package/modules/sharethroughBidAdapter.js +1 -1
- package/modules/shinezBidAdapter.js +435 -435
- package/modules/showheroes-bsBidAdapter.js +1 -1
- package/{src → modules}/sizeMapping.js +46 -32
- package/modules/slimcutBidAdapter.js +2 -2
- package/modules/smaatoBidAdapter.js +16 -3
- package/modules/smartadserverBidAdapter.js +1 -1
- package/modules/smarticoBidAdapter.js +1 -0
- package/modules/smartytechBidAdapter.js +0 -1
- package/modules/smilewantedBidAdapter.js +2 -2
- package/modules/sonobiBidAdapter.js +2 -1
- package/modules/sspBCBidAdapter.js +1 -1
- package/modules/stroeerCoreBidAdapter.js +1 -0
- package/modules/sublimeBidAdapter.js +1 -0
- package/modules/taboolaBidAdapter.js +3 -3
- package/modules/talkadsBidAdapter.js +1 -0
- package/modules/tappxBidAdapter.js +1 -1
- package/modules/teadsBidAdapter.js +1 -2
- package/modules/telariaBidAdapter.js +1 -1
- package/modules/theAdxBidAdapter.js +1 -1
- package/modules/topicsFpdModule.js +4 -1
- package/modules/tpmnBidAdapter.js +1 -0
- package/modules/truereachBidAdapter.js +1 -0
- package/modules/ttdBidAdapter.js +3 -3
- package/modules/underdogmediaBidAdapter.js +0 -1
- package/modules/unicornBidAdapter.js +1 -1
- package/modules/unrulyBidAdapter.js +1 -1
- package/modules/userId/eids.js +3 -3
- package/modules/userId/eids.md +1 -1
- package/modules/userId/index.js +2 -19
- package/modules/userId/userId.md +12 -10
- package/modules/utiqSystem.js +129 -0
- package/modules/{trustpidSystem.md → utiqSystem.md} +7 -7
- package/modules/vdoaiBidAdapter.js +1 -0
- package/modules/vibrantmediaBidAdapter.js +1 -1
- package/modules/vidazooBidAdapter.js +3 -2
- package/modules/videobyteBidAdapter.js +0 -1
- package/modules/videoheroesBidAdapter.js +2 -0
- package/modules/videojsVideoProvider.js +2 -0
- package/modules/videoreachBidAdapter.js +2 -1
- package/modules/vlybyBidAdapter.js +1 -0
- package/modules/voxBidAdapter.js +2 -0
- package/modules/vrtcalBidAdapter.js +6 -1
- package/modules/winrBidAdapter.js +4 -25
- package/modules/xeBidAdapter.js +2 -1
- package/modules/yieldliftBidAdapter.js +2 -2
- package/modules/yieldmoBidAdapter.js +1 -0
- package/modules/yieldoneBidAdapter.js +1 -1
- package/modules/zetaBidAdapter.js +4 -9
- package/modules/zeta_global_sspBidAdapter.js +1 -1
- package/package.json +1 -1
- package/src/activities/activities.js +5 -0
- package/src/activities/redactor.js +36 -8
- package/src/adapterManager.js +31 -20
- package/src/adapters/bidderFactory.js +41 -91
- package/src/auction.js +5 -21
- package/src/constants.json +1 -2
- package/src/utils.js +2 -34
- package/test/fixtures/fixtures.js +0 -7
- package/test/pages/banner.html +1 -0
- package/test/pages/bidderSettings.html +1 -0
- package/test/pages/consent_mgt_gdpr.html +1 -0
- package/test/pages/currency.html +1 -0
- package/test/pages/instream.html +1 -0
- package/test/pages/multiple_bidders.html +1 -1
- package/test/pages/native.html +1 -0
- package/test/pages/outstream.html +4 -1
- package/test/spec/activities/redactor_spec.js +10 -2
- package/test/spec/appnexusKeywords_spec.js +70 -0
- package/test/spec/auctionmanager_spec.js +11 -22
- package/test/spec/keywords_spec.js +102 -0
- package/test/spec/modules/1plusXRtdProvider_spec.js +17 -18
- package/test/spec/modules/33acrossBidAdapter_spec.js +49 -73
- package/test/spec/modules/adagioBidAdapter_spec.js +15 -24
- package/test/spec/modules/adbookpspBidAdapter_spec.js +5 -0
- package/test/spec/modules/adfBidAdapter_spec.js +4 -1
- package/test/spec/modules/adhashBidAdapter_spec.js +18 -2
- package/test/spec/modules/adkernelAdnBidAdapter_spec.js +1 -3
- package/test/spec/modules/adrelevantisBidAdapter_spec.js +0 -9
- package/test/spec/modules/adriverBidAdapter_spec.js +0 -9
- package/test/spec/modules/adtrueBidAdapter_spec.js +11 -7
- package/test/spec/modules/aduptechBidAdapter_spec.js +26 -8
- package/test/spec/modules/advangelistsBidAdapter_spec.js +0 -1
- package/test/spec/modules/adxcgBidAdapter_spec.js +4 -1
- package/test/spec/modules/adyoulikeBidAdapter_spec.js +50 -10
- package/test/spec/modules/afpBidAdapter_spec.js +5 -1
- package/test/spec/modules/aidemBidAdapter_spec.js +10 -2
- package/test/spec/modules/airgridRtdProvider_spec.js +9 -59
- package/test/spec/modules/apacdexBidAdapter_spec.js +2 -2
- package/test/spec/modules/appnexusBidAdapter_spec.js +100 -27
- package/test/spec/modules/astraoneBidAdapter_spec.js +5 -1
- package/test/spec/modules/beachfrontBidAdapter_spec.js +0 -1
- package/test/spec/modules/big-richmediaBidAdapter_spec.js +0 -10
- package/test/spec/modules/bluebillywigBidAdapter_spec.js +12 -10
- package/test/spec/modules/browsiBidAdapter_spec.js +6 -3
- package/test/spec/modules/{emx_digitalBidAdapter_spec.js → cadentApertureMXBidAdapter_spec.js} +16 -16
- package/test/spec/modules/ccxBidAdapter_spec.js +1 -1
- package/test/spec/modules/cleanmedianetBidAdapter_spec.js +2 -2
- package/test/spec/modules/codefuelBidAdapter_spec.js +10 -1
- package/test/spec/modules/colossussspBidAdapter_spec.js +1 -1
- package/test/spec/modules/concertBidAdapter_spec.js +5 -1
- package/test/spec/modules/conversantBidAdapter_spec.js +7 -2
- package/test/spec/modules/criteoBidAdapter_spec.js +78 -8
- package/test/spec/modules/currency_spec.js +12 -12
- package/test/spec/modules/datawrkzBidAdapter_spec.js +0 -4
- package/test/spec/modules/dianomiBidAdapter_spec.js +1 -1
- package/test/spec/modules/etargetBidAdapter_spec.js +35 -8
- package/test/spec/modules/euidIdSystem_spec.js +0 -7
- package/test/spec/modules/feedadBidAdapter_spec.js +5 -1
- package/test/spec/modules/finativeBidAdapter_spec.js +0 -12
- package/test/spec/modules/fluctBidAdapter_spec.js +0 -2
- package/test/spec/modules/gamoshiBidAdapter_spec.js +5 -2
- package/test/spec/modules/gmosspBidAdapter_spec.js +5 -1
- package/test/spec/modules/gnetBidAdapter_spec.js +5 -1
- package/test/spec/modules/goldbachBidAdapter_spec.js +0 -10
- package/test/spec/modules/gridBidAdapter_spec.js +42 -302
- package/test/spec/modules/hybridBidAdapter_spec.js +5 -1
- package/test/spec/modules/hypelabBidAdapter_spec.js +281 -0
- package/test/spec/modules/{synacormediaBidAdapter_spec.js → imdsBidAdapter_spec.js} +19 -19
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +6 -1
- package/test/spec/modules/insticatorBidAdapter_spec.js +6 -2
- package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/ivsBidAdapter_spec.js +0 -2
- package/test/spec/modules/ixBidAdapter_spec.js +8 -3
- package/test/spec/modules/kargoBidAdapter_spec.js +3 -3
- package/test/spec/modules/koblerBidAdapter_spec.js +13 -2
- package/test/spec/modules/kulturemediaBidAdapter_spec.js +0 -1
- package/test/spec/modules/limelightDigitalBidAdapter_spec.js +21 -5
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/livewrappedBidAdapter_spec.js +5 -6
- package/test/spec/modules/loglyliftBidAdapter_spec.js +10 -0
- package/test/spec/modules/luponmediaBidAdapter_spec.js +23 -2
- package/test/spec/modules/magniteAnalyticsAdapter_spec.js +93 -1
- package/test/spec/modules/mediaforceBidAdapter_spec.js +11 -3
- package/test/spec/modules/mediafuseBidAdapter_spec.js +2 -6
- package/test/spec/modules/mediakeysBidAdapter_spec.js +6 -2
- package/test/spec/modules/medianetBidAdapter_spec.js +86 -17
- package/test/spec/modules/mediasniperBidAdapter_spec.js +1 -1
- package/test/spec/modules/mediasquareBidAdapter_spec.js +5 -5
- package/test/spec/modules/microadBidAdapter_spec.js +7 -3
- package/test/spec/modules/minutemediaplusBidAdapter_spec.js +7 -3
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +2 -2
- package/test/spec/modules/nexx360BidAdapter_spec.js +0 -1
- package/test/spec/modules/oguryBidAdapter_spec.js +2 -1
- package/test/spec/modules/onetagBidAdapter_spec.js +5 -1
- package/test/spec/modules/openxBidAdapter_spec.js +1 -1
- package/test/spec/modules/operaadsBidAdapter_spec.js +5 -5
- package/test/spec/modules/optidigitalBidAdapter_spec.js +0 -2
- package/test/spec/modules/orbidderBidAdapter_spec.js +12 -4
- package/test/spec/modules/outbrainBidAdapter_spec.js +5 -0
- package/test/spec/modules/oxxionRtdProvider_spec.js +3 -2
- package/test/spec/modules/prebidServerBidAdapter_spec.js +114 -32
- package/test/spec/modules/priceFloors_spec.js +7 -25
- package/test/spec/modules/pubgeniusBidAdapter_spec.js +2 -1
- package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +7 -0
- package/test/spec/modules/pubmaticBidAdapter_spec.js +41 -32
- package/test/spec/modules/pubwiseBidAdapter_spec.js +10 -6
- package/test/spec/modules/relaidoBidAdapter_spec.js +6 -2
- package/test/spec/modules/revcontentBidAdapter_spec.js +0 -10
- package/test/spec/modules/richaudienceBidAdapter_spec.js +5 -1
- package/test/spec/modules/rubiconBidAdapter_spec.js +26 -7
- package/test/spec/modules/scatteredBidAdapter_spec.js +0 -2
- package/test/spec/modules/seedingAllianceAdapter_spec.js +0 -13
- package/test/spec/modules/seedtagBidAdapter_spec.js +5 -1
- package/test/spec/modules/sharethroughBidAdapter_spec.js +6 -2
- package/test/spec/modules/sizeMapping_spec.js +342 -0
- package/test/spec/modules/slimcutBidAdapter_spec.js +0 -1
- package/test/spec/modules/smaatoBidAdapter_spec.js +3 -2
- package/test/spec/modules/smartadserverBidAdapter_spec.js +15 -3
- package/test/spec/modules/smilewantedBidAdapter_spec.js +25 -6
- package/test/spec/modules/sspBCBidAdapter_spec.js +4 -4
- package/test/spec/modules/taboolaBidAdapter_spec.js +10 -12
- package/test/spec/modules/teadsBidAdapter_spec.js +7 -0
- package/test/spec/modules/terceptAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/ttdBidAdapter_spec.js +13 -5
- package/test/spec/modules/uid2IdSystem_spec.js +0 -10
- package/test/spec/modules/underdogmediaBidAdapter_spec.js +0 -1
- package/test/spec/modules/utiqSystem_spec.js +188 -0
- package/test/spec/modules/vidazooBidAdapter_spec.js +6 -2
- package/test/spec/modules/videobyteBidAdapter_spec.js +0 -1
- package/test/spec/modules/vrtcalBidAdapter_spec.js +9 -2
- package/test/spec/modules/winrBidAdapter_spec.js +0 -9
- package/test/spec/modules/xeBidAdapter_spec.js +6 -2
- package/test/spec/unit/core/adapterManager_spec.js +69 -115
- package/test/spec/unit/core/bidderFactory_spec.js +80 -152
- package/test/spec/unit/core/targeting_spec.js +0 -6
- package/test/spec/utils_spec.js +21 -90
- package/dist/aolBidAdapter.js +0 -1
- package/dist/captifyRtdProvider.js +0 -1
- package/dist/emx_digitalBidAdapter.js +0 -1
- package/dist/glimpseBidAdapter.js +0 -1
- package/dist/googleAnalyticsAdapter.js +0 -1
- package/dist/inmarBidAdapter.js +0 -1
- package/dist/inskinBidAdapter.js +0 -1
- package/dist/liveyieldAnalyticsAdapter.js +0 -1
- package/dist/mass.js +0 -1
- package/dist/openxAnalyticsAdapter.js +0 -1
- package/dist/openxOrtbBidAdapter.js +0 -1
- package/dist/pubCommonId.js +0 -1
- package/dist/realvuAnalyticsAdapter.js +0 -1
- package/dist/rubiconAnalyticsAdapter.js +0 -1
- package/dist/synacormediaBidAdapter.js +0 -1
- package/dist/trustpidSystem.js +0 -1
- package/dist/viewability.js +0 -1
- package/dist/zeusPrimeRtdProvider.js +0 -21
- package/integrationExamples/gpt/captifyRtdProvider_example.html +0 -167
- package/integrationExamples/mass/index.html +0 -132
- package/modules/aolBidAdapter.js +0 -462
- package/modules/aolBidAdapter.md +0 -46
- package/modules/captifyRtdProvider.js +0 -146
- package/modules/captifyRtdProvider.md +0 -68
- package/modules/conversantAnalyticsAdapter.md +0 -46
- package/modules/conversantBidAdapter.md +0 -46
- package/modules/glimpseBidAdapter.js +0 -198
- package/modules/glimpseBidAdapter.md +0 -37
- package/modules/googleAnalyticsAdapter.js +0 -298
- package/modules/googleAnalyticsAdapter.md +0 -38
- package/modules/inmarBidAdapter.js +0 -132
- package/modules/inmarBidAdapter.md +0 -44
- package/modules/inskinBidAdapter.js +0 -391
- package/modules/inskinBidAdapter.md +0 -31
- package/modules/liveyieldAnalyticsAdapter.js +0 -454
- package/modules/liveyieldAnalyticsAdapter.md +0 -45
- package/modules/mass.js +0 -184
- package/modules/mass.md +0 -137
- package/modules/openxAnalyticsAdapter.js +0 -27
- package/modules/openxAnalyticsAdapter.md +0 -135
- package/modules/openxOrtbBidAdapter.js +0 -238
- package/modules/openxOrtbBidAdapter.md +0 -108
- package/modules/pubCommonId.js +0 -303
- package/modules/pubCommonId.md +0 -37
- package/modules/realvuAnalyticsAdapter.js +0 -976
- package/modules/realvuAnalyticsAdapter.md +0 -9
- package/modules/rubiconAnalyticsAdapter.js +0 -938
- package/modules/trustpidSystem.js +0 -143
- package/modules/viewability.js +0 -9
- package/modules/zeusPrimeRtdProvider.js +0 -37
- package/modules/zeusPrimeRtdProvider.md +0 -63
- package/test/spec/modules/aolBidAdapter_spec.js +0 -890
- package/test/spec/modules/captifyRtdProvider_spec.js +0 -253
- package/test/spec/modules/glimpseBidAdapter_spec.js +0 -422
- package/test/spec/modules/googleAnalyticsAdapter_spec.js +0 -27
- package/test/spec/modules/inmarBidAdapter_spec.js +0 -242
- package/test/spec/modules/inskinBidAdapter_spec.js +0 -386
- package/test/spec/modules/liveyieldAnalyticsAdapter_spec.js +0 -704
- package/test/spec/modules/mass_spec.js +0 -141
- package/test/spec/modules/openxAnalyticsAdapter_spec.js +0 -21
- package/test/spec/modules/openxOrtbBidAdapter_spec.js +0 -1615
- package/test/spec/modules/pubCommonId_spec.js +0 -353
- package/test/spec/modules/rubiconAnalyticsAdapter_spec.js +0 -2540
- package/test/spec/modules/rubiconAnalyticsSchema.json +0 -494
- package/test/spec/modules/trustpidSystem_spec.js +0 -237
- package/test/spec/sizeMapping_spec.js +0 -341
package/modules/mass.md
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
## Overview
|
|
2
|
-
|
|
3
|
-
This module enables the MASS protocol for Prebid. To use it, you'll need to
|
|
4
|
-
work with a MASS enabled provider.
|
|
5
|
-
|
|
6
|
-
This module scans incoming bids for the presence of a "mass" flag being set to
|
|
7
|
-
true in the bid meta or a publisher specified DealID pattern and uses
|
|
8
|
-
external resources to decypher and process the MASS:// URI found within the ad markup.
|
|
9
|
-
This modules is designed to work with MASS enabled Exchanges and DSP's.
|
|
10
|
-
|
|
11
|
-
This module only loads external JavaScript resources if the publisher ad server has
|
|
12
|
-
selected a MASS enabled bid as a winner.
|
|
13
|
-
|
|
14
|
-
Find out more [here](https://massplatform.net).
|
|
15
|
-
|
|
16
|
-
{: .alert.alert-warning :}
|
|
17
|
-
## Disclosure
|
|
18
|
-
|
|
19
|
-
This module loads external JavaScript to render creatives
|
|
20
|
-
|
|
21
|
-
## Custom Mode
|
|
22
|
-
|
|
23
|
-
You can specify your own `dealIdPattern` and `renderUrl` by adding one or more entries into the `custom` configuration option (see [Configuration Parameters](#configuration-parameters) below). When specifying a custom renderer, quality assurance is your responsibility.
|
|
24
|
-
|
|
25
|
-
## Integration
|
|
26
|
-
|
|
27
|
-
Build the MASS module into the Prebid.js package with:
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
gulp build --modules=mass,...
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Module Configuration
|
|
35
|
-
|
|
36
|
-
```js
|
|
37
|
-
pbjs.que.push(function() {
|
|
38
|
-
pbjs.setConfig({
|
|
39
|
-
mass: {
|
|
40
|
-
enabled: true,
|
|
41
|
-
renderUrl: 'https://cdn.massplatform.net/bootloader.js',
|
|
42
|
-
dealIdPattern: /^MASS/i,
|
|
43
|
-
custom: [
|
|
44
|
-
{
|
|
45
|
-
dealIdPattern: /xyz/,
|
|
46
|
-
renderUrl: 'https://my.domain.com/render.js',
|
|
47
|
-
namespace: 'xyz'
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Configuration Parameters
|
|
56
|
-
|
|
57
|
-
|Name |Type |Description |Notes |
|
|
58
|
-
| :------------ | :------------ | :------------ |:------------ |
|
|
59
|
-
|enabled | Boolean |Enable/disable the module |Defaults to `true` |
|
|
60
|
-
|dealIdPattern | RegExp |The pattern used to identify MASS deal IDs |Defaults to `/^MASS/i` |
|
|
61
|
-
|renderUrl | String |The MASS render script to load |`https://cdn.massplatform.net/bootloader.js` |
|
|
62
|
-
|custom | Array |Add custom renderers | |
|
|
63
|
-
|custom[].dealIdPattern | RegExp |A pattern used to identify matching deal IDs |Either this parameter or `custom[].match` must be specified |
|
|
64
|
-
|custom[].renderUrl | String |The render script to load |Either this parameter or `custom[].render` must be specified |
|
|
65
|
-
|custom[].namespace | String |The namespace (i.e.: object) created on `window` to pass parameters to the render script |Required with `custom[].renderUrl` |
|
|
66
|
-
|custom[].match | Function(bid) |A custom function to identify matching bids |Either this parameter or `custom[].dealIdPattern` must be specified |
|
|
67
|
-
|custom[].render | Function(payload) |A custom function to render the matchig/winning bid |Either this parameter or `custom[].renderUrl` must be specified. The `payload` parameter contains: `payload.bid`, `payload.bidRequest`, `payload.adm` |
|
|
68
|
-
|
|
69
|
-
### Example Configurations
|
|
70
|
-
|
|
71
|
-
### Only (official) MASS support enabled
|
|
72
|
-
|
|
73
|
-
```js
|
|
74
|
-
pbjs.que.push(function() {
|
|
75
|
-
pbjs.setConfig({
|
|
76
|
-
mass: {
|
|
77
|
-
renderUrl: 'https://cdn.massplatform.net/bootloader.js'
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### MASS support disabled, custom renderer enabled
|
|
84
|
-
|
|
85
|
-
```js
|
|
86
|
-
pbjs.que.push(function() {
|
|
87
|
-
pbjs.setConfig({
|
|
88
|
-
mass: {
|
|
89
|
-
custom: [
|
|
90
|
-
{
|
|
91
|
-
dealIdPattern: /xyz/,
|
|
92
|
-
renderUrl: 'https://my.domain.com/render.js',
|
|
93
|
-
namespace: 'xyz'
|
|
94
|
-
}
|
|
95
|
-
]
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### Custom `match` and `render`
|
|
102
|
-
|
|
103
|
-
```js
|
|
104
|
-
pbjs.que.push(function() {
|
|
105
|
-
pbjs.setConfig({
|
|
106
|
-
mass: {
|
|
107
|
-
custom: [
|
|
108
|
-
{
|
|
109
|
-
match: function(bid) {
|
|
110
|
-
// return true/false if matching/non-matching bid
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
render: function(payload) {
|
|
114
|
-
console.log(payload);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
]
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Integration Example
|
|
124
|
-
|
|
125
|
-
To view the integration example:
|
|
126
|
-
|
|
127
|
-
1) in your cli run:
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
gulp serve --modules=ixBidAdapter,mass
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
2) in your browser, navigate to:
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
http://localhost:9999/integrationExamples/mass/index.html
|
|
137
|
-
```
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
logWarn
|
|
3
|
-
} from '../src/utils.js';
|
|
4
|
-
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
5
|
-
import adapterManager from '../src/adapterManager.js';
|
|
6
|
-
|
|
7
|
-
let openxAdapter = Object.assign(adapter({ urlParam: '', analyticsType: 'endpoint' }));
|
|
8
|
-
|
|
9
|
-
openxAdapter.originEnableAnalytics = openxAdapter.enableAnalytics;
|
|
10
|
-
|
|
11
|
-
openxAdapter.enableAnalytics = function(adapterConfig = {options: {}}) {
|
|
12
|
-
logWarn('OpenX Analytics has been deprecated, this adapter will be removed in Prebid 8');
|
|
13
|
-
|
|
14
|
-
openxAdapter.track = prebidAnalyticsEventHandler;
|
|
15
|
-
|
|
16
|
-
openxAdapter.originEnableAnalytics(adapterConfig);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
adapterManager.registerAnalyticsAdapter({
|
|
20
|
-
adapter: openxAdapter,
|
|
21
|
-
code: 'openx'
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
export default openxAdapter;
|
|
25
|
-
|
|
26
|
-
function prebidAnalyticsEventHandler({eventType, args}) {
|
|
27
|
-
}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# OpenX Analytics Adapter to Prebid.js
|
|
3
|
-
## Implementation Guide
|
|
4
|
-
#### Internal use only
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# NOTE: OPENX NO LONGER OFFERS ANALYTICS
|
|
9
|
-
# THIS ADAPTER NO LONGER FUNCTIONS AND
|
|
10
|
-
# WILL BE REMOVED IN PREBID 8
|
|
11
|
-
|
|
12
|
-
# About this Guide
|
|
13
|
-
This implementation guide walks through the flow of onboarding an alpha Publisher to test OpenX’s new Analytics Adapter.
|
|
14
|
-
|
|
15
|
-
- [Adding OpenX Analytics Adapter to Prebid.js](#adding-openx-analytics-adapter-to-prebidjs)
|
|
16
|
-
- [Publisher Builds Prebid.js File Flow](#publisher-builds-prebidjs-file-flow)
|
|
17
|
-
- [OpenX Builds Prebid.js File Flow](#openx-builds-prebidjs-file-flow)
|
|
18
|
-
- [Website Configuration](#website-configuration)
|
|
19
|
-
- [Configuration Options](#configuration-options)
|
|
20
|
-
- [Viewing Data](#viewing-data)
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
# Adding OpenX Analytics Adapter to Prebid.js
|
|
25
|
-
A Publisher has two options to add the OpenX Analytics Adapter to Prebid.js:
|
|
26
|
-
|
|
27
|
-
1. [Publisher builds the Prebid.js file](#publisher-builds-prebid.js-file-flow): If the Publisher is familiar with building Prebid.js (through the command line and not through the download site), OpenX can provide to the Publisher only the Analytics Adapter code.
|
|
28
|
-
|
|
29
|
-
2. [OpenX builds the Prebid.js file](#openx-builds-prebid.js-file-flow): If the Publisher is unfamiliar with building Prebid.js, the Publisher should advise OpenX which modules to include by going to the [Prebid download site](http://prebid.org/download.html) and selecting all the desired items (adapters and modules) for OpenX.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Publisher Builds Prebid.js File Flow
|
|
34
|
-
Use this option if the Publisher is building the Prebid.js file.
|
|
35
|
-
|
|
36
|
-
1. OpenX sends Publisher the new Analytics Adapter code.
|
|
37
|
-
|
|
38
|
-
2. Publisher replaces the file in `<path_to_prebid.js_folder>/modules/openxAnalyticsAdapter.js` with the file provided by OpenX.
|
|
39
|
-
|
|
40
|
-
3. Publisher runs the build command in `<path_to_prebid.js_folder>` and includes `openxAnalyticsAdapter` as one of the modules to include.
|
|
41
|
-
|
|
42
|
-
For example:
|
|
43
|
-
|
|
44
|
-
```shell
|
|
45
|
-
gulp build --modules=openxBidAdapter,rubiconBidAdapter,sovrnBidAdapter,openxBidAdapter,openxAnalyticsAdapter,dfpAdServerVideo
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
4. Publisher deploys the Prebid.js file from `<path_to_prebid.js_folder>/build/dist/prebid.js` to a website.
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## OpenX Builds Prebid.js File Flow
|
|
53
|
-
Use this option if OpenX is building the Prebid.js file on behalf of the Publisher.
|
|
54
|
-
|
|
55
|
-
1. Publisher refers to the [Prebid download site](http://prebid.org/download.html) and sends a list of adapters and modules to OpenX.
|
|
56
|
-
|
|
57
|
-
>Note: The Publisher must be aware that only Prebid 3.0+ is supported.
|
|
58
|
-
|
|
59
|
-
For example (does not have to follow exact format):
|
|
60
|
-
|
|
61
|
-
```yaml
|
|
62
|
-
Prebid Version: 3.10+
|
|
63
|
-
Modules:
|
|
64
|
-
Bidders
|
|
65
|
-
OpenX
|
|
66
|
-
Rubicon
|
|
67
|
-
Sovrn
|
|
68
|
-
Consent Management
|
|
69
|
-
US Privacy
|
|
70
|
-
User ID
|
|
71
|
-
IdentityLink ID
|
|
72
|
-
DFP Video
|
|
73
|
-
Supply Chain Object
|
|
74
|
-
Currency
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
2. OpenX uses the information to build a package to the user’s specification and includes `openxAnalyticsAdapter` as an additional module.
|
|
78
|
-
|
|
79
|
-
3. OpenX sends the built package to the Publisher.
|
|
80
|
-
|
|
81
|
-
4. Publisher deploys the modified Prebid.js to a website.
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
# Website Configuration
|
|
86
|
-
To configure your website, add the following code snippet to your website:
|
|
87
|
-
|
|
88
|
-
```javascript
|
|
89
|
-
pbjs.que.push(function () {
|
|
90
|
-
pbjs.enableAnalytics([{
|
|
91
|
-
provider: "openx",
|
|
92
|
-
options: {
|
|
93
|
-
publisherPlatformId: "OPENX_PROVIDED_PLATFORM_ID", // eg: "a3aece0c-9e80-4316-8deb-faf804779bd1"
|
|
94
|
-
publisherAccountId: PUBLISHER_ACCOUNT_ID, // eg: 537143056
|
|
95
|
-
sampling: 0.05, // 5% sample rate
|
|
96
|
-
testCode: 'test-code-1'
|
|
97
|
-
}
|
|
98
|
-
}]);
|
|
99
|
-
});
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Configuration Options
|
|
105
|
-
Configuration options are a follows:
|
|
106
|
-
|
|
107
|
-
| Property | Type | Required? | Description | Example |
|
|
108
|
-
|:---|:---|:---|:---|:---|
|
|
109
|
-
| `orgId` | `string` | Yes | Used to determine ownership of data. | `aa1bb2cc-3dd4-4316-8deb-faf804779bd1` |
|
|
110
|
-
| `publisherPlatformId` | `string` | No <br> **__Deprecated. Please use orgId__** | Used to determine ownership of data. | `a3aece0c-9e80-4316-8deb-faf804779bd1` |
|
|
111
|
-
| `publisherAccountId` | `number` | No <br> **__Deprecated. Please use orgId__** | Used to determine ownership of data. | `1537143056` |
|
|
112
|
-
| `sampling` | `number` | Yes | Sampling rate | Undefined or `1.00` - No sampling. Analytics is sent all the time.<br>0.5 - 50% of users will send analytics data. |
|
|
113
|
-
| `testCode` | `string` | No | Used to label analytics data for the purposes of tests.<br>This label is treated as a dimension and can be compared against other labels. | `timeout_config_1`<br>`timeout_config_2`<br>`timeout_default` |
|
|
114
|
-
| `campaign` | `Object` | No | Object with 5 parameters: <ul><li>content</li><li>medium</li><li>name</li><li>source</li><li>term</li></ul> Each parameter is a free-form string. Refer to metrics doc on when to use these fields. By setting a value to one of these properties, you override the associated url utm query parameter. | |
|
|
115
|
-
| `payloadWaitTime` | `number` | No | Delay after all slots of an auction renders before the payload is sent. <br> Defaults to 100ms | 1000 |
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
# Viewing Data
|
|
119
|
-
The Prebid Report available in the Reporting in the Cloud tool, allows you to view your data.
|
|
120
|
-
|
|
121
|
-
**To view your data:**
|
|
122
|
-
|
|
123
|
-
1. Log in to [OpenX Reporting](https://openx.sigmoid.io/app).
|
|
124
|
-
|
|
125
|
-
2. In the top right, click on the **View** list and then select **Prebidreport**.
|
|
126
|
-
|
|
127
|
-
3. On the left icon bar, click on the dimensions icon.
|
|
128
|
-
|
|
129
|
-
4. Add the dimensions that you need.
|
|
130
|
-
|
|
131
|
-
5. On the left icon bar, click on the metrics icon.
|
|
132
|
-
|
|
133
|
-
6. Add the metrics (graphs) that you need.
|
|
134
|
-
|
|
135
|
-
The data appears on the Analyze screen.
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import {config} from '../src/config.js';
|
|
2
|
-
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
3
|
-
import * as utils from '../src/utils.js';
|
|
4
|
-
import {mergeDeep} from '../src/utils.js';
|
|
5
|
-
import {BANNER, VIDEO} from '../src/mediaTypes.js';
|
|
6
|
-
import {ortbConverter} from '../libraries/ortbConverter/converter.js';
|
|
7
|
-
|
|
8
|
-
const bidderConfig = 'hb_pb_ortb';
|
|
9
|
-
const bidderVersion = '1.0';
|
|
10
|
-
export const REQUEST_URL = 'https://rtb.openx.net/openrtbb/prebidjs';
|
|
11
|
-
export const SYNC_URL = 'https://u.openx.net/w/1.0/pd';
|
|
12
|
-
export const DEFAULT_PH = '2d1251ae-7f3a-47cf-bd2a-2f288854a0ba';
|
|
13
|
-
export const spec = {
|
|
14
|
-
code: 'openx',
|
|
15
|
-
supportedMediaTypes: [BANNER, VIDEO],
|
|
16
|
-
isBidRequestValid,
|
|
17
|
-
buildRequests,
|
|
18
|
-
interpretResponse,
|
|
19
|
-
getUserSyncs,
|
|
20
|
-
transformBidParams
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
registerBidder(spec);
|
|
24
|
-
|
|
25
|
-
const converter = ortbConverter({
|
|
26
|
-
context: {
|
|
27
|
-
netRevenue: true,
|
|
28
|
-
ttl: 300
|
|
29
|
-
},
|
|
30
|
-
imp(buildImp, bidRequest, context) {
|
|
31
|
-
const imp = buildImp(bidRequest, context);
|
|
32
|
-
mergeDeep(imp, {
|
|
33
|
-
tagid: bidRequest.params.unit,
|
|
34
|
-
ext: {
|
|
35
|
-
divid: bidRequest.adUnitCode
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
if (bidRequest.params.customParams) {
|
|
39
|
-
utils.deepSetValue(imp, 'ext.customParams', bidRequest.params.customParams);
|
|
40
|
-
}
|
|
41
|
-
if (bidRequest.params.customFloor && !imp.bidfloor) {
|
|
42
|
-
imp.bidfloor = bidRequest.params.customFloor;
|
|
43
|
-
}
|
|
44
|
-
return imp;
|
|
45
|
-
},
|
|
46
|
-
request(buildRequest, imps, bidderRequest, context) {
|
|
47
|
-
const req = buildRequest(imps, bidderRequest, context);
|
|
48
|
-
mergeDeep(req, {
|
|
49
|
-
at: 1,
|
|
50
|
-
ext: {
|
|
51
|
-
bc: `${bidderConfig}_${bidderVersion}`
|
|
52
|
-
}
|
|
53
|
-
})
|
|
54
|
-
const bid = context.bidRequests[0];
|
|
55
|
-
if (bid.params.coppa) {
|
|
56
|
-
utils.deepSetValue(req, 'regs.coppa', 1);
|
|
57
|
-
}
|
|
58
|
-
if (bid.params.doNotTrack) {
|
|
59
|
-
utils.deepSetValue(req, 'device.dnt', 1);
|
|
60
|
-
}
|
|
61
|
-
if (bid.params.platform) {
|
|
62
|
-
utils.deepSetValue(req, 'ext.platform', bid.params.platform);
|
|
63
|
-
}
|
|
64
|
-
if (bid.params.delDomain) {
|
|
65
|
-
utils.deepSetValue(req, 'ext.delDomain', bid.params.delDomain);
|
|
66
|
-
}
|
|
67
|
-
if (bid.params.response_template_name) {
|
|
68
|
-
utils.deepSetValue(req, 'ext.response_template_name', bid.params.response_template_name);
|
|
69
|
-
}
|
|
70
|
-
if (bid.params.test) {
|
|
71
|
-
req.test = 1
|
|
72
|
-
}
|
|
73
|
-
return req;
|
|
74
|
-
},
|
|
75
|
-
bidResponse(buildBidResponse, bid, context) {
|
|
76
|
-
const bidResponse = buildBidResponse(bid, context);
|
|
77
|
-
if (bid.ext) {
|
|
78
|
-
bidResponse.meta.networkId = bid.ext.dsp_id;
|
|
79
|
-
bidResponse.meta.advertiserId = bid.ext.buyer_id;
|
|
80
|
-
bidResponse.meta.brandId = bid.ext.brand_id;
|
|
81
|
-
}
|
|
82
|
-
const {ortbResponse} = context;
|
|
83
|
-
if (ortbResponse.ext && ortbResponse.ext.paf) {
|
|
84
|
-
bidResponse.meta.paf = Object.assign({}, ortbResponse.ext.paf);
|
|
85
|
-
bidResponse.meta.paf.content_id = utils.deepAccess(bid, 'ext.paf.content_id');
|
|
86
|
-
}
|
|
87
|
-
return bidResponse;
|
|
88
|
-
},
|
|
89
|
-
response(buildResponse, bidResponses, ortbResponse, context) {
|
|
90
|
-
// pass these from request to the responses for use in userSync
|
|
91
|
-
const {ortbRequest} = context;
|
|
92
|
-
if (ortbRequest.ext) {
|
|
93
|
-
if (ortbRequest.ext.delDomain) {
|
|
94
|
-
utils.deepSetValue(ortbResponse, 'ext.delDomain', ortbRequest.ext.delDomain);
|
|
95
|
-
}
|
|
96
|
-
if (ortbRequest.ext.platform) {
|
|
97
|
-
utils.deepSetValue(ortbResponse, 'ext.platform', ortbRequest.ext.platform);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
const response = buildResponse(bidResponses, ortbResponse, context);
|
|
101
|
-
// TODO: we may want to standardize this and move fledge logic to ortbConverter
|
|
102
|
-
let fledgeAuctionConfigs = utils.deepAccess(ortbResponse, 'ext.fledge_auction_configs');
|
|
103
|
-
if (fledgeAuctionConfigs) {
|
|
104
|
-
fledgeAuctionConfigs = Object.entries(fledgeAuctionConfigs).map(([bidId, cfg]) => {
|
|
105
|
-
return {
|
|
106
|
-
bidId,
|
|
107
|
-
config: Object.assign({
|
|
108
|
-
auctionSignals: {},
|
|
109
|
-
}, cfg)
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
return {
|
|
113
|
-
bids: response.bids,
|
|
114
|
-
fledgeAuctionConfigs,
|
|
115
|
-
}
|
|
116
|
-
} else {
|
|
117
|
-
return response.bids
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
overrides: {
|
|
121
|
-
imp: {
|
|
122
|
-
bidfloor(setBidFloor, imp, bidRequest, context) {
|
|
123
|
-
// enforce floors should always be in USD
|
|
124
|
-
// TODO: does it make sense that request.cur can be any currency, but request.imp[].bidfloorcur must be USD?
|
|
125
|
-
const floor = {};
|
|
126
|
-
setBidFloor(floor, bidRequest, {...context, currency: 'USD'});
|
|
127
|
-
if (floor.bidfloorcur === 'USD') {
|
|
128
|
-
Object.assign(imp, floor);
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
video(orig, imp, bidRequest, context) {
|
|
132
|
-
if (FEATURES.VIDEO) {
|
|
133
|
-
// `orig` is the video imp processor, which looks at bidRequest.mediaTypes[VIDEO]
|
|
134
|
-
// to populate imp.video
|
|
135
|
-
// alter its input `bidRequest` to also pick up parameters from `bidRequest.params`
|
|
136
|
-
let videoParams = bidRequest.mediaTypes[VIDEO];
|
|
137
|
-
if (videoParams) {
|
|
138
|
-
videoParams = Object.assign({}, videoParams, bidRequest.params.video);
|
|
139
|
-
bidRequest = {...bidRequest, mediaTypes: {[VIDEO]: videoParams}}
|
|
140
|
-
}
|
|
141
|
-
orig(imp, bidRequest, context);
|
|
142
|
-
if (imp.video && videoParams?.context === 'outstream') {
|
|
143
|
-
imp.video.placement = imp.video.placement || 4;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
function transformBidParams(params, isOpenRtb) {
|
|
152
|
-
return utils.convertTypes({
|
|
153
|
-
'unit': 'string',
|
|
154
|
-
'customFloor': 'number'
|
|
155
|
-
}, params);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function isBidRequestValid(bidRequest) {
|
|
159
|
-
const hasDelDomainOrPlatform = bidRequest.params.delDomain ||
|
|
160
|
-
bidRequest.params.platform;
|
|
161
|
-
|
|
162
|
-
if (utils.deepAccess(bidRequest, 'mediaTypes.banner') &&
|
|
163
|
-
hasDelDomainOrPlatform) {
|
|
164
|
-
return !!bidRequest.params.unit ||
|
|
165
|
-
utils.deepAccess(bidRequest, 'mediaTypes.banner.sizes.length') > 0;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
return !!(bidRequest.params.unit && hasDelDomainOrPlatform);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
function buildRequests(bids, bidderRequest) {
|
|
172
|
-
let videoBids = bids.filter(bid => isVideoBid(bid));
|
|
173
|
-
let bannerBids = bids.filter(bid => isBannerBid(bid));
|
|
174
|
-
let requests = bannerBids.length ? [createRequest(bannerBids, bidderRequest, BANNER)] : [];
|
|
175
|
-
videoBids.forEach(bid => {
|
|
176
|
-
requests.push(createRequest([bid], bidderRequest, VIDEO));
|
|
177
|
-
});
|
|
178
|
-
return requests;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
function createRequest(bidRequests, bidderRequest, mediaType) {
|
|
182
|
-
return {
|
|
183
|
-
method: 'POST',
|
|
184
|
-
url: config.getConfig('openxOrtbUrl') || REQUEST_URL,
|
|
185
|
-
data: converter.toORTB({bidRequests, bidderRequest, context: {mediaType}})
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
function isVideoBid(bid) {
|
|
190
|
-
return utils.deepAccess(bid, 'mediaTypes.video');
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
function isBannerBid(bid) {
|
|
194
|
-
return utils.deepAccess(bid, 'mediaTypes.banner') || !isVideoBid(bid);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
function interpretResponse(resp, req) {
|
|
198
|
-
if (!resp.body) {
|
|
199
|
-
resp.body = {nbr: 0};
|
|
200
|
-
}
|
|
201
|
-
return converter.fromORTB({request: req.data, response: resp.body});
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* @param syncOptions
|
|
206
|
-
* @param responses
|
|
207
|
-
* @param gdprConsent
|
|
208
|
-
* @param uspConsent
|
|
209
|
-
* @return {{type: (string), url: (*|string)}[]}
|
|
210
|
-
*/
|
|
211
|
-
function getUserSyncs(syncOptions, responses, gdprConsent, uspConsent) {
|
|
212
|
-
if (syncOptions.iframeEnabled || syncOptions.pixelEnabled) {
|
|
213
|
-
let pixelType = syncOptions.iframeEnabled ? 'iframe' : 'image';
|
|
214
|
-
let queryParamStrings = [];
|
|
215
|
-
let syncUrl = SYNC_URL;
|
|
216
|
-
if (gdprConsent) {
|
|
217
|
-
queryParamStrings.push('gdpr=' + (gdprConsent.gdprApplies ? 1 : 0));
|
|
218
|
-
queryParamStrings.push('gdpr_consent=' + encodeURIComponent(gdprConsent.consentString || ''));
|
|
219
|
-
}
|
|
220
|
-
if (uspConsent) {
|
|
221
|
-
queryParamStrings.push('us_privacy=' + encodeURIComponent(uspConsent));
|
|
222
|
-
}
|
|
223
|
-
if (responses.length > 0 && responses[0].body && responses[0].body.ext) {
|
|
224
|
-
const ext = responses[0].body.ext;
|
|
225
|
-
if (ext.delDomain) {
|
|
226
|
-
syncUrl = `https://${ext.delDomain}/w/1.0/pd`
|
|
227
|
-
} else if (ext.platform) {
|
|
228
|
-
queryParamStrings.push('ph=' + ext.platform)
|
|
229
|
-
}
|
|
230
|
-
} else {
|
|
231
|
-
queryParamStrings.push('ph=' + DEFAULT_PH)
|
|
232
|
-
}
|
|
233
|
-
return [{
|
|
234
|
-
type: pixelType,
|
|
235
|
-
url: `${syncUrl}${queryParamStrings.length > 0 ? '?' + queryParamStrings.join('&') : ''}`
|
|
236
|
-
}];
|
|
237
|
-
}
|
|
238
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
# Overview
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
Module Name: OpenX Bidder Adapter
|
|
5
|
-
Module Type: Bidder Adapter
|
|
6
|
-
Maintainer: team-openx@openx.com
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
# Description
|
|
10
|
-
DEPRECATED. Use openxBidAdapter.
|
|
11
|
-
|
|
12
|
-
This adapter was originally an adapter used to test OpenX serving architecture changes.
|
|
13
|
-
This adapter now mirrors openxBidAdapter and this adapter will be removed in a future release. Please use openxBidAdapter.
|
|
14
|
-
Please note you should only include either openxBidAdapter or openxOrtbBidAdapter in your build.
|
|
15
|
-
|
|
16
|
-
# Bid Parameters
|
|
17
|
-
## Banner
|
|
18
|
-
|
|
19
|
-
| Name | Scope | Type | Description | Example
|
|
20
|
-
| ---- | ----- | ---- | ----------- | -------
|
|
21
|
-
| `delDomain` or `platform` | required | String | OpenX delivery domain or platform id provided by your OpenX representative. | "PUBLISHER-d.openx.net" or "555not5a-real-plat-form-id0123456789"
|
|
22
|
-
| `unit` | required | String | OpenX ad unit ID provided by your OpenX representative. | "1611023122"
|
|
23
|
-
| `customParams` | optional | Object | User-defined targeting key-value pairs. customParams applies to a specific unit. | `{key1: "v1", key2: ["v2","v3"]}`
|
|
24
|
-
| `customFloor` | optional | Number | Minimum price in USD. customFloor applies to a specific unit. For example, use the following value to set a $1.50 floor: 1.50 <br/><br/> **WARNING:**<br/> Misuse of this parameter can impact revenue | 1.50
|
|
25
|
-
| `doNotTrack` | optional | Boolean | Prevents advertiser from using data for this user. <br/><br/> **WARNING:**<br/> Request-level setting. May impact revenue. | true
|
|
26
|
-
| `coppa` | optional | Boolean | Enables Child's Online Privacy Protection Act (COPPA) regulations. Use of `pbjs.setConfig({coppa: true});` is now preferred. | true
|
|
27
|
-
|
|
28
|
-
## Video
|
|
29
|
-
|
|
30
|
-
| Name | Scope | Type | Description | Example
|
|
31
|
-
| ---- | ----- | ---- | ----------- | -------
|
|
32
|
-
| `unit` | required | String | OpenX ad unit ID provided by your OpenX representative. | "1611023122"
|
|
33
|
-
| `delDomain` | required | String | OpenX delivery domain provided by your OpenX representative. | "PUBLISHER-d.openx.net"
|
|
34
|
-
| `video` | optional | OpenRTB video subtypes | Use of adUnit.mediaTypes.video is now preferred. | `{ video: {mimes: ['video/mp4']}`
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
# Example
|
|
38
|
-
```javascript
|
|
39
|
-
var adUnits = [
|
|
40
|
-
{
|
|
41
|
-
code: 'test-div',
|
|
42
|
-
sizes: [[728, 90]], // a display size
|
|
43
|
-
mediaTypes: {'banner': {}},
|
|
44
|
-
bids: [
|
|
45
|
-
{
|
|
46
|
-
bidder: 'openx',
|
|
47
|
-
params: {
|
|
48
|
-
unit: '539439964',
|
|
49
|
-
delDomain: 'se-demo-d.openx.net',
|
|
50
|
-
customParams: {
|
|
51
|
-
key1: 'v1',
|
|
52
|
-
key2: ['v2', 'v3']
|
|
53
|
-
},
|
|
54
|
-
}
|
|
55
|
-
}, {
|
|
56
|
-
bidder: 'openx',
|
|
57
|
-
params: {
|
|
58
|
-
unit: '539439964',
|
|
59
|
-
platform: 'a3aece0c-9e80-4316-8deb-faf804779bd1',
|
|
60
|
-
customParams: {
|
|
61
|
-
key1: 'v1',
|
|
62
|
-
key2: ['v2', 'v3']
|
|
63
|
-
},
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
code: 'video1',
|
|
70
|
-
mediaTypes: {
|
|
71
|
-
video: {
|
|
72
|
-
playerSize: [640, 480],
|
|
73
|
-
context: 'instream',
|
|
74
|
-
mimes: ['video/x-ms-wmv, video/mp4']
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
bids: [{
|
|
78
|
-
bidder: 'openx',
|
|
79
|
-
params: {
|
|
80
|
-
unit: '1611023124',
|
|
81
|
-
delDomain: 'PUBLISHER-d.openx.net',
|
|
82
|
-
video: {
|
|
83
|
-
mimes: ['video/x-ms-wmv, video/mp4'] // mediaTypes.video preferred
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}]p
|
|
87
|
-
}
|
|
88
|
-
];
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
# Configuration
|
|
92
|
-
Add the following code to enable user syncing. By default, Prebid.js version 0.34.0+ turns off user syncing through iframes.
|
|
93
|
-
OpenX strongly recommends enabling user syncing through iframes. This functionality improves DSP user match rates and increases the
|
|
94
|
-
OpenX bid rate and bid price. Be sure to call `pbjs.setConfig()` only once.
|
|
95
|
-
|
|
96
|
-
```javascript
|
|
97
|
-
pbjs.setConfig({
|
|
98
|
-
userSync: {
|
|
99
|
-
iframeEnabled: true
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
# Additional Details
|
|
105
|
-
[Banner Ads](https://docs.openx.com/publishers/prebid-adapter-web/)
|
|
106
|
-
|
|
107
|
-
[Video Ads](https://docs.openx.com/publishers/prebid-adapter-video/)
|
|
108
|
-
|