prebid.js 5.14.0 → 5.18.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/.devcontainer/Dockerfile +11 -0
- package/.devcontainer/devcontainer.json +27 -0
- package/.devcontainer/postCreate.sh +6 -0
- package/allowedModules.js +2 -1
- package/integrationExamples/gpt/afpExample.html +242 -0
- package/integrationExamples/gpt/afpGamExample.html +152 -0
- package/integrationExamples/gpt/weboramaRtdProvider_example.html +126 -0
- package/modules/.submodules.json +29 -27
- package/modules/33acrossBidAdapter.js +23 -20
- package/modules/a4gBidAdapter.js +3 -3
- package/modules/ablidaBidAdapter.js +2 -2
- package/modules/adWMGBidAdapter.js +4 -4
- package/modules/adagioAnalyticsAdapter.js +4 -4
- package/modules/adagioBidAdapter.js +85 -82
- package/modules/adbookpspBidAdapter.js +56 -54
- package/modules/adfBidAdapter.js +24 -16
- package/modules/adgenerationBidAdapter.js +42 -18
- package/modules/adhashBidAdapter.js +105 -0
- package/modules/adhashBidAdapter.md +1 -1
- package/modules/adkernelAdnAnalyticsAdapter.js +6 -6
- package/modules/adkernelAdnBidAdapter.js +23 -23
- package/modules/adkernelBidAdapter.js +49 -44
- package/modules/adlooxAdServerVideo.js +26 -26
- package/modules/adlooxAnalyticsAdapter.js +38 -35
- package/modules/adlooxRtdProvider.js +49 -46
- package/modules/admanBidAdapter.js +4 -4
- package/modules/admixerBidAdapter.js +13 -2
- package/modules/admixerIdSystem.js +4 -4
- package/modules/adnowBidAdapter.js +4 -4
- package/modules/adnuntiusBidAdapter.js +6 -5
- package/modules/adoceanBidAdapter.js +10 -10
- package/modules/adpartnerBidAdapter.js +3 -3
- package/modules/adpod.js +45 -42
- package/modules/adprimeBidAdapter.js +4 -4
- package/modules/adqueryBidAdapter.js +204 -0
- package/modules/adqueryBidAdapter.md +32 -0
- package/modules/adrelevantisBidAdapter.js +30 -27
- package/modules/adriverBidAdapter.js +13 -13
- package/modules/adtargetBidAdapter.js +24 -24
- package/modules/adtelligentBidAdapter.js +29 -29
- package/modules/adtrueBidAdapter.js +35 -35
- package/modules/aduptechBidAdapter.js +10 -10
- package/modules/advangelistsBidAdapter.js +14 -14
- package/modules/adxcgAnalyticsAdapter.js +5 -5
- package/modules/adxcgBidAdapter.js +56 -56
- package/modules/adxpremiumAnalyticsAdapter.js +17 -17
- package/modules/adyoulikeBidAdapter.js +11 -11
- package/modules/afpBidAdapter.js +166 -0
- package/modules/afpBidAdapter.md +348 -0
- package/modules/ajaBidAdapter.js +12 -12
- package/modules/akamaiDAPIdSystem.js +9 -9
- package/modules/aniviewBidAdapter.js +2 -2
- package/modules/aolBidAdapter.js +15 -14
- package/modules/apacdexBidAdapter.js +16 -16
- package/modules/appnexusBidAdapter.js +59 -59
- package/modules/apstreamBidAdapter.js +5 -5
- package/modules/asoBidAdapter.js +30 -30
- package/modules/astraoneBidAdapter.js +2 -2
- package/modules/atsAnalyticsAdapter.js +35 -30
- package/modules/audiencerunBidAdapter.js +15 -15
- package/modules/automatadBidAdapter.js +2 -2
- package/modules/axonixBidAdapter.js +7 -7
- package/modules/beachfrontBidAdapter.js +23 -23
- package/modules/beopBidAdapter.js +22 -22
- package/modules/bidViewabilityIO.js +7 -7
- package/modules/bidglassBidAdapter.js +8 -8
- package/modules/bidscubeBidAdapter.js +3 -3
- package/modules/bizzclickBidAdapter.js +10 -10
- package/modules/bliinkBidAdapter.js +58 -32
- package/modules/bliinkBidAdapter.md +29 -6
- package/modules/bluebillywigBidAdapter.js +30 -30
- package/modules/boldwinBidAdapter.js +4 -4
- package/modules/braveBidAdapter.js +5 -5
- package/modules/bridgewellBidAdapter.js +5 -5
- package/modules/brightMountainMediaBidAdapter.js +10 -10
- package/modules/brightcomBidAdapter.js +18 -18
- package/modules/britepoolIdSystem.js +7 -7
- package/modules/browsiRtdProvider.js +8 -8
- package/modules/bucksenseBidAdapter.js +9 -9
- package/modules/buzzoolaBidAdapter.js +4 -4
- package/modules/byDataAnalyticsAdapter.js +12 -12
- package/modules/ccxBidAdapter.js +38 -38
- package/modules/cleanmedianetBidAdapter.js +9 -9
- package/modules/clickforceBidAdapter.js +4 -4
- package/modules/cointrafficBidAdapter.js +4 -4
- package/modules/coinzillaBidAdapter.js +2 -2
- package/modules/colossussspBidAdapter.js +7 -3
- package/modules/concertAnalyticsAdapter.js +3 -3
- package/modules/concertBidAdapter.js +16 -17
- package/modules/connectadBidAdapter.js +13 -13
- package/modules/consentManagement.js +29 -28
- package/modules/consentManagementUsp.js +14 -14
- package/modules/consumableBidAdapter.js +3 -3
- package/modules/contentexchangeBidAdapter.js +5 -5
- package/modules/conversantBidAdapter.js +32 -31
- package/modules/cpmstarBidAdapter.js +8 -9
- package/modules/craftBidAdapter.js +10 -10
- package/modules/criteoBidAdapter.js +16 -16
- package/modules/criteoIdSystem.js +5 -5
- package/modules/currency.js +18 -18
- package/modules/cwireBidAdapter.js +272 -0
- package/modules/cwireBidAdapter.md +43 -0
- package/modules/datablocksBidAdapter.js +12 -12
- package/modules/deepintentBidAdapter.js +13 -13
- package/modules/dgkeywordRtdProvider.js +10 -11
- package/modules/districtmDMXBidAdapter.js +15 -15
- package/modules/dmdIdSystem.js +5 -5
- package/modules/docereeBidAdapter.js +9 -9
- package/modules/dspxBidAdapter.js +5 -5
- package/modules/ebdrBidAdapter.js +9 -9
- package/modules/emx_digitalBidAdapter.js +23 -23
- package/modules/enrichmentFpdModule.js +10 -9
- package/modules/eplanningAnalyticsAdapter.js +2 -2
- package/modules/eplanningBidAdapter.js +10 -10
- package/modules/etargetBidAdapter.js +4 -4
- package/modules/express.js +9 -10
- package/modules/fabrickIdSystem.js +6 -6
- package/modules/feedadBidAdapter.js +5 -5
- package/modules/fintezaAnalyticsAdapter.js +4 -4
- package/modules/flocIdSystem.js +5 -5
- package/modules/fluctBidAdapter.js +6 -5
- package/modules/freewheel-sspBidAdapter.js +6 -6
- package/modules/gamoshiBidAdapter.js +22 -22
- package/modules/gdprEnforcement.js +13 -14
- package/modules/getintentBidAdapter.js +3 -4
- package/modules/glimpseBidAdapter.js +160 -48
- package/modules/glimpseBidAdapter.md +11 -74
- package/modules/gmosspBidAdapter.js +17 -17
- package/modules/gnetBidAdapter.js +5 -5
- package/modules/googleAnalyticsAdapter.js +6 -6
- package/modules/gothamadsBidAdapter.js +9 -9
- package/modules/gptPreAuction.js +7 -7
- package/modules/gridBidAdapter.js +15 -16
- package/modules/gridNMBidAdapter.js +214 -63
- package/modules/growadvertisingBidAdapter.js +7 -8
- package/modules/gumgumBidAdapter.js +19 -13
- package/modules/h12mediaBidAdapter.js +12 -12
- package/modules/haloIdSystem.js +8 -8
- package/modules/hybridBidAdapter.js +7 -7
- package/modules/iasRtdProvider.js +79 -63
- package/modules/id5IdSystem.js +24 -24
- package/modules/idImportLibrary.js +35 -35
- package/modules/idxIdSystem.js +3 -3
- package/modules/impactifyBidAdapter.js +10 -10
- package/modules/improvedigitalBidAdapter.js +36 -36
- package/modules/imuIdSystem.js +6 -6
- package/modules/inmarBidAdapter.js +2 -2
- package/modules/innityBidAdapter.js +3 -3
- package/modules/inskinBidAdapter.js +14 -2
- package/modules/inskinBidAdapter.md +5 -4
- package/modules/instreamTracking.js +5 -5
- package/modules/integr8BidAdapter.js +4 -4
- package/modules/intentIqIdSystem.js +7 -7
- package/modules/interactiveOffersBidAdapter.js +5 -5
- package/modules/invibesBidAdapter.js +53 -19
- package/modules/invisiblyAnalyticsAdapter.js +5 -5
- package/modules/iqmBidAdapter.js +19 -19
- package/modules/iqzoneBidAdapter.js +5 -5
- package/modules/ixBidAdapter.js +73 -73
- package/modules/jixieBidAdapter.js +6 -6
- package/modules/justpremiumBidAdapter.js +5 -1
- package/modules/kargoBidAdapter.js +16 -9
- package/modules/kargoBidAdapter.md +20 -0
- package/modules/kinessoIdSystem.js +8 -8
- package/modules/koblerBidAdapter.js +12 -12
- package/modules/konduitAnalyticsAdapter.js +4 -4
- package/modules/konduitWrapper.js +14 -14
- package/modules/krushmediaBidAdapter.js +4 -4
- package/modules/kubientBidAdapter.js +5 -5
- package/modules/limelightDigitalBidAdapter.js +4 -4
- package/modules/liveIntentIdSystem.js +4 -5
- package/modules/livewrappedAnalyticsAdapter.js +27 -15
- package/modules/livewrappedBidAdapter.js +7 -7
- package/modules/liveyieldAnalyticsAdapter.js +13 -13
- package/modules/lockerdomeBidAdapter.js +2 -2
- package/modules/loganBidAdapter.js +4 -4
- package/modules/lotamePanoramaIdSystem.js +13 -13
- package/modules/lunamediahbBidAdapter.js +2 -2
- package/modules/madvertiseBidAdapter.js +3 -3
- package/modules/marsmediaBidAdapter.js +26 -26
- package/modules/mathildeadsBidAdapter.js +5 -5
- package/modules/mediaforceBidAdapter.js +11 -11
- package/modules/mediakeysBidAdapter.js +444 -53
- package/modules/mediakeysBidAdapter.md +108 -0
- package/modules/medianetAnalyticsAdapter.js +48 -125
- package/modules/medianetBidAdapter.js +38 -33
- package/modules/medianetRtdProvider.js +7 -7
- package/modules/merkleIdSystem.js +19 -19
- package/modules/mgidBidAdapter.js +50 -50
- package/modules/microadBidAdapter.js +3 -3
- package/modules/multibid/index.js +15 -13
- package/modules/mwOpenLinkIdSystem.js +7 -7
- package/modules/mytargetBidAdapter.js +112 -0
- package/modules/nativoBidAdapter.js +46 -31
- package/modules/nativoBidAdapter.md +0 -1
- package/modules/naveggIdSystem.js +3 -3
- package/modules/nextMillenniumBidAdapter.js +6 -6
- package/modules/nextrollBidAdapter.js +375 -0
- package/modules/nobidBidAdapter.js +12 -11
- package/modules/novatiqIdSystem.js +8 -8
- package/modules/oguryBidAdapter.js +22 -6
- package/modules/oneVideoBidAdapter.js +20 -20
- package/modules/onomagicBidAdapter.js +16 -16
- package/modules/ooloAnalyticsAdapter.js +13 -13
- package/modules/openwebBidAdapter.js +26 -26
- package/modules/openxAnalyticsAdapter.js +33 -33
- package/modules/openxBidAdapter.js +29 -29
- package/modules/operaadsBidAdapter.js +53 -53
- package/modules/optimeraRtdProvider.js +9 -9
- package/modules/optoutBidAdapter.js +3 -3
- package/modules/orbidderBidAdapter.js +3 -3
- package/modules/outbrainBidAdapter.js +13 -13
- package/modules/ozoneBidAdapter.js +131 -131
- package/modules/padsquadBidAdapter.js +4 -4
- package/modules/parrableIdSystem.js +17 -17
- package/modules/pixfutureBidAdapter.js +45 -25
- package/modules/pixfutureBidAdapter.md +127 -0
- package/modules/prebidServerBidAdapter/index.js +109 -105
- package/modules/prebidmanagerAnalyticsAdapter.js +7 -7
- package/modules/priceFloors.js +47 -47
- package/modules/proxistoreBidAdapter.js +6 -8
- package/modules/pubCommonId.js +11 -11
- package/modules/pubProvidedIdSystem.js +3 -3
- package/modules/publinkIdSystem.js +23 -7
- package/modules/publinkIdSystem.md +7 -2
- package/modules/pubmaticAnalyticsAdapter.js +16 -16
- package/modules/pubmaticBidAdapter.js +109 -93
- package/modules/pubmaticBidAdapter.md +1 -1
- package/modules/pubperfAnalyticsAdapter.js +3 -3
- package/modules/pubwiseAnalyticsAdapter.js +6 -6
- package/modules/pubwiseBidAdapter.js +23 -23
- package/modules/pubxBidAdapter.js +2 -2
- package/modules/pubxaiAnalyticsAdapter.js +7 -7
- package/modules/pulsepointBidAdapter.js +13 -13
- package/modules/pxyzBidAdapter.js +7 -7
- package/modules/quantcastBidAdapter.js +16 -16
- package/modules/radsBidAdapter.js +5 -5
- package/modules/realvuAnalyticsAdapter.js +5 -7
- package/modules/reconciliationRtdProvider.js +6 -6
- package/modules/relaidoBidAdapter.js +44 -38
- package/modules/resetdigitalBidAdapter.js +3 -4
- package/modules/revcontentBidAdapter.js +9 -9
- package/modules/rhythmoneBidAdapter.js +17 -16
- package/modules/richaudienceBidAdapter.js +9 -9
- package/modules/riseBidAdapter.js +26 -26
- package/modules/riseBidAdapter.md +1 -3
- package/modules/roxotAnalyticsAdapter.js +14 -14
- package/modules/rtbhouseBidAdapter.js +7 -7
- package/modules/rtbsapeBidAdapter.js +3 -4
- package/modules/rtdModule/index.js +3 -3
- package/modules/rubiconAnalyticsAdapter.js +82 -82
- package/modules/rubiconBidAdapter.js +72 -68
- package/modules/scaleableAnalyticsAdapter.js +2 -2
- package/modules/seedingAllianceBidAdapter.js +231 -0
- package/modules/seedtagBidAdapter.js +10 -10
- package/modules/sharedIdSystem.js +11 -11
- package/modules/sharethroughAnalyticsAdapter.js +8 -8
- package/modules/sharethroughBidAdapter.js +20 -27
- package/modules/showheroes-bsBidAdapter.js +23 -23
- package/modules/sigmoidAnalyticsAdapter.js +4 -5
- package/modules/sirdataRtdProvider.js +34 -34
- package/modules/sizeMappingV2.js +39 -39
- package/modules/slimcutBidAdapter.js +121 -0
- package/modules/smaatoBidAdapter.js +44 -44
- package/modules/smartadserverBidAdapter.js +7 -7
- package/modules/smartxBidAdapter.js +72 -72
- package/modules/smartyadsBidAdapter.js +2 -2
- package/modules/smilewantedBidAdapter.js +6 -6
- package/modules/sonobiAnalyticsAdapter.js +23 -23
- package/modules/sortableAnalyticsAdapter.js +5 -5
- package/modules/sortableBidAdapter.js +28 -28
- package/modules/sovrnAnalyticsAdapter.js +5 -5
- package/modules/sovrnBidAdapter.js +22 -22
- package/modules/spotxBidAdapter.js +97 -83
- package/modules/sspBCBidAdapter.js +216 -21
- package/modules/sspBCBidAdapter.md +1 -1
- package/modules/staqAnalyticsAdapter.js +9 -9
- package/modules/stroeerCoreBidAdapter.js +16 -16
- package/modules/sublimeBidAdapter.js +6 -6
- package/modules/talkadsBidAdapter.js +129 -0
- package/modules/talkadsBidAdapter.md +60 -0
- package/modules/tapadIdSystem.js +3 -3
- package/modules/tappxBidAdapter.js +63 -64
- package/modules/teadsBidAdapter.js +20 -20
- package/modules/telariaBidAdapter.js +17 -17
- package/modules/temedyaBidAdapter.js +4 -4
- package/modules/terceptAnalyticsAdapter.js +4 -4
- package/modules/theAdxBidAdapter.js +16 -16
- package/modules/timeoutRtdProvider.js +15 -15
- package/modules/tpmnBidAdapter.js +3 -3
- package/modules/trionBidAdapter.js +15 -15
- package/modules/tripleliftBidAdapter.js +27 -24
- package/modules/truereachBidAdapter.js +4 -4
- package/modules/trustxBidAdapter.js +22 -18
- package/modules/ucfunnelBidAdapter.js +3 -3
- package/modules/uid2IdSystem.js +6 -6
- package/modules/underdogmediaBidAdapter.js +4 -4
- package/modules/unicornBidAdapter.js +15 -15
- package/modules/unifiedIdSystem.js +4 -4
- package/modules/unrulyBidAdapter.js +16 -16
- package/modules/userId/eids.js +9 -9
- package/modules/userId/index.js +37 -35
- package/modules/validationFpdModule/index.js +15 -15
- package/modules/vdoaiBidAdapter.js +2 -2
- package/modules/verizonMediaIdSystem.js +5 -5
- package/modules/vidazooBidAdapter.js +5 -5
- package/modules/videobyteBidAdapter.js +24 -24
- package/modules/videoreachBidAdapter.js +7 -7
- package/modules/vidoomyBidAdapter.js +105 -22
- package/modules/viewdeosDXBidAdapter.js +17 -17
- package/modules/visxBidAdapter.js +21 -29
- package/modules/voxBidAdapter.js +7 -7
- package/modules/vuukleBidAdapter.js +2 -2
- package/modules/waardexBidAdapter.js +26 -26
- package/modules/weboramaRtdProvider.js +174 -0
- package/modules/weboramaRtdProvider.md +70 -0
- package/modules/winrBidAdapter.js +27 -27
- package/modules/wipesBidAdapter.js +2 -2
- package/modules/yahoosspBidAdapter.js +637 -0
- package/modules/yahoosspBidAdapter.md +795 -0
- package/modules/yieldlabBidAdapter.js +57 -12
- package/modules/yieldlabBidAdapter.md +16 -1
- package/modules/yieldliftBidAdapter.js +9 -9
- package/modules/yieldmoBidAdapter.js +64 -50
- package/modules/yieldoneAnalyticsAdapter.js +6 -6
- package/modules/yieldoneBidAdapter.js +11 -11
- package/modules/yuktamediaAnalyticsAdapter.js +15 -15
- package/modules/zeotapIdPlusIdSystem.js +2 -2
- package/modules/zetaBidAdapter.js +6 -6
- package/modules/zeta_global_sspBidAdapter.js +14 -14
- package/package.json +1 -1
- package/src/AnalyticsAdapter.js +6 -6
- package/src/Renderer.js +10 -8
- package/src/adapterManager.js +45 -42
- package/src/adloader.js +6 -6
- package/src/ajax.js +8 -9
- package/src/auction.js +26 -23
- package/src/bidfactory.js +2 -2
- package/src/config.js +52 -50
- package/src/cpmBucketManager.js +2 -2
- package/src/prebid.js +85 -81
- package/src/storageManager.js +5 -5
- package/src/targeting.js +25 -26
- package/src/userSync.js +35 -22
- package/src/videoCache.js +2 -2
- package/test/.eslintrc.js +2 -1
- package/test/spec/modules/adfBidAdapter_spec.js +55 -0
- package/test/spec/modules/adgenerationBidAdapter_spec.js +121 -50
- package/test/spec/modules/adhashBidAdapter_spec.js +155 -0
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +68 -0
- package/test/spec/modules/adqueryBidAdapter_spec.js +185 -0
- package/test/spec/modules/afpBidAdapter_spec.js +306 -0
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +37 -2
- package/test/spec/modules/bliinkBidAdapter_spec.js +87 -36
- package/test/spec/modules/colossussspBidAdapter_spec.js +14 -6
- package/test/spec/modules/cwireBidAdapter_spec.js +246 -0
- package/test/spec/modules/eplanningBidAdapter_spec.js +3 -3
- package/test/spec/modules/glimpseBidAdapter_spec.js +302 -204
- package/test/spec/modules/gridBidAdapter_spec.js +38 -2
- package/test/spec/modules/gridNMBidAdapter_spec.js +121 -47
- package/test/spec/modules/gumgumBidAdapter_spec.js +27 -6
- package/test/spec/modules/iasRtdProvider_spec.js +71 -6
- package/test/spec/modules/inskinBidAdapter_spec.js +10 -1
- package/test/spec/modules/invibesBidAdapter_spec.js +114 -2
- package/test/spec/modules/justpremiumBidAdapter_spec.js +16 -2
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +33 -7
- package/test/spec/modules/mediakeysBidAdapter_spec.js +406 -51
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +39 -7
- package/test/spec/modules/medianetBidAdapter_spec.js +62 -1
- package/test/spec/modules/mytargetBidAdapter_spec.js +199 -0
- package/test/spec/modules/nativoBidAdapter_spec.js +50 -3
- package/test/spec/modules/nextrollBidAdapter_spec.js +290 -0
- package/test/spec/modules/nobidBidAdapter_spec.js +65 -1
- package/test/spec/modules/oguryBidAdapter_spec.js +120 -7
- package/test/spec/modules/publinkIdSystem_spec.js +42 -12
- package/test/spec/modules/pubmaticBidAdapter_spec.js +217 -1
- package/test/spec/modules/relaidoBidAdapter_spec.js +21 -20
- package/test/spec/modules/rubiconAnalyticsAdapter_spec.js +100 -81
- package/test/spec/modules/rubiconAnalyticsSchema.json +5 -2
- package/test/spec/modules/seedingAllianceAdapter_spec.js +186 -0
- package/test/spec/modules/sharethroughBidAdapter_spec.js +156 -136
- package/test/spec/modules/slimcutBidAdapter_spec.js +200 -0
- package/test/spec/modules/spotxBidAdapter_spec.js +36 -0
- package/test/spec/modules/sspBCBidAdapter_spec.js +210 -62
- package/test/spec/modules/talkadsBidAdapter_spec.js +231 -0
- package/test/spec/modules/tappxBidAdapter_spec.js +39 -3
- package/test/spec/modules/tripleliftBidAdapter_spec.js +2 -0
- package/test/spec/modules/trustxBidAdapter_spec.js +35 -2
- package/test/spec/modules/unicornBidAdapter_spec.js +4 -4
- package/test/spec/modules/visxBidAdapter_spec.js +48 -4
- package/test/spec/modules/weboramaRtdProvider_spec.js +288 -0
- package/test/spec/modules/yahoosspBidAdapter_spec.js +1332 -0
- package/test/spec/modules/yieldlabBidAdapter_spec.js +65 -1
- package/test/spec/modules/yieldmoBidAdapter_spec.js +30 -9
- package/test/spec/unit/pbjs_api_spec.js +4 -0
- package/test/spec/userSync_spec.js +30 -2
- package/modules/turktelekomBidAdapter.md +0 -49
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { deepClone, getBidRequest, deepAccess } from '../src/utils.js';
|
|
1
2
|
import { config } from '../src/config.js';
|
|
2
3
|
import { auctionManager } from '../src/auctionManager.js';
|
|
3
4
|
import { INSTREAM } from '../src/video.js';
|
|
4
5
|
import * as events from '../src/events.js';
|
|
5
|
-
import * as utils from '../src/utils.js';
|
|
6
6
|
import { BID_STATUS, EVENTS, TARGETING_KEYS } from '../src/constants.json';
|
|
7
7
|
|
|
8
8
|
const {CACHE_ID, UUID} = TARGETING_KEYS;
|
|
@@ -17,7 +17,7 @@ const INSTREAM_TRACKING_DEFAULT_CONFIG = {
|
|
|
17
17
|
|
|
18
18
|
// Set instreamTracking default values
|
|
19
19
|
config.setDefaults({
|
|
20
|
-
'instreamTracking':
|
|
20
|
+
'instreamTracking': deepClone(INSTREAM_TRACKING_DEFAULT_CONFIG)
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
const whitelistedResources = /video|fetch|xmlhttprequest|other/;
|
|
@@ -50,8 +50,8 @@ export function trackInstreamDeliveredImpressions({adUnits, bidsReceived, bidder
|
|
|
50
50
|
|
|
51
51
|
// filter for video bids
|
|
52
52
|
const instreamBids = bidsReceived.filter(bid => {
|
|
53
|
-
const bidderRequest =
|
|
54
|
-
return bidderRequest &&
|
|
53
|
+
const bidderRequest = getBidRequest(bid.requestId, bidderRequests);
|
|
54
|
+
return bidderRequest && deepAccess(bidderRequest, 'mediaTypes.video.context') === INSTREAM && bid.videoCacheKey;
|
|
55
55
|
});
|
|
56
56
|
if (!instreamBids.length) {
|
|
57
57
|
return false;
|
|
@@ -60,7 +60,7 @@ export function trackInstreamDeliveredImpressions({adUnits, bidsReceived, bidder
|
|
|
60
60
|
// find unique instream ad units
|
|
61
61
|
const instreamAdUnitMap = {};
|
|
62
62
|
adUnits.forEach(adUnit => {
|
|
63
|
-
if (!instreamAdUnitMap[adUnit.code] &&
|
|
63
|
+
if (!instreamAdUnitMap[adUnit.code] && deepAccess(adUnit, 'mediaTypes.video.context') === INSTREAM) {
|
|
64
64
|
instreamAdUnitMap[adUnit.code] = true;
|
|
65
65
|
}
|
|
66
66
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { deepAccess, isFn, isPlainObject } from '../src/utils.js';
|
|
1
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
2
3
|
import { getStorageManager } from '../src/storageManager.js';
|
|
3
4
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
4
|
-
import * as utils from '../src/utils.js';
|
|
5
5
|
|
|
6
6
|
const BIDDER_CODE = 'integr8';
|
|
7
7
|
const ENDPOINT_URL = 'https://integr8.central.gjirafa.tech/bid';
|
|
@@ -62,7 +62,7 @@ export const spec = {
|
|
|
62
62
|
placementId: bidRequest.params.placementId,
|
|
63
63
|
bidid: bidRequest.bidId,
|
|
64
64
|
count: bidRequest.params.count,
|
|
65
|
-
skipTime:
|
|
65
|
+
skipTime: deepAccess(bidRequest, 'mediaTypes.video.skipafter', bidRequest.params.skipTime),
|
|
66
66
|
floor: getBidFloor(bidRequest)
|
|
67
67
|
};
|
|
68
68
|
});
|
|
@@ -130,7 +130,7 @@ function generateSizeParam(sizes) {
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
export function getBidFloor(bid) {
|
|
133
|
-
if (!
|
|
133
|
+
if (!isFn(bid.getFloor)) {
|
|
134
134
|
return null;
|
|
135
135
|
}
|
|
136
136
|
|
|
@@ -140,7 +140,7 @@ export function getBidFloor(bid) {
|
|
|
140
140
|
size: '*'
|
|
141
141
|
});
|
|
142
142
|
|
|
143
|
-
if (
|
|
143
|
+
if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'EUR') {
|
|
144
144
|
return floor.floor;
|
|
145
145
|
}
|
|
146
146
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @requires module:modules/userId
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
import { logError, logInfo } from '../src/utils.js';
|
|
9
9
|
import {ajax} from '../src/ajax.js';
|
|
10
10
|
import {submodule} from '../src/hook.js'
|
|
11
11
|
import {getStorageManager} from '../src/storageManager.js';
|
|
@@ -47,7 +47,7 @@ export function readData(key) {
|
|
|
47
47
|
return storage.getCookie(key);
|
|
48
48
|
}
|
|
49
49
|
} catch (error) {
|
|
50
|
-
|
|
50
|
+
logError(error);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -59,7 +59,7 @@ export function readData(key) {
|
|
|
59
59
|
*/
|
|
60
60
|
function storeData(key, value) {
|
|
61
61
|
try {
|
|
62
|
-
|
|
62
|
+
logInfo(MODULE_NAME + ': storing data: key=' + key + ' value=' + value);
|
|
63
63
|
|
|
64
64
|
if (value) {
|
|
65
65
|
if (storage.hasLocalStorage()) {
|
|
@@ -71,7 +71,7 @@ function storeData(key, value) {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
} catch (error) {
|
|
74
|
-
|
|
74
|
+
logError(error);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -84,7 +84,7 @@ function tryParse(data) {
|
|
|
84
84
|
try {
|
|
85
85
|
return JSON.parse(data);
|
|
86
86
|
} catch (err) {
|
|
87
|
-
|
|
87
|
+
logError(err);
|
|
88
88
|
return null;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -114,7 +114,7 @@ export const intentIqIdSubmodule = {
|
|
|
114
114
|
getId(config) {
|
|
115
115
|
const configParams = (config && config.params) || {};
|
|
116
116
|
if (!configParams || typeof configParams.partner !== 'number') {
|
|
117
|
-
|
|
117
|
+
logError('User ID - intentIqId submodule requires a valid partner to be defined');
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -155,7 +155,7 @@ export const intentIqIdSubmodule = {
|
|
|
155
155
|
}
|
|
156
156
|
},
|
|
157
157
|
error: error => {
|
|
158
|
-
|
|
158
|
+
logError(MODULE_NAME + ': ID fetch encountered an error', error);
|
|
159
159
|
callback();
|
|
160
160
|
}
|
|
161
161
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { logWarn, isNumber } from '../src/utils.js';
|
|
1
2
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
2
3
|
import {BANNER} from '../src/mediaTypes.js';
|
|
3
4
|
import {config} from '../src/config.js';
|
|
4
|
-
import * as utils from '../src/utils.js';
|
|
5
5
|
|
|
6
6
|
const BIDDER_CODE = 'interactiveOffers';
|
|
7
7
|
const ENDPOINT = 'https://prebid.ioadx.com/bidRequest/?partnerId=';
|
|
@@ -36,15 +36,15 @@ export const spec = {
|
|
|
36
36
|
let ret = true;
|
|
37
37
|
if (bid && bid.params) {
|
|
38
38
|
if (!bid.params.partnerId) {
|
|
39
|
-
|
|
39
|
+
logWarn('partnerId must be a valid ID');
|
|
40
40
|
ret = false;
|
|
41
41
|
}
|
|
42
|
-
if (bid.params.tmax && !
|
|
43
|
-
|
|
42
|
+
if (bid.params.tmax && !isNumber(bid.params.tmax)) {
|
|
43
|
+
logWarn('tmax must be a valid numeric ID');
|
|
44
44
|
ret = false;
|
|
45
45
|
}
|
|
46
46
|
} else {
|
|
47
|
-
|
|
47
|
+
logWarn('invalid request');
|
|
48
48
|
ret = false;
|
|
49
49
|
}
|
|
50
50
|
return ret;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { logInfo } from '../src/utils.js';
|
|
2
2
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import {getStorageManager} from '../src/storageManager.js';
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ const CONSTANTS = {
|
|
|
8
8
|
SYNC_ENDPOINT: 'https://k.r66net.com/GetUserSync',
|
|
9
9
|
TIME_TO_LIVE: 300,
|
|
10
10
|
DEFAULT_CURRENCY: 'EUR',
|
|
11
|
-
PREBID_VERSION:
|
|
11
|
+
PREBID_VERSION: 7,
|
|
12
12
|
METHOD: 'GET',
|
|
13
13
|
INVIBES_VENDOR_ID: 436,
|
|
14
14
|
USERID_PROVIDERS: ['pubcid', 'pubProvidedId', 'uid2', 'zeotapIdPlus', 'id5id'],
|
|
@@ -57,14 +57,11 @@ const topWin = getTopMostWindow();
|
|
|
57
57
|
let invibes = topWin.invibes = topWin.invibes || {};
|
|
58
58
|
invibes.purposes = invibes.purposes || [false, false, false, false, false, false, false, false, false, false];
|
|
59
59
|
invibes.legitimateInterests = invibes.legitimateInterests || [false, false, false, false, false, false, false, false, false, false];
|
|
60
|
+
invibes.placementBids = invibes.placementBids || [];
|
|
61
|
+
invibes.pushedCids = invibes.pushedCids || {};
|
|
60
62
|
let _customUserSync;
|
|
61
63
|
|
|
62
64
|
function isBidRequestValid(bid) {
|
|
63
|
-
if (invibes && typeof invibes.bidResponse === 'object') {
|
|
64
|
-
utils.logInfo('Invibes Adapter - Bid response already received. Invibes only responds to one bid request per user visit');
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
65
|
if (typeof bid.params !== 'object') {
|
|
69
66
|
return false;
|
|
70
67
|
}
|
|
@@ -117,6 +114,7 @@ function buildRequest(bidRequests, bidderRequest) {
|
|
|
117
114
|
|
|
118
115
|
bidParamsJson: JSON.stringify(bidParamsJson),
|
|
119
116
|
capCounts: getCappedCampaignsAsString(),
|
|
117
|
+
pcids: Object.keys(invibes.pushedCids).join(','),
|
|
120
118
|
|
|
121
119
|
vId: invibes.visitId,
|
|
122
120
|
width: topWin.innerWidth,
|
|
@@ -157,12 +155,12 @@ function buildRequest(bidRequests, bidderRequest) {
|
|
|
157
155
|
|
|
158
156
|
function handleResponse(responseObj, bidRequests) {
|
|
159
157
|
if (bidRequests == null || bidRequests.length === 0) {
|
|
160
|
-
|
|
158
|
+
logInfo('Invibes Adapter - No bids have been requested');
|
|
161
159
|
return [];
|
|
162
160
|
}
|
|
163
161
|
|
|
164
162
|
if (!responseObj) {
|
|
165
|
-
|
|
163
|
+
logInfo('Invibes Adapter - Bid response is empty');
|
|
166
164
|
return [];
|
|
167
165
|
}
|
|
168
166
|
|
|
@@ -170,16 +168,25 @@ function handleResponse(responseObj, bidRequests) {
|
|
|
170
168
|
responseObj = responseObj.videoAdContentResult || responseObj;
|
|
171
169
|
|
|
172
170
|
if (typeof invibes.bidResponse === 'object') {
|
|
173
|
-
|
|
174
|
-
|
|
171
|
+
if (responseObj.MultipositionEnabled === true) {
|
|
172
|
+
invibes.bidResponse.AdPlacements = invibes.bidResponse.AdPlacements.concat(responseObj.AdPlacements);
|
|
173
|
+
} else {
|
|
174
|
+
logInfo('Invibes Adapter - Bid response already received. Invibes only responds to one bid request per user visit');
|
|
175
|
+
return [];
|
|
176
|
+
}
|
|
177
|
+
} else {
|
|
178
|
+
invibes.bidResponse = responseObj;
|
|
175
179
|
}
|
|
176
180
|
|
|
177
|
-
invibes.bidResponse = responseObj;
|
|
178
|
-
|
|
179
181
|
const bidResponses = [];
|
|
180
182
|
for (let i = 0; i < bidRequests.length; i++) {
|
|
181
183
|
let bidRequest = bidRequests[i];
|
|
182
184
|
|
|
185
|
+
if (invibes.placementBids.indexOf(bidRequest.params.placementId) > -1) {
|
|
186
|
+
logInfo('Invibes Adapter - Placement was previously bid on ' + bidRequest.params.placementId);
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
|
|
183
190
|
let requestPlacement = null;
|
|
184
191
|
if (responseObj.AdPlacements != null) {
|
|
185
192
|
for (let j = 0; j < responseObj.AdPlacements.length; j++) {
|
|
@@ -196,8 +203,9 @@ function handleResponse(responseObj, bidRequests) {
|
|
|
196
203
|
}
|
|
197
204
|
}
|
|
198
205
|
|
|
199
|
-
let bid = createBid(bidRequest, requestPlacement);
|
|
206
|
+
let bid = createBid(bidRequest, requestPlacement, responseObj.MultipositionEnabled);
|
|
200
207
|
if (bid !== null) {
|
|
208
|
+
invibes.placementBids.push(bidRequest.params.placementId);
|
|
201
209
|
bidResponses.push(bid);
|
|
202
210
|
}
|
|
203
211
|
}
|
|
@@ -205,9 +213,9 @@ function handleResponse(responseObj, bidRequests) {
|
|
|
205
213
|
return bidResponses;
|
|
206
214
|
}
|
|
207
215
|
|
|
208
|
-
function createBid(bidRequest, requestPlacement) {
|
|
216
|
+
function createBid(bidRequest, requestPlacement, multipositionEnabled) {
|
|
209
217
|
if (requestPlacement === null || requestPlacement.BidModel === null) {
|
|
210
|
-
|
|
218
|
+
logInfo('Invibes Adapter - Placement not configured for bidding ' + bidRequest.params.placementId);
|
|
211
219
|
return null;
|
|
212
220
|
}
|
|
213
221
|
|
|
@@ -215,18 +223,42 @@ function createBid(bidRequest, requestPlacement) {
|
|
|
215
223
|
let ads = requestPlacement.Ads;
|
|
216
224
|
if (!Array.isArray(ads) || ads.length < 1) {
|
|
217
225
|
if (requestPlacement.AdReason != null) {
|
|
218
|
-
|
|
226
|
+
logInfo('Invibes Adapter - No ads ' + requestPlacement.AdReason);
|
|
219
227
|
}
|
|
220
228
|
|
|
221
|
-
|
|
229
|
+
logInfo('Invibes Adapter - No ads available');
|
|
222
230
|
return null;
|
|
223
231
|
}
|
|
224
232
|
|
|
225
233
|
let ad = ads[0];
|
|
226
234
|
let size = getBiggerSize(bidRequest.sizes);
|
|
227
235
|
|
|
236
|
+
if (multipositionEnabled === true) {
|
|
237
|
+
if (Object.keys(invibes.pushedCids).length > 0) {
|
|
238
|
+
if (ad.Blcids != null && ad.Blcids.length > 0) {
|
|
239
|
+
let blacklistsPushedCids = Object.keys(invibes.pushedCids).some(function(pushedCid) {
|
|
240
|
+
return ad.Blcids.indexOf(parseInt(pushedCid)) > -1;
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
if (blacklistsPushedCids) {
|
|
244
|
+
logInfo('Invibes Adapter - Ad blacklists pushed ids');
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
let isBlacklisted = Object.keys(invibes.pushedCids).some(function(pushedCid) {
|
|
250
|
+
return invibes.pushedCids[pushedCid].indexOf(ad.Cid) > -1;
|
|
251
|
+
});
|
|
252
|
+
if (isBlacklisted) {
|
|
253
|
+
logInfo('Invibes Adapter - Ad is blacklisted');
|
|
254
|
+
return null;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
invibes.pushedCids[ad.Cid] = ad.Blcids || [];
|
|
228
260
|
const now = Date.now();
|
|
229
|
-
|
|
261
|
+
logInfo('Bid auction started at ' + bidModel.AuctionStartTime + ' . Invibes registered the bid at ' + now + ' ; bid request took a total of ' + (now - bidModel.AuctionStartTime) + ' ms.');
|
|
230
262
|
|
|
231
263
|
return {
|
|
232
264
|
requestId: bidRequest.bidId,
|
|
@@ -660,6 +692,8 @@ export function resetInvibes() {
|
|
|
660
692
|
invibes.dom = undefined;
|
|
661
693
|
invibes.bidResponse = undefined;
|
|
662
694
|
invibes.domainOptions = undefined;
|
|
695
|
+
invibes.placementBids = [];
|
|
696
|
+
invibes.pushedCids = {};
|
|
663
697
|
}
|
|
664
698
|
|
|
665
699
|
export function stubDomainOptions(persistence) {
|
|
@@ -5,11 +5,11 @@ import { ajaxBuilder } from '../src/ajax.js';
|
|
|
5
5
|
import adapter from '../src/AnalyticsAdapter.js';
|
|
6
6
|
import adapterManager from '../src/adapterManager.js';
|
|
7
7
|
|
|
8
|
+
import { generateUUID, logInfo } from '../src/utils.js';
|
|
9
|
+
|
|
8
10
|
const DEFAULT_EVENT_URL = 'https://api.pymx5.com/v1/' + 'sites/events';
|
|
9
11
|
const analyticsType = 'endpoint';
|
|
10
12
|
const analyticsName = 'Invisibly Analytics Adapter:';
|
|
11
|
-
|
|
12
|
-
const utils = require('../src/utils.js');
|
|
13
13
|
const CONSTANTS = require('../src/constants.json');
|
|
14
14
|
const ajax = ajaxBuilder(0);
|
|
15
15
|
|
|
@@ -33,7 +33,7 @@ const {
|
|
|
33
33
|
} = CONSTANTS;
|
|
34
34
|
|
|
35
35
|
const _VERSION = 1;
|
|
36
|
-
const _pageViewId =
|
|
36
|
+
const _pageViewId = generateUUID();
|
|
37
37
|
let initOptions = null;
|
|
38
38
|
let _startAuction = 0;
|
|
39
39
|
let _bidRequestTimeout = 0;
|
|
@@ -122,7 +122,7 @@ function flush() {
|
|
|
122
122
|
};
|
|
123
123
|
ajax(
|
|
124
124
|
initOptions.url,
|
|
125
|
-
() =>
|
|
125
|
+
() => logInfo(`${analyticsName} sent events batch`),
|
|
126
126
|
JSON.stringify(payload),
|
|
127
127
|
{
|
|
128
128
|
contentType: 'application/json',
|
|
@@ -206,7 +206,7 @@ function handleEvent(eventType, eventArgs) {
|
|
|
206
206
|
|
|
207
207
|
function sendEvent(event) {
|
|
208
208
|
_eventQueue.push(event);
|
|
209
|
-
|
|
209
|
+
logInfo(`${analyticsName}Event ${event.eventType}:`, event);
|
|
210
210
|
|
|
211
211
|
if (event.eventType === AUCTION_END) {
|
|
212
212
|
flush();
|
package/modules/iqmBidAdapter.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { deepAccess, getBidIdParameter, isArray, _each, getWindowTop, parseUrl } from '../src/utils.js';
|
|
1
2
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
2
3
|
import {config} from '../src/config.js';
|
|
3
|
-
import * as utils from '../src/utils.js';
|
|
4
4
|
import {BANNER, VIDEO} from '../src/mediaTypes.js';
|
|
5
5
|
import {INSTREAM} from '../src/video.js';
|
|
6
6
|
|
|
@@ -28,11 +28,11 @@ export const spec = {
|
|
|
28
28
|
* @return boolean True if this is a valid bid, and false otherwise.
|
|
29
29
|
*/
|
|
30
30
|
isBidRequestValid: function (bid) {
|
|
31
|
-
const banner =
|
|
32
|
-
const videoMediaType =
|
|
33
|
-
const context =
|
|
31
|
+
const banner = deepAccess(bid, 'mediaTypes.banner');
|
|
32
|
+
const videoMediaType = deepAccess(bid, 'mediaTypes.video');
|
|
33
|
+
const context = deepAccess(bid, 'mediaTypes.video.context');
|
|
34
34
|
if ((videoMediaType && context === INSTREAM)) {
|
|
35
|
-
const videoBidderParams =
|
|
35
|
+
const videoBidderParams = deepAccess(bid, 'params.video', {});
|
|
36
36
|
|
|
37
37
|
if (!Array.isArray(videoMediaType.playerSize)) {
|
|
38
38
|
return false;
|
|
@@ -85,7 +85,7 @@ export const spec = {
|
|
|
85
85
|
buildRequests: function (validBidRequests, bidderRequest) {
|
|
86
86
|
return validBidRequests.map(bid => {
|
|
87
87
|
var finalRequest = {};
|
|
88
|
-
let bidfloor =
|
|
88
|
+
let bidfloor = getBidIdParameter('bidfloor', bid.params);
|
|
89
89
|
|
|
90
90
|
const imp = {
|
|
91
91
|
id: bid.bidId,
|
|
@@ -95,10 +95,10 @@ export const spec = {
|
|
|
95
95
|
displaymanagerver: VERSION,
|
|
96
96
|
|
|
97
97
|
}
|
|
98
|
-
if (
|
|
98
|
+
if (deepAccess(bid, 'mediaTypes.banner')) {
|
|
99
99
|
imp.banner = getSize(bid.sizes);
|
|
100
100
|
imp.mediatype = 'banner';
|
|
101
|
-
} else if (
|
|
101
|
+
} else if (deepAccess(bid, 'mediaTypes.video')) {
|
|
102
102
|
imp.video = _buildVideoORTB(bid);
|
|
103
103
|
imp.mediatype = 'video';
|
|
104
104
|
}
|
|
@@ -107,8 +107,8 @@ export const spec = {
|
|
|
107
107
|
finalRequest = {
|
|
108
108
|
sizes: bid.sizes,
|
|
109
109
|
id: bid.bidId,
|
|
110
|
-
publisherId:
|
|
111
|
-
placementId:
|
|
110
|
+
publisherId: getBidIdParameter('publisherId', bid.params),
|
|
111
|
+
placementId: getBidIdParameter('placementId', bid.params),
|
|
112
112
|
device: device,
|
|
113
113
|
site: site,
|
|
114
114
|
imp: imp,
|
|
@@ -138,9 +138,9 @@ export const spec = {
|
|
|
138
138
|
interpretResponse: function (serverResponse, bidRequest) {
|
|
139
139
|
const bidResponses = [];
|
|
140
140
|
serverResponse = serverResponse.body;
|
|
141
|
-
if (serverResponse &&
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
if (serverResponse && isArray(serverResponse.seatbid)) {
|
|
142
|
+
_each(serverResponse.seatbid, function (bidList) {
|
|
143
|
+
_each(bidList.bid, function (bid) {
|
|
144
144
|
const responseCPM = parseFloat(bid.price);
|
|
145
145
|
if (responseCPM > 0.0 && bid.impid) {
|
|
146
146
|
const bidResponse = {
|
|
@@ -228,16 +228,16 @@ function getSite(bidderRequest) {
|
|
|
228
228
|
const {refererInfo} = bidderRequest;
|
|
229
229
|
|
|
230
230
|
if (canAccessTopWindow()) {
|
|
231
|
-
const wt =
|
|
231
|
+
const wt = getWindowTop();
|
|
232
232
|
domain = wt.location.hostname;
|
|
233
233
|
page = wt.location.href;
|
|
234
234
|
referrer = wt.document.referrer || '';
|
|
235
235
|
} else if (refererInfo.reachedTop) {
|
|
236
|
-
const url =
|
|
236
|
+
const url = parseUrl(refererInfo.referer);
|
|
237
237
|
domain = url.hostname;
|
|
238
238
|
page = refererInfo.referer;
|
|
239
239
|
} else if (refererInfo.stack && refererInfo.stack.length && refererInfo.stack[0]) {
|
|
240
|
-
const url =
|
|
240
|
+
const url = parseUrl(refererInfo.stack[0]);
|
|
241
241
|
domain = url.hostname;
|
|
242
242
|
}
|
|
243
243
|
|
|
@@ -251,7 +251,7 @@ function getSite(bidderRequest) {
|
|
|
251
251
|
|
|
252
252
|
function canAccessTopWindow() {
|
|
253
253
|
try {
|
|
254
|
-
if (
|
|
254
|
+
if (getWindowTop().location.href) {
|
|
255
255
|
return true;
|
|
256
256
|
}
|
|
257
257
|
} catch (error) {
|
|
@@ -260,8 +260,8 @@ function canAccessTopWindow() {
|
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
function _buildVideoORTB(bidRequest) {
|
|
263
|
-
const videoAdUnit =
|
|
264
|
-
const videoBidderParams =
|
|
263
|
+
const videoAdUnit = deepAccess(bidRequest, 'mediaTypes.video');
|
|
264
|
+
const videoBidderParams = deepAccess(bidRequest, 'params.video', {});
|
|
265
265
|
const video = {}
|
|
266
266
|
|
|
267
267
|
const videoParams = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { isFn, deepAccess, logMessage } from '../src/utils.js';
|
|
1
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
2
3
|
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
|
|
3
|
-
import * as utils from '../src/utils.js';
|
|
4
4
|
import { config } from '../src/config.js';
|
|
5
5
|
|
|
6
6
|
const BIDDER_CODE = 'iqzone';
|
|
@@ -66,8 +66,8 @@ function getPlacementReqData(bid) {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
function getBidFloor(bid) {
|
|
69
|
-
if (!
|
|
70
|
-
return
|
|
69
|
+
if (!isFn(bid.getFloor)) {
|
|
70
|
+
return deepAccess(bid, 'params.bidfloor', 0);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
try {
|
|
@@ -113,7 +113,7 @@ export const spec = {
|
|
|
113
113
|
deviceHeight = winTop.screen.height;
|
|
114
114
|
winLocation = winTop.location;
|
|
115
115
|
} catch (e) {
|
|
116
|
-
|
|
116
|
+
logMessage(e);
|
|
117
117
|
winLocation = window.location;
|
|
118
118
|
}
|
|
119
119
|
|
|
@@ -122,7 +122,7 @@ export const spec = {
|
|
|
122
122
|
try {
|
|
123
123
|
refferLocation = refferUrl && new URL(refferUrl);
|
|
124
124
|
} catch (e) {
|
|
125
|
-
|
|
125
|
+
logMessage(e);
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
let location = refferLocation || winLocation;
|