prebid.js 7.10.0 → 7.13.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/PULL_REQUEST_TEMPLATE.md +16 -10
- package/.github/codeql/codeql-config.yml +4 -0
- package/.github/workflows/codeql-analysis.yml +73 -0
- package/.github/workflows/issue_tracker.yml +1 -1
- package/README.md +0 -2
- package/babelConfig.js +10 -4
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/acuityAdsBidAdapter.js +1 -0
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adkernelBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adriverBidAdapter.js +1 -1
- package/dist/adriverIdSystem.js +1 -1
- package/dist/adtelligentBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -0
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/alkimiBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/aniviewBidAdapter.js +1 -1
- package/dist/aolBidAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/audiencerunBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/beopBidAdapter.js +1 -1
- package/dist/betweenBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bluebillywigBidAdapter.js +1 -1
- package/dist/brandmetricsRtdProvider.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/cleanioRtdProvider.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consentManagement.js +1 -1
- package/dist/consentManagementUsp.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/cpmstarBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/currency.js +1 -1
- package/dist/datawrkzBidAdapter.js +1 -0
- package/dist/debugging-standalone.js +1 -1
- package/dist/dfpAdServerVideo.js +1 -1
- package/dist/dgkeywordRtdProvider.js +1 -1
- package/dist/displayioBidAdapter.js +1 -3
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/enrichmentFpdModule.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/imRtdProvider.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -0
- package/dist/limelightDigitalBidAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/mabidderBidAdapter.js +1 -0
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediagoBidAdapter.js +1 -0
- package/dist/mediakeysBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +153 -147
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/oneKeyIdSystem.js +1 -0
- package/dist/oneKeyRtdProvider.js +1 -0
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openxAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/permutiveRtdProvider.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +2 -2
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/rasBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rtbhouseBidAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.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/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/trustpidSystem.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/viewability.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/integrationExamples/gpt/permutiveRtdProvider_example.html +1 -1
- package/karma.conf.maker.js +2 -13
- package/modules/.submodules.json +2 -0
- package/modules/acuityAdsBidAdapter.js +207 -0
- package/modules/acuityAdsBidAdapter.md +79 -0
- package/modules/adagioBidAdapter.js +2 -3
- package/modules/adgenerationBidAdapter.js +2 -2
- package/modules/adkernelBidAdapter.js +28 -12
- package/modules/admixerBidAdapter.js +1 -1
- package/modules/adnowBidAdapter.js +1 -1
- package/modules/adpod.js +1 -1
- package/modules/adrelevantisBidAdapter.js +2 -2
- package/modules/adriverBidAdapter.js +5 -12
- package/modules/adriverIdSystem.js +2 -1
- package/modules/adtargetBidAdapter.js +1 -1
- package/modules/adtelligentBidAdapter.js +6 -2
- package/modules/adtrgtmeBidAdapter.js +333 -0
- package/modules/adtrgtmeBidAdapter.md +69 -0
- package/modules/adtrueBidAdapter.js +1 -1
- package/modules/adxpremiumAnalyticsAdapter.js +1 -1
- package/modules/adyoulikeBidAdapter.js +1 -1
- package/modules/alkimiBidAdapter.js +2 -1
- package/modules/aniviewBidAdapter.js +1 -1
- package/modules/appnexusBidAdapter.js +13 -93
- package/modules/apstreamBidAdapter.js +2 -2
- package/modules/beopBidAdapter.js +4 -4
- package/modules/betweenBidAdapter.js +4 -4
- package/modules/bidwatchAnalyticsAdapter.js +112 -59
- package/modules/bizzclickBidAdapter.js +1 -1
- package/modules/brightMountainMediaBidAdapter.js +1 -1
- package/modules/browsiRtdProvider.js +24 -10
- package/modules/cleanmedianetBidAdapter.js +1 -1
- package/modules/consentManagement.js +1 -1
- package/modules/consentManagementUsp.js +1 -1
- package/modules/consumableBidAdapter.js +43 -3
- package/modules/cpmstarBidAdapter.js +23 -13
- package/modules/criteoBidAdapter.js +19 -13
- package/modules/currency.js +1 -0
- package/modules/cwireBidAdapter.js +1 -1
- package/modules/datablocksBidAdapter.js +1 -1
- package/modules/datawrkzBidAdapter.js +633 -0
- package/modules/datawrkzBidAdapter.md +160 -0
- package/modules/dfpAdServerVideo.js +2 -2
- package/modules/dgkeywordRtdProvider.js +10 -1
- package/modules/displayioBidAdapter.js +92 -97
- package/modules/dspxBidAdapter.js +1 -1
- package/modules/e_volutionBidAdapter.js +3 -3
- package/modules/ebdrBidAdapter.js +1 -1
- package/modules/emx_digitalBidAdapter.js +1 -1
- package/modules/enrichmentFpdModule.js +11 -0
- package/modules/fabrickIdSystem.js +2 -2
- package/modules/gamoshiBidAdapter.js +1 -1
- package/modules/getintentBidAdapter.js +1 -1
- package/modules/gjirafaBidAdapter.js +2 -2
- package/modules/goldbachBidAdapter.js +8 -8
- package/modules/gothamadsBidAdapter.js +2 -2
- package/modules/gumgumBidAdapter.js +3 -3
- package/modules/h12mediaBidAdapter.js +1 -1
- package/modules/id5AnalyticsAdapter.js +1 -1
- package/modules/id5IdSystem.js +160 -111
- package/modules/id5IdSystem.md +16 -14
- package/modules/imRtdProvider.js +20 -7
- package/modules/imRtdProvider.md +3 -1
- package/modules/impactifyBidAdapter.js +1 -1
- package/modules/improvedigitalBidAdapter.js +50 -28
- package/modules/inskinBidAdapter.js +1 -1
- package/modules/insticatorBidAdapter.js +1 -1
- package/modules/integr8BidAdapter.js +2 -2
- package/modules/intentIqIdSystem.js +2 -2
- package/modules/interactiveOffersBidAdapter.js +1 -1
- package/modules/iqmBidAdapter.js +1 -1
- package/modules/ixBidAdapter.js +21 -328
- package/modules/ixBidAdapter.md +1 -19
- package/modules/kargoBidAdapter.js +4 -5
- package/modules/krushmediaBidAdapter.js +2 -2
- package/modules/lassoBidAdapter.js +3 -3
- package/modules/lifestreetBidAdapter.js +143 -0
- package/modules/limelightDigitalBidAdapter.js +2 -1
- package/modules/livewrappedAnalyticsAdapter.js +3 -3
- package/modules/lkqdBidAdapter.js +3 -3
- package/modules/loganBidAdapter.js +2 -2
- package/modules/luponmediaBidAdapter.js +3 -3
- package/modules/mabidderBidAdapter.js +60 -0
- package/modules/mabidderBidAdapter.md +31 -0
- package/modules/malltvBidAdapter.js +2 -2
- package/modules/mediagoBidAdapter.js +462 -0
- package/modules/mediagoBidAdapter.md +34 -0
- package/modules/mediakeysBidAdapter.js +2 -2
- package/modules/mgidBidAdapter.js +2 -2
- package/modules/nextMillenniumBidAdapter.js +25 -6
- package/modules/nobidBidAdapter.js +2 -2
- package/modules/novatiqIdSystem.js +1 -1
- package/modules/oneKeyIdSystem.js +78 -0
- package/modules/oneKeyIdSystem.md +109 -0
- package/modules/oneKeyRtdProvider.js +98 -0
- package/modules/oneKeyRtdProvider.md +127 -0
- package/modules/open8BidAdapter.js +1 -1
- package/modules/openwebBidAdapter.js +1 -1
- package/modules/openxAnalyticsAdapter.js +5 -744
- package/modules/openxAnalyticsAdapter.md +4 -0
- package/modules/openxBidAdapter.js +3 -3
- package/modules/permutiveRtdProvider.js +55 -8
- package/modules/pixfutureBidAdapter.js +1 -1
- package/modules/prebidmanagerAnalyticsAdapter.js +1 -1
- package/modules/priceFloors.js +1 -1
- package/modules/pubmaticAnalyticsAdapter.js +1 -1
- package/modules/pubmaticBidAdapter.js +19 -1
- package/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/modules/pubwiseBidAdapter.js +3 -3
- package/modules/pubxBidAdapter.js +1 -1
- package/modules/pubxaiAnalyticsAdapter.js +2 -2
- package/modules/quantcastIdSystem.js +1 -1
- package/modules/radsBidAdapter.js +1 -1
- package/modules/rasBidAdapter.js +8 -0
- package/modules/rasBidAdapter.md +14 -13
- package/modules/revcontentBidAdapter.js +1 -1
- package/modules/richaudienceBidAdapter.js +1 -1
- package/modules/rtbhouseBidAdapter.js +25 -1
- package/modules/schain.js +1 -1
- package/modules/seedtagBidAdapter.md +25 -56
- package/modules/showheroes-bsBidAdapter.js +1 -1
- package/modules/sizeMappingV2.js +1 -1
- package/modules/smaatoBidAdapter.js +2 -2
- package/modules/sonobiAnalyticsAdapter.js +1 -1
- package/modules/sonobiBidAdapter.js +4 -3
- package/modules/staqAnalyticsAdapter.js +1 -1
- package/modules/tappxBidAdapter.js +11 -2
- package/modules/targetVideoBidAdapter.js +1 -1
- package/modules/theAdxBidAdapter.js +2 -2
- package/modules/tpmnBidAdapter.js +1 -1
- package/modules/trionBidAdapter.js +2 -2
- package/modules/tripleliftBidAdapter.js +20 -1
- package/modules/trustpidSystem.js +6 -42
- package/modules/trustpidSystem.md +10 -10
- package/modules/underdogmediaBidAdapter.js +1 -1
- package/modules/userId/eids.js +26 -0
- package/modules/userId/userId.md +2 -2
- package/modules/vdoaiBidAdapter.js +1 -1
- package/modules/vidazooBidAdapter.js +7 -5
- package/modules/vidoomyBidAdapter.js +1 -1
- package/modules/viewability.js +14 -14
- package/modules/winrBidAdapter.js +1 -1
- package/modules/yahoosspBidAdapter.js +3 -3
- package/modules/yandexBidAdapter.js +1 -1
- package/modules/yieldmoBidAdapter.js +3 -3
- package/modules/yieldoneBidAdapter.js +2 -2
- package/modules/zeta_global_sspBidAdapter.js +24 -21
- package/package.json +3 -3
- package/src/Renderer.js +1 -1
- package/src/adloader.js +2 -1
- package/src/adserver.js +0 -56
- package/src/auction.js +60 -16
- package/src/bidfactory.js +1 -1
- package/src/native.js +75 -60
- package/src/refererDetection.js +12 -1
- package/src/sizeMapping.js +5 -7
- package/src/targeting.js +1 -1
- package/src/userSync.js +1 -1
- package/src/utils/promise.js +3 -1
- package/src/utils.js +27 -0
- package/src/video.js +5 -4
- package/src/videoCache.js +8 -2
- package/test/pages/instream.html +2 -2
- package/test/spec/modules/acuityAdsBidAdapter_spec.js +398 -0
- package/test/spec/modules/adagioBidAdapter_spec.js +2 -0
- package/test/spec/modules/adkernelBidAdapter_spec.js +11 -2
- package/test/spec/modules/adriverBidAdapter_spec.js +6 -13
- package/test/spec/modules/adriverIdSystem_spec.js +3 -8
- package/test/spec/modules/adtelligentBidAdapter_spec.js +2 -0
- package/test/spec/modules/adtrgtmeBidAdapter_spec.js +802 -0
- package/test/spec/modules/alkimiBidAdapter_spec.js +2 -1
- package/test/spec/modules/appnexusBidAdapter_spec.js +1 -0
- package/test/spec/modules/beopBidAdapter_spec.js +11 -0
- package/test/spec/modules/betweenBidAdapter_spec.js +17 -0
- package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +28 -12
- package/test/spec/modules/big-richmediaBidAdapter_spec.js +1 -0
- package/test/spec/modules/browsiRtdProvider_spec.js +40 -1
- package/test/spec/modules/consumableBidAdapter_spec.js +158 -0
- package/test/spec/modules/cpmstarBidAdapter_spec.js +1 -1
- package/test/spec/modules/criteoBidAdapter_spec.js +35 -26
- package/test/spec/modules/currency_spec.js +22 -0
- package/test/spec/modules/datawrkzBidAdapter_spec.js +656 -0
- package/test/spec/modules/dgkeywordRtdProvider_spec.js +1 -1
- package/test/spec/modules/displayioBidAdapter_spec.js +16 -52
- package/test/spec/modules/enrichmentFpdModule_spec.js +16 -1
- package/test/spec/modules/fpdModule_spec.js +2 -1
- package/test/spec/modules/id5IdSystem_spec.js +529 -172
- package/test/spec/modules/imRtdProvider_spec.js +10 -5
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +9 -13
- package/test/spec/modules/ixBidAdapter_spec.js +216 -123
- package/test/spec/modules/kargoBidAdapter_spec.js +11 -2
- package/test/spec/modules/lifestreetBidAdapter_spec.js +232 -0
- package/test/spec/modules/limelightDigitalBidAdapter_spec.js +59 -7
- package/test/spec/modules/mabidderBidAdapter_spec.js +125 -0
- package/test/spec/modules/mediagoBidAdapter_spec.js +97 -0
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +2 -7
- package/test/spec/modules/oneKeyIdSystem_spec.js +107 -0
- package/test/spec/modules/oneKeyRtdProvider_spec.js +152 -0
- package/test/spec/modules/openxAnalyticsAdapter_spec.js +6 -638
- package/test/spec/modules/permutiveRtdProvider_spec.js +152 -2
- package/test/spec/modules/pubmaticBidAdapter_spec.js +69 -4
- package/test/spec/modules/rasBidAdapter_spec.js +2 -0
- package/test/spec/modules/tripleliftBidAdapter_spec.js +18 -0
- package/test/spec/modules/trustpidSystem_spec.js +27 -45
- package/test/spec/modules/vidazooBidAdapter_spec.js +36 -23
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +59 -0
- package/test/spec/native_spec.js +257 -2
- package/test/spec/videoCache_spec.js +37 -7
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Overview
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
Module Name: Datawrkz Bid Adapter
|
|
5
|
+
Module Type: Bidder Adapter
|
|
6
|
+
Maintainer: pubops@datawrkz.com
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
# Description
|
|
10
|
+
|
|
11
|
+
Module that connects to Datawrkz's demand sources.
|
|
12
|
+
Datawrkz bid adapter supports Banner, Video (instream and outstream) and Native ad units.
|
|
13
|
+
|
|
14
|
+
# Bid Parameters
|
|
15
|
+
|
|
16
|
+
| Name | Scope | Type | Description | Example
|
|
17
|
+
| ---- | ----- | ---- | ----------- | -------
|
|
18
|
+
| `site_id` | required | String | Site id | "test_site_id"
|
|
19
|
+
| `deals` | optional | Array<Deal> | Array of deal objects | `[{id: "deal_1"},{id: "deal_2"}]`
|
|
20
|
+
| `bidfloor` | optional | Float | Minimum bid for this impression expressed in CPM | `0.5`
|
|
21
|
+
| `outstreamType` | optional | String | Type of outstream video to the played. Available options: inline, slider_top_left, slider_top_right, slider_bottom_left, slider_bottom_right, interstitial_close, and listicle | "inline"
|
|
22
|
+
| `outstreamConfig` | optional | Object | Configuration settings for outstream ad unit | `{ad_unit_audio: 1, show_player_close_button_after: 5, hide_player_control: 0}`
|
|
23
|
+
|
|
24
|
+
# Deal Object
|
|
25
|
+
| Name | Scope | Type | Description | Example
|
|
26
|
+
| ---- | ----- | ---- | ----------- | -------
|
|
27
|
+
| `id` | required | String | Deal id | "test_deal_id"
|
|
28
|
+
|
|
29
|
+
# outstreamConfig
|
|
30
|
+
| Name | Scope | Type | Description | Example
|
|
31
|
+
| ---- | ----- | ---- | ----------- | -------
|
|
32
|
+
| `ad_unit_audio` | optional | Integer | Set default audio option for the player. 0 to play audio on hover and 2 to mute | `0` or `2`
|
|
33
|
+
| `show_player_close_button_after` | optional | Integer | Show player close button after specified seconds | `5`
|
|
34
|
+
| `hide_player_control` | optional | Integer | Show/hide player controls. 0 to show player controls and 1 to hide | `1`
|
|
35
|
+
|
|
36
|
+
# Test Parameters
|
|
37
|
+
```
|
|
38
|
+
var adUnits = [
|
|
39
|
+
// Banner adUnit
|
|
40
|
+
{
|
|
41
|
+
code: 'banner-div',
|
|
42
|
+
mediaTypes: {
|
|
43
|
+
banner: {
|
|
44
|
+
sizes: [[300, 250], [300,600]]
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
bids: [{
|
|
48
|
+
bidder: 'datawrkz',
|
|
49
|
+
params: {
|
|
50
|
+
site_id: 'site_id',
|
|
51
|
+
bidfloor: 0.5
|
|
52
|
+
}
|
|
53
|
+
}]
|
|
54
|
+
},
|
|
55
|
+
// Native adUnit
|
|
56
|
+
{
|
|
57
|
+
code: 'native-div',
|
|
58
|
+
sizes: [[1, 1]],
|
|
59
|
+
mediaTypes: {
|
|
60
|
+
native: {
|
|
61
|
+
title: {
|
|
62
|
+
required: true,
|
|
63
|
+
len: 80
|
|
64
|
+
},
|
|
65
|
+
image: {
|
|
66
|
+
required: true,
|
|
67
|
+
sizes: [300, 250]
|
|
68
|
+
},
|
|
69
|
+
icon: {
|
|
70
|
+
required: true,
|
|
71
|
+
sizes: [50, 50]
|
|
72
|
+
},
|
|
73
|
+
body: {
|
|
74
|
+
required: true,
|
|
75
|
+
len: 800
|
|
76
|
+
},
|
|
77
|
+
sponsoredBy: {
|
|
78
|
+
required: true
|
|
79
|
+
},
|
|
80
|
+
cta: {
|
|
81
|
+
required: true
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
bids: [{
|
|
86
|
+
bidder: 'datawrkz',
|
|
87
|
+
params: {
|
|
88
|
+
site_id: 'site_id',
|
|
89
|
+
bidfloor: 0.5
|
|
90
|
+
}
|
|
91
|
+
}]
|
|
92
|
+
},
|
|
93
|
+
// Video instream adUnit
|
|
94
|
+
{
|
|
95
|
+
code: 'video-instream',
|
|
96
|
+
sizes: [[640, 480]],
|
|
97
|
+
mediaTypes: {
|
|
98
|
+
video: {
|
|
99
|
+
playerSize: [[640, 480]],
|
|
100
|
+
context: 'instream',
|
|
101
|
+
api: [1, 2],
|
|
102
|
+
mimes: ["video/x-ms-wmv", "video/mp4"],
|
|
103
|
+
protocols: [1, 2, 3],
|
|
104
|
+
playbackmethod: [1, 2],
|
|
105
|
+
minduration: 20,
|
|
106
|
+
maxduration: 30,
|
|
107
|
+
startdelay: 5,
|
|
108
|
+
minbitrate: 300,
|
|
109
|
+
maxbitrate: 1500,
|
|
110
|
+
delivery: [2],
|
|
111
|
+
linearity: 1
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
bids: [{
|
|
115
|
+
bidder: 'datawrkz',
|
|
116
|
+
params: {
|
|
117
|
+
site_id: 'site_id',
|
|
118
|
+
bidfloor: 0.5
|
|
119
|
+
}
|
|
120
|
+
}]
|
|
121
|
+
},
|
|
122
|
+
// Video outstream adUnit
|
|
123
|
+
{
|
|
124
|
+
code: 'video-outstream',
|
|
125
|
+
sizes: [[300, 250]],
|
|
126
|
+
mediaTypes: {
|
|
127
|
+
video: {
|
|
128
|
+
playerSize: [[300, 250]],
|
|
129
|
+
context: 'outstream',
|
|
130
|
+
api: [1, 2],
|
|
131
|
+
mimes: ["video/mp4"],
|
|
132
|
+
protocols: [1, 2, 3],
|
|
133
|
+
playbackmethod: [1, 2],
|
|
134
|
+
minduration: 20,
|
|
135
|
+
maxduration: 30,
|
|
136
|
+
startdelay: 5,
|
|
137
|
+
minbitrate: 300,
|
|
138
|
+
maxbitrate: 1500,
|
|
139
|
+
delivery: [2],
|
|
140
|
+
linearity: 1
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
bids: [
|
|
144
|
+
{
|
|
145
|
+
bidder: 'datawrkz',
|
|
146
|
+
params: {
|
|
147
|
+
site_id: 'site_id',
|
|
148
|
+
bidfloor: 0.5,
|
|
149
|
+
outstreamType: 'slider_top_left', //Supported types : inline, slider_top_left, slider_top_right, slider_bottom_left, slider_bottom_right, interstitial_close, listicle
|
|
150
|
+
outstreamConfig: {
|
|
151
|
+
ad_unit_audio: 1, // 0: audio on hover, 2: always muted
|
|
152
|
+
show_player_close_button_after: 5, // show close button after 5 seconds
|
|
153
|
+
hide_player_control: 0 // 0 to show/ 1 to hide
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
];
|
|
160
|
+
```
|
|
@@ -91,7 +91,7 @@ export function buildDfpVideoUrl(options) {
|
|
|
91
91
|
};
|
|
92
92
|
|
|
93
93
|
const urlSearchComponent = urlComponents.search;
|
|
94
|
-
const urlSzParam = urlSearchComponent && urlSearchComponent.sz
|
|
94
|
+
const urlSzParam = urlSearchComponent && urlSearchComponent.sz;
|
|
95
95
|
if (urlSzParam) {
|
|
96
96
|
derivedParams.sz = urlSzParam + '|' + derivedParams.sz;
|
|
97
97
|
}
|
|
@@ -186,7 +186,7 @@ export function buildAdpodVideoUrl({code, params, callback} = {}) {
|
|
|
186
186
|
let initialValue = {
|
|
187
187
|
[adpodUtils.TARGETING_KEY_PB_CAT_DUR]: undefined,
|
|
188
188
|
[adpodUtils.TARGETING_KEY_CACHE_ID]: undefined
|
|
189
|
-
}
|
|
189
|
+
};
|
|
190
190
|
let customParams = {};
|
|
191
191
|
if (targeting[code]) {
|
|
192
192
|
customParams = targeting[code].reduce((acc, curValue) => {
|
|
@@ -25,6 +25,15 @@ export function getDgKeywordsAndSet(reqBidsConfigObj, callback, moduleConfig, us
|
|
|
25
25
|
const timeout = (moduleConfig && moduleConfig.params && moduleConfig.params.timeout && Number(moduleConfig.params.timeout) > 0) ? Number(moduleConfig.params.timeout) : PROFILE_TIMEOUT_MS;
|
|
26
26
|
const url = (moduleConfig && moduleConfig.params && moduleConfig.params.url) ? moduleConfig.params.url : URL + encodeURIComponent(window.location.href);
|
|
27
27
|
const adUnits = reqBidsConfigObj.adUnits || getGlobal().adUnits;
|
|
28
|
+
callback = (function(cb) {
|
|
29
|
+
let done = false;
|
|
30
|
+
return function () {
|
|
31
|
+
if (!done) {
|
|
32
|
+
done = true;
|
|
33
|
+
return cb.apply(this, arguments);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
})(callback);
|
|
28
37
|
let isFinish = false;
|
|
29
38
|
logMessage('[dgkeyword sub module]', adUnits, timeout);
|
|
30
39
|
let setKeywordTargetBidders = getTargetBidderOfDgKeywords(adUnits);
|
|
@@ -48,7 +57,7 @@ export function getDgKeywordsAndSet(reqBidsConfigObj, callback, moduleConfig, us
|
|
|
48
57
|
keywords['opectx'] = res['t'];
|
|
49
58
|
}
|
|
50
59
|
if (Object.keys(keywords).length > 0) {
|
|
51
|
-
const targetBidKeys = {}
|
|
60
|
+
const targetBidKeys = {};
|
|
52
61
|
for (let bid of setKeywordTargetBidders) {
|
|
53
62
|
// set keywords to params
|
|
54
63
|
bid.params.keywords = keywords;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
2
2
|
import {BANNER, VIDEO} from '../src/mediaTypes.js';
|
|
3
|
+
import {Renderer} from '../src/Renderer.js';
|
|
4
|
+
import {getWindowFromDocument, logWarn} from '../src/utils.js';
|
|
3
5
|
|
|
4
|
-
const
|
|
6
|
+
const ADAPTER_VERSION = '1.1.0';
|
|
5
7
|
const BIDDER_CODE = 'displayio';
|
|
6
|
-
const GVLID = 999;
|
|
7
8
|
const BID_TTL = 300;
|
|
8
9
|
const SUPPORTED_AD_TYPES = [BANNER, VIDEO];
|
|
9
10
|
const DEFAULT_CURRENCY = 'USD';
|
|
10
11
|
|
|
11
12
|
export const spec = {
|
|
12
13
|
code: BIDDER_CODE,
|
|
13
|
-
gvlid: GVLID,
|
|
14
14
|
supportedMediaTypes: SUPPORTED_AD_TYPES,
|
|
15
15
|
isBidRequestValid: function(bid) {
|
|
16
16
|
return !!(bid.params && bid.params.placementId && bid.params.siteId &&
|
|
@@ -20,7 +20,7 @@ export const spec = {
|
|
|
20
20
|
return bidRequests.map(bid => {
|
|
21
21
|
let url = '//' + bid.params.adsSrvDomain + '/srv?method=getPlacement&app=' +
|
|
22
22
|
bid.params.siteId + '&placement=' + bid.params.placementId;
|
|
23
|
-
const data =
|
|
23
|
+
const data = getPayload(bid, bidderRequest);
|
|
24
24
|
return {
|
|
25
25
|
method: 'POST',
|
|
26
26
|
headers: {'Content-Type': 'application/json;charset=utf-8'},
|
|
@@ -42,117 +42,112 @@ export const spec = {
|
|
|
42
42
|
height: adData.h,
|
|
43
43
|
netRevenue: true,
|
|
44
44
|
ttl: BID_TTL,
|
|
45
|
-
creativeId: adData.adId ||
|
|
46
|
-
currency: DEFAULT_CURRENCY,
|
|
45
|
+
creativeId: adData.adId || 1,
|
|
46
|
+
currency: adData.cur || DEFAULT_CURRENCY,
|
|
47
47
|
referrer: data.data.ref,
|
|
48
|
-
mediaType: ads[0].ad.subtype,
|
|
48
|
+
mediaType: ads[0].ad.subtype === 'videoVast' ? VIDEO : BANNER,
|
|
49
49
|
ad: adData.markup,
|
|
50
|
-
|
|
50
|
+
adUnitCode: data.adUnitCode,
|
|
51
|
+
renderURL: data.renderURL,
|
|
51
52
|
adData: adData
|
|
52
53
|
};
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
|
|
55
|
+
if (bidResponse.mediaType === VIDEO) {
|
|
56
|
+
bidResponse.vastUrl = adData.videos[0] && adData.videos[0].url
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (bidResponse.renderURL) {
|
|
60
|
+
bidResponse.renderer = newRenderer(bidResponse);
|
|
55
61
|
}
|
|
56
62
|
bidResponses.push(bidResponse);
|
|
57
63
|
}
|
|
58
64
|
return bidResponses;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
mediation.gdpr = gdprConsent.gdprApplies ? '1' : '0';
|
|
77
|
-
}
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
function getPayload (bid, bidderRequest) {
|
|
69
|
+
const connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
|
|
70
|
+
const userSession = 'us_web_xxxxxxxxxxxx'.replace(/[x]/g, c => {
|
|
71
|
+
let r = Math.random() * 16 | 0;
|
|
72
|
+
let v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
73
|
+
return v.toString(16);
|
|
74
|
+
});
|
|
75
|
+
const { params, adUnitCode, bidId } = bid;
|
|
76
|
+
const { siteId, placementId, renderURL, pageCategory, keywords } = params;
|
|
77
|
+
const { refererInfo, uspConsent, gdprConsent } = bidderRequest;
|
|
78
|
+
const mediation = {consent: '-1', gdpr: '-1'};
|
|
79
|
+
if (gdprConsent && 'gdprApplies' in gdprConsent) {
|
|
80
|
+
if (gdprConsent.consentString !== undefined) {
|
|
81
|
+
mediation.consent = gdprConsent.consentString;
|
|
78
82
|
}
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
if (gdprConsent.gdprApplies !== undefined) {
|
|
84
|
+
mediation.gdpr = gdprConsent.gdprApplies ? '1' : '0';
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
userSession,
|
|
89
|
+
data: {
|
|
90
|
+
id: bidId,
|
|
91
|
+
action: 'getPlacement',
|
|
92
|
+
app: siteId,
|
|
93
|
+
placement: placementId,
|
|
94
|
+
adUnitCode,
|
|
95
|
+
renderURL,
|
|
81
96
|
data: {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
us_privacy: uspConsent,
|
|
101
|
-
dnt: window.navigator.doNotTrack,
|
|
102
|
-
iabConsent: {},
|
|
103
|
-
mediation: {
|
|
104
|
-
consent: mediation.consent,
|
|
105
|
-
gdpr: mediation.gdpr,
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
integration: 'JS',
|
|
109
|
-
omidpn: 'Displayio',
|
|
110
|
-
mediationPlatform: 0,
|
|
111
|
-
prebidVersion: BIDDER_VERSION,
|
|
112
|
-
device: {
|
|
113
|
-
w: window.screen.width,
|
|
114
|
-
h: window.screen.height,
|
|
115
|
-
connection_type: connection ? connection.effectiveType : '',
|
|
97
|
+
pagecat: pageCategory ? pageCategory.split(',').map(k => k.trim()) : [],
|
|
98
|
+
keywords: keywords ? keywords.split(',').map(k => k.trim()) : [],
|
|
99
|
+
lang_content: document.documentElement.lang,
|
|
100
|
+
lang: window.navigator.language,
|
|
101
|
+
domain: refererInfo.domain,
|
|
102
|
+
page: refererInfo.page,
|
|
103
|
+
ref: refererInfo.referer,
|
|
104
|
+
userids: bid.userIdAsEids || {},
|
|
105
|
+
geo: '',
|
|
106
|
+
},
|
|
107
|
+
complianceData: {
|
|
108
|
+
child: '-1',
|
|
109
|
+
us_privacy: uspConsent,
|
|
110
|
+
dnt: window.doNotTrack === '1' || window.navigator.doNotTrack === '1' || false,
|
|
111
|
+
iabConsent: {},
|
|
112
|
+
mediation: {
|
|
113
|
+
consent: mediation.consent,
|
|
114
|
+
gdpr: mediation.gdpr,
|
|
116
115
|
}
|
|
116
|
+
},
|
|
117
|
+
integration: 'JS',
|
|
118
|
+
omidpn: 'Displayio',
|
|
119
|
+
mediationPlatform: 0,
|
|
120
|
+
prebidVersion: ADAPTER_VERSION,
|
|
121
|
+
device: {
|
|
122
|
+
w: window.screen.width,
|
|
123
|
+
h: window.screen.height,
|
|
124
|
+
connection_type: connection ? connection.effectiveType : '',
|
|
117
125
|
}
|
|
118
126
|
}
|
|
119
|
-
if (navigator.permissions) {
|
|
120
|
-
navigator.permissions.query({ name: 'geolocation' })
|
|
121
|
-
.then((result) => {
|
|
122
|
-
if (result.state === 'granted') {
|
|
123
|
-
payload.data.data.geo = _getGeoData();
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
return payload
|
|
128
127
|
}
|
|
129
|
-
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function newRenderer(bid) {
|
|
131
|
+
const renderer = Renderer.install({
|
|
132
|
+
id: bid.requestId,
|
|
133
|
+
url: bid.renderURL,
|
|
134
|
+
adUnitCode: bid.adUnitCode
|
|
135
|
+
});
|
|
130
136
|
|
|
131
|
-
function _getUserIDs () {
|
|
132
|
-
let ids = {};
|
|
133
137
|
try {
|
|
134
|
-
|
|
135
|
-
} catch (
|
|
136
|
-
|
|
138
|
+
renderer.setRender(webisRender);
|
|
139
|
+
} catch (err) {
|
|
140
|
+
logWarn('Prebid Error calling setRender on renderer', err);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return renderer;
|
|
137
144
|
}
|
|
138
145
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
);
|
|
145
|
-
}
|
|
146
|
-
try {
|
|
147
|
-
const position = await getCurrentPosition();
|
|
148
|
-
let {latitude, longitude, accuracy} = position.coords;
|
|
149
|
-
geoData = {
|
|
150
|
-
'lat': latitude,
|
|
151
|
-
'lng': longitude,
|
|
152
|
-
'precision': accuracy
|
|
153
|
-
};
|
|
154
|
-
} catch (e) {}
|
|
155
|
-
return geoData
|
|
146
|
+
function webisRender(bid, doc) {
|
|
147
|
+
bid.renderer.push(() => {
|
|
148
|
+
const win = getWindowFromDocument(doc) || window;
|
|
149
|
+
win.webis.init(bid.adData, bid.adUnitCode, bid.params);
|
|
150
|
+
})
|
|
156
151
|
}
|
|
157
152
|
|
|
158
153
|
registerBidder(spec);
|
|
@@ -72,7 +72,7 @@ export const spec = {
|
|
|
72
72
|
let location;
|
|
73
73
|
// TODO: this odd try-catch block was copied in several adapters; it doesn't seem to be correct for cross-origin
|
|
74
74
|
try {
|
|
75
|
-
location = new URL(bidderRequest.refererInfo.page)
|
|
75
|
+
location = new URL(bidderRequest.refererInfo.page);
|
|
76
76
|
winTop = window.top;
|
|
77
77
|
} catch (e) {
|
|
78
78
|
location = winTop.location;
|
|
@@ -93,7 +93,7 @@ export const spec = {
|
|
|
93
93
|
request.ccpa = bidderRequest.uspConsent;
|
|
94
94
|
}
|
|
95
95
|
if (bidderRequest.gdprConsent) {
|
|
96
|
-
request.gdpr = bidderRequest.gdprConsent
|
|
96
|
+
request.gdpr = bidderRequest.gdprConsent;
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
const len = validBidRequests.length;
|
|
@@ -106,7 +106,7 @@ export const spec = {
|
|
|
106
106
|
bidId: bid.bidId,
|
|
107
107
|
bidfloor: getBidFloor(bid),
|
|
108
108
|
eids: []
|
|
109
|
-
}
|
|
109
|
+
};
|
|
110
110
|
|
|
111
111
|
if (bid.userId) {
|
|
112
112
|
getUserId(placement.eids, bid.userId.id5id, 'id5-sync.com');
|
|
@@ -287,7 +287,7 @@ export const spec = {
|
|
|
287
287
|
emxData = emxAdapter.getGdpr(bidderRequest, Object.assign({}, emxData));
|
|
288
288
|
emxData = emxAdapter.getSupplyChain(bidderRequest, Object.assign({}, emxData));
|
|
289
289
|
if (bidderRequest && bidderRequest.uspConsent) {
|
|
290
|
-
emxData.us_privacy = bidderRequest.uspConsent
|
|
290
|
+
emxData.us_privacy = bidderRequest.uspConsent;
|
|
291
291
|
}
|
|
292
292
|
|
|
293
293
|
// adding eid support
|
|
@@ -124,6 +124,16 @@ function setKeywords() {
|
|
|
124
124
|
if (keywords && keywords.content) mergeDeep(ortb2, { site: { keywords: keywords.content.replace(/\s/g, '') } });
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
+
/**
|
|
128
|
+
* Checks the Global Privacy Control status, and if exists and is true, merges into regs.ext.gpc
|
|
129
|
+
*/
|
|
130
|
+
function setGpc() {
|
|
131
|
+
const gpcValue = navigator.globalPrivacyControl;
|
|
132
|
+
if (gpcValue) {
|
|
133
|
+
mergeDeep(ortb2, { regs: { ext: { gpc: 1 } } })
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
127
137
|
/**
|
|
128
138
|
* Resets modules global ortb2 data
|
|
129
139
|
*/
|
|
@@ -135,6 +145,7 @@ function runEnrichments() {
|
|
|
135
145
|
setDomain();
|
|
136
146
|
setDimensions();
|
|
137
147
|
setKeywords();
|
|
148
|
+
setGpc();
|
|
138
149
|
|
|
139
150
|
return ortb2;
|
|
140
151
|
}
|
|
@@ -70,7 +70,7 @@ export const fabrickIdSubmodule = {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
// pull off the trailing &
|
|
73
|
-
url = url.slice(0, -1)
|
|
73
|
+
url = url.slice(0, -1);
|
|
74
74
|
const referer = _getRefererInfo(configParams);
|
|
75
75
|
const refs = new Map();
|
|
76
76
|
_setReferrer(refs, referer.topmostLocation);
|
|
@@ -174,7 +174,7 @@ export function appendUrl(url, paramName, s, configParams) {
|
|
|
174
174
|
s = s.substring(0, thisMaxRefLen - 2);
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
return `${url}${s}
|
|
177
|
+
return `${url}${s}`;
|
|
178
178
|
} else {
|
|
179
179
|
return url;
|
|
180
180
|
}
|
|
@@ -259,7 +259,7 @@ export const spec = {
|
|
|
259
259
|
let gdpr = gdprApplies ? 1 : 0;
|
|
260
260
|
|
|
261
261
|
if (gdprApplies && gdprConsent.consentString) {
|
|
262
|
-
consentString = encodeURIComponent(gdprConsent.consentString)
|
|
262
|
+
consentString = encodeURIComponent(gdprConsent.consentString);
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
if (uspConsent) {
|
|
@@ -74,7 +74,7 @@ export const spec = {
|
|
|
74
74
|
placements: placements,
|
|
75
75
|
contents: contents,
|
|
76
76
|
data: data
|
|
77
|
-
}
|
|
77
|
+
};
|
|
78
78
|
|
|
79
79
|
return [{
|
|
80
80
|
method: 'POST',
|
|
@@ -113,7 +113,7 @@ export const spec = {
|
|
|
113
113
|
}
|
|
114
114
|
return bidResponses;
|
|
115
115
|
}
|
|
116
|
-
}
|
|
116
|
+
};
|
|
117
117
|
|
|
118
118
|
/**
|
|
119
119
|
* Generate size param for bid request using sizes array
|
|
@@ -207,7 +207,7 @@ export const spec = {
|
|
|
207
207
|
payload['iab_support'] = {
|
|
208
208
|
omidpn: 'Appnexus',
|
|
209
209
|
omidpv: '$prebid.version$'
|
|
210
|
-
}
|
|
210
|
+
};
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
if (member > 0) {
|
|
@@ -215,7 +215,7 @@ export const spec = {
|
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
if (appDeviceObjBid) {
|
|
218
|
-
payload.device = appDeviceObj
|
|
218
|
+
payload.device = appDeviceObj;
|
|
219
219
|
}
|
|
220
220
|
if (appIdObjBid) {
|
|
221
221
|
payload.app = appIdObj;
|
|
@@ -246,7 +246,7 @@ export const spec = {
|
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
if (bidderRequest && bidderRequest.uspConsent) {
|
|
249
|
-
payload.us_privacy = bidderRequest.uspConsent
|
|
249
|
+
payload.us_privacy = bidderRequest.uspConsent;
|
|
250
250
|
}
|
|
251
251
|
|
|
252
252
|
if (bidderRequest && bidderRequest.refererInfo) {
|
|
@@ -256,7 +256,7 @@ export const spec = {
|
|
|
256
256
|
rd_top: bidderRequest.refererInfo.reachedTop,
|
|
257
257
|
rd_ifs: bidderRequest.refererInfo.numIframes,
|
|
258
258
|
rd_stk: bidderRequest.refererInfo.stack.map((url) => encodeURIComponent(url)).join(',')
|
|
259
|
-
}
|
|
259
|
+
};
|
|
260
260
|
payload.referrer_detection = refererinfo;
|
|
261
261
|
}
|
|
262
262
|
|
|
@@ -441,7 +441,7 @@ export const spec = {
|
|
|
441
441
|
reloadViewabilityScriptWithCorrectParameters(bid);
|
|
442
442
|
}
|
|
443
443
|
}
|
|
444
|
-
}
|
|
444
|
+
};
|
|
445
445
|
|
|
446
446
|
function isPopulatedArray(arr) {
|
|
447
447
|
return !!(isArray(arr) && arr.length > 0);
|
|
@@ -459,7 +459,7 @@ function reloadViewabilityScriptWithCorrectParameters(bid) {
|
|
|
459
459
|
if (viewJsPayload) {
|
|
460
460
|
let prebidParams = 'pbjs_adid=' + bid.adId + ';pbjs_auc=' + bid.adUnitCode;
|
|
461
461
|
|
|
462
|
-
let jsTrackerSrc = getViewabilityScriptUrlFromPayload(viewJsPayload)
|
|
462
|
+
let jsTrackerSrc = getViewabilityScriptUrlFromPayload(viewJsPayload);
|
|
463
463
|
|
|
464
464
|
let newJsTrackerSrc = jsTrackerSrc.replace('dom_id=%native_dom_id%', prebidParams);
|
|
465
465
|
|
|
@@ -553,7 +553,7 @@ function formatRequest(payload, bidderRequest) {
|
|
|
553
553
|
if (getParameterByName('apn_test').toUpperCase() === 'TRUE' || config.getConfig('apn_test') === true) {
|
|
554
554
|
options.customHeaders = {
|
|
555
555
|
'X-Is-Test': 1
|
|
556
|
-
}
|
|
556
|
+
};
|
|
557
557
|
}
|
|
558
558
|
|
|
559
559
|
if (payload.tags.length > MAX_IMPS_PER_REQUEST) {
|
|
@@ -766,7 +766,7 @@ function bidToTag(bid) {
|
|
|
766
766
|
tag.code = bid.params.invCode;
|
|
767
767
|
}
|
|
768
768
|
tag.allow_smaller_sizes = bid.params.allowSmallerSizes || false;
|
|
769
|
-
tag.use_pmt_rule = bid.params.usePaymentRule || false
|
|
769
|
+
tag.use_pmt_rule = bid.params.usePaymentRule || false;
|
|
770
770
|
tag.prebid = true;
|
|
771
771
|
tag.disable_psa = true;
|
|
772
772
|
let bidFloor = getBidFloor(bid);
|
|
@@ -139,7 +139,7 @@ export const spec = {
|
|
|
139
139
|
* @return {Bid[]} An array of bids which were nested inside the server.
|
|
140
140
|
*/
|
|
141
141
|
interpretResponse: (serverResponse) => {
|
|
142
|
-
if (!serverResponse || !serverResponse.body) return []
|
|
142
|
+
if (!serverResponse || !serverResponse.body) return [];
|
|
143
143
|
let GothamAdsResponse = serverResponse.body;
|
|
144
144
|
|
|
145
145
|
let bids = [];
|
|
@@ -273,7 +273,7 @@ const addNativeParameters = bidRequest => {
|
|
|
273
273
|
hmin = sizes[1];
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
-
asset[props.name] = {}
|
|
276
|
+
asset[props.name] = {};
|
|
277
277
|
|
|
278
278
|
if (bidParams.len) asset[props.name]['len'] = bidParams.len;
|
|
279
279
|
if (props.type) asset[props.name]['type'] = props.type;
|