├── .nvmrc
├── test
├── helpers
│ ├── testing-utils.js
│ ├── pbjs-test-only.js
│ ├── prebidGlobal.js
│ └── karma-init.js
├── test_index.js
├── fixtures
│ ├── config.json
│ ├── ad-server-targeting.json
│ ├── googletag-slots.json
│ ├── video
│ │ ├── vastUrlResponse.json
│ │ ├── vastPayloadResponse.json
│ │ ├── adUnit.json
│ │ └── bidRequest.json
│ └── targeting-map.json
├── mocks
│ ├── adloaderStub.js
│ └── videoCacheStub.js
├── spec
│ ├── unit
│ │ └── adUnits_spec.js
│ ├── modules
│ │ ├── googleAnalyticsAdapter_spec.js
│ │ └── digitrustIdSystem_spec.js
│ ├── aliasBidder_spec.js
│ ├── adloader_spec.js
│ └── integration
│ │ └── faker
│ │ └── fixtures.js
└── .eslintrc.js
├── .editorconfig
├── genius-adapters.json
├── modules
├── realvuAnalyticsAdapter.md
├── sortableAnalyticsAdapter.md
├── .submodules.json
├── rivrAnalyticsAdapter.md
├── adagioAnalyticsAdapter.md
├── prebidmanagerAnalyticsAdapter.md
├── kargoAnalyticsAdapter.js
├── meazyBidAdapter.md
├── adxcgAnalyticsAdapter.md
├── vubleAnalyticsAdapter.md
├── sigmoidAnalyticsAdapter.md
├── datablocksAnalyticsAdapter.js
├── datablocksAnalyticsAdapter.md
├── eplanningAnalyticsAdapter.md
├── vmgBidAdapter.md
├── eplanningBidAdapter.md
├── appnexusAnalyticsAdapter.js
├── atomxBidAdapter.md
├── pulsepointAnalyticsAdapter.js
├── scaleableAnalyticsAdapter.md
├── innityBidAdapter.md
├── sovrnAnalyticsAdapter.md
├── yuktamediaAnalyticsAdapter.md
├── outconAdapter.md
├── piximediaBidAdapter.md
├── adkernelAdnAnalyticsAdapter.md
├── yieldoneAnalyticsAdapter.md
├── freeWheelAdserverVideo.js
├── appierAnalyticsAdapter.md
├── staqAnalyticsAdapter.md
├── lockerdomeBidAdapter.md
├── timBidAdapter.md
├── sonobiAnalyticsAdapter.md
├── giantsBidAdapter.md
├── kargoBidAdapter.md
├── logicadBidAdapter.md
├── bidfluenceBidAdapter.md
├── fidelityBidAdapter.md
├── rdnBidAdapter.md
├── rtbdemandBidAdapter.md
├── orbidderBidAdapter.md
├── prebidServerBidAdapter
│ └── config.js
├── livewrappedBidAdapter.md
├── aardvarkBidAdapter.md
├── playgroundxyzBidAdapter.md
├── videoreachBidAdapter.md
├── undertoneBidAdapter.md
├── colombiaBidAdapter.md
├── huddledmassesBidAdapter.md
├── invibesBidAdapter.md
├── microadBidAdapter.md
├── imonomyBidAdapter.md
├── adliveBidAdapter.md
├── arteebeeBidAdapter.md
├── peak226BidAdapter.md
├── underdogmediaBidAdapter.md
├── pubnxBidAdapter.md
├── bizzclickBidAdapter.md
├── mantisBidAdapter.md
├── padsquadBidAdapter.md
├── smartyadsBidAdapter.md
├── advenueBidAdapter.md
├── hpmdnetworkBidAdapter.md
├── nextMillenniumBidAdapter.md
├── vertozBidAdapter.md
├── komoonaBidAdapter.md
├── weboramaBidAdapter.md
├── adponeBidAdapter.md
├── freewheel-sspBidAdapter.md
├── reklamstoreBidAdapter.md
├── bidphysicsBidAdapter.md
├── decenteradsBidAdapter.md
├── inskinBidAdapter.md
├── collectcentBidAdapter.md
├── colossussspBidAdapter.md
├── topRTBBidAdapter.md
├── taphypeBidAdapter.md
├── adagioAnalyticsAdapter.js
├── unrulyBidAdapter.md
├── coinzillaBidAdapter.md
├── yieldmoBidAdapter.md
├── andbeyondBidAdapter.md
├── 33acrossBidAdapter.md
├── fairtradeBidAdapter.md
├── nafdigitalBidAdapter.md
├── optimaticBidAdapter.md
├── rexrtbBidAdapter.md
├── vidazooBidAdapter.md
├── brightcomBidAdapter.md
├── pubCommonId.md
├── adspiritBidAdapter.md
├── admanBidAdapter.md
├── contentigniteBidAdapter.md
├── bidglassBidAdapter.md
├── c1xBidAdapter.md
├── gjirafaBidAdapter.md
├── marsmediaBidAdapter.md
├── otmBidAdapter.md
├── telariaBidAdapter.md
├── brainyBidAdapter.md
├── readpeakBidAdapter.md
├── adyoulikeBidAdapter.md
├── go2net.md
├── nasmediaAdmixerBidAdapter.md
├── ucfunnelBidAdapter.md
├── videoNowBidAdapter.md
├── aniviewBidAdapter.md
├── divreachBidAdapter.md
├── adoceanBidAdapter.md
├── criteoBidAdapter.md
├── emoteevBidAdapter.md
├── onetagBidAdapter.md
├── polluxBidAdapter.md
├── aduptechBidAdapter.md
├── gumgumBidAdapter.md
├── my6senseBidAdapter.md
├── radsBidAdapter.md
├── bucksenseBidAdapter.md
├── interactiveOffersBidAdapter.md
├── adbutlerBidAdapter.md
├── cpmstarBidAdapter.md
├── adformBidAdapter.md
├── iasBidAdapter.md
├── sovrnBidAdapter.md
├── mobfoxBidAdapter.md
├── madvertiseBidAdapter.md
├── loopmeBidAdapter.md
├── open8BidAdapter.md
├── papyrusBidAdapter.md
├── widespaceBidAdapter.md
├── mytargetBidAdapter.md
├── fyberBidAdapter.md
├── sekindoUMBidAdapter.md
├── admediaBidAdapter.md
├── openxoutstreamBidAdapter.md
├── sharethroughBidAdapter.md
├── slimcutBidAdapter.md
├── eywamediaBidAdapter.md
├── jcmBidAdapter.md
├── trafficrootsBidAdapter.md
├── etargetBidAdapter.md
├── adkernelBidAdapter.md
├── adxpremiumAnalyticsAdapter.md
├── justpremiumBidAdapter.md
├── saraBidAdapter.md
├── gxoneBidAdapter.md
├── supply2BidAdapter.md
├── teadsBidAdapter.md
├── visxBidAdapter.md
├── djaxBidAdapter.md
├── danmarketBidAdapter.md
├── a4gBidAdapter.md
├── adkernelAdnBidAdapter.md
├── conversantBidAdapter.md
├── serverbidBidAdapter.md
├── rtbdemandadkBidAdapter.md
├── trionBidAdapter.md
├── smartrtbBidAdapter.md
├── xendizBidAdapter.md
├── aolBidAdapter.md
├── fintezaAnalyticsAdapter.md
├── somoBidAdapter.md
├── stvBidAdapter.md
├── cedatoBidAdapter.md
├── rockyouBidAdapter.md
├── lifestreetBidAdapter.md
├── googleAnalyticsAdapter.md
├── lkqdBidAdapter.md
├── sortableBidAdapter.md
├── rivrAnalyticsAdapter.js
├── getintentBidAdapter.md
├── appierBidAdapter.md
├── consumableBidAdapter.md
├── uolBidAdapter.md
├── oneVideoBidAdapter.md
├── oneplanetonlyBidAdapter.md
├── tripleliftBidAdapter.md
├── dgadsBidAdapter.md
├── ebdrBidAdapter.md
├── audienceNetworkBidAdapter.md
├── adxcgBidAdapter.md
├── taphypeBidAdapter.js
├── sublimeBidAdapter.md
├── iqmBidAdapter.md
├── rhythmoneBidAdapter.md
├── polymorphBidAdapter.md
├── advangelistsBidAdapter.md
├── nobidBidAdapter.md
└── yieldlabBidAdapter.md
├── plugins
├── eslint
│ └── package.json
└── RequireEnsureWithoutJsonp.js
├── src
├── adapter.js
├── adapters
│ └── analytics
│ │ ├── example.js
│ │ └── example2.js
├── prebidGlobal.js
├── mediaTypes.js
├── hook.js
├── adUnits.js
└── bidfactory.js
├── integrationExamples
├── gpt
│ ├── amp
│ │ ├── gulpfile.js
│ │ ├── README.md
│ │ └── creative.html
│ └── creative_rendering.html
└── longform
│ └── longform_testpages_style.css
├── allowedModules.js
├── .babelrc.js
├── .github
├── stale.yml
└── ISSUE_TEMPLATE.md
├── nightwatch.json
├── .eslintrc.js
├── nightwatch.conf.js
└── nightwatch.browserstack.json
/.nvmrc:
--------------------------------------------------------------------------------
1 | 8.9
2 |
--------------------------------------------------------------------------------
/test/helpers/testing-utils.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | host: (process.env.TEST_SERVER_HOST) ? process.env.TEST_SERVER_HOST : 'localhost',
3 | protocol: (process.env.TEST_SERVER_PROTOCOL) ? 'https' : 'http'
4 | }
5 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 |
7 | [*.js]
8 | charset = utf-8
9 | indent_style = space
10 | indent_size = 2
11 | trim_trailing_whitespace = true
12 |
--------------------------------------------------------------------------------
/genius-adapters.json:
--------------------------------------------------------------------------------
1 | [
2 | "appnexusBidAdapter",
3 | "consentManagement",
4 | "ixBidAdapter",
5 | "prebidServerBidAdapter",
6 | "tripleliftBidAdapter",
7 | "rubiconBidAdapter",
8 | "undertoneBidAdapter"
9 | ]
10 |
--------------------------------------------------------------------------------
/test/helpers/pbjs-test-only.js:
--------------------------------------------------------------------------------
1 | export const pbjsTestOnly = {
2 |
3 | getAdUnits() {
4 | return $$PREBID_GLOBAL$$.adUnits;
5 | },
6 |
7 | clearAllAdUnits() {
8 | $$PREBID_GLOBAL$$.adUnits = [];
9 | }
10 | };
11 |
--------------------------------------------------------------------------------
/test/helpers/prebidGlobal.js:
--------------------------------------------------------------------------------
1 | window.$$PREBID_GLOBAL$$ = (window.$$PREBID_GLOBAL$$ || {});
2 | window.$$PREBID_GLOBAL$$.cmd = window.$$PREBID_GLOBAL$$.cmd || [];
3 | window.$$PREBID_GLOBAL$$.que = window.$$PREBID_GLOBAL$$.que || [];
4 |
--------------------------------------------------------------------------------
/test/helpers/karma-init.js:
--------------------------------------------------------------------------------
1 | (function (window) {
2 | if (!window.parent.pbjsKarmaInitDone && window.location.pathname === '/context.html') {
3 | window.parent.pbjsKarmaInitDone = true;
4 | window.open('/debug.html', '_blank');
5 | }
6 | })(window);
7 |
--------------------------------------------------------------------------------
/test/test_index.js:
--------------------------------------------------------------------------------
1 | require('test/helpers/prebidGlobal.js');
2 | require('test/mocks/adloaderStub.js');
3 |
4 | var testsContext = require.context('.', true, /_spec$/);
5 | testsContext.keys().forEach(testsContext);
6 |
7 | window.$$PREBID_GLOBAL$$.processQueue();
8 |
--------------------------------------------------------------------------------
/modules/realvuAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: RealVu Analytics Adapter
4 | Module Type: Analytics Adapter
5 | Maintainer: it@realvu.com
6 |
7 | # Description
8 |
9 | Analytics adapter for realvu.com. Contact support@realvu.com for information.
10 |
--------------------------------------------------------------------------------
/modules/sortableAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Sortable Analytics Adapter
4 | Module Type: Analytics Adapter
5 | Maintainer: prebid@sortable.com
6 |
7 | # Description
8 |
9 | Analytics adapter for Sortable. Contact prebid@sortable.com for information.
10 |
--------------------------------------------------------------------------------
/modules/.submodules.json:
--------------------------------------------------------------------------------
1 | {
2 | "userId": [
3 | "digiTrustIdSystem",
4 | "id5IdSystem",
5 | "criteortusIdSystem",
6 | "parrableIdSystem",
7 | "liveIntentIdSystem"
8 | ],
9 | "adpod": [
10 | "freeWheelAdserverVideo",
11 | "dfpAdServerVideo"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "adUnitElementIDs": [
3 | "div-test-ad-0",
4 | "div-test-ad-1",
5 | "div-test-ad-2"
6 | ],
7 | "adUnitCodes": [
8 | "/19968336/header-bid-tag-0",
9 | "/123456/header-bid-tag-1",
10 | "/123456/header-bid-tag-2"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/modules/rivrAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Rivr Analytics Adapter
4 |
5 | Module Type: Analytics Adapter
6 |
7 | Maintainer: rnd@simplaex.com
8 |
9 | # Description
10 |
11 | Analytics adapter for www.rivr.ai.
12 |
13 | Contact support@simplaex.com for information and support.
14 |
--------------------------------------------------------------------------------
/modules/adagioAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Adagio Analytics Adapter
4 | Module Type: Adagio Adapter
5 | Maintainer: dev@adagio.io
6 |
7 | # Description
8 |
9 | Analytics adapter for Adagio
10 |
11 | # Test Parameters
12 |
13 | ```
14 | {
15 | provider: 'adagio'
16 | }
17 | ```
18 |
--------------------------------------------------------------------------------
/test/fixtures/ad-server-targeting.json:
--------------------------------------------------------------------------------
1 | {
2 | "/9968336/header-bid-tag-0": {
3 | "hb_bidder": "rubicon",
4 | "hb_adid": "13f44b0d3c",
5 | "hb_pb": "1.50"
6 | },
7 | "/9968336/header-bid-tag1": {
8 | "hb_bidder": "openx",
9 | "hb_adid": "147ac541a",
10 | "hb_pb": "1.00"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/test/fixtures/googletag-slots.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "getSlotElementId": "function(){ return \"div-gpt-ad-1438287399331-0\"; }"
4 | },
5 | {
6 | "getSlotElementId": "function(){ return \"div-gpt-ad-1438287399331-1\"; }"
7 | },
8 | {
9 | "getSlotElementId": "function(){ return \"div-gpt-ad-1438287399331-2\"; }"
10 | }
11 | ]
--------------------------------------------------------------------------------
/modules/prebidmanagerAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Prebid Manager Analytics Adapter
4 | Module Type: Analytics Adapter
5 | Maintainer: admin@prebidmanager.com
6 |
7 | # Description
8 |
9 | Analytics adapter for Prebid Manager. Contact admin@prebidmanager.com for information.
10 |
--------------------------------------------------------------------------------
/plugins/eslint/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "eslint-plugin-prebid",
3 | "version": "1.0.0",
4 | "description": "validates module imports can be found without custom webpack resolvers, are in module whitelist, and not module entry points",
5 | "main": "validateImports.js",
6 | "author": "the prebid.js contributors",
7 | "license": "Apache-2.0"
8 | }
9 |
--------------------------------------------------------------------------------
/test/fixtures/video/vastUrlResponse.json:
--------------------------------------------------------------------------------
1 | {
2 | "adUnitCode": "video1",
3 | "bidder": "appnexus",
4 | "bidderCode": "appnexus",
5 | "code": "appnexus",
6 | "dealId": "foo",
7 | "cpm": 0.1,
8 | "height": 480,
9 | "mediaType": "video",
10 | "auctionId": "6172477f-987f-4523-a967-fa6d7a434ddf",
11 | "vastUrl": "www.myVastUrl.com",
12 | "width": 640
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/video/vastPayloadResponse.json:
--------------------------------------------------------------------------------
1 | {
2 | "adUnitCode": "video1",
3 | "bidder": "appnexus",
4 | "bidderCode": "appnexus",
5 | "code": "appnexus",
6 | "dealId": "foo",
7 | "cpm": 0.1,
8 | "height": 480,
9 | "mediaType": "video",
10 | "auctionId": "6172477f-987f-4523-a967-fa6d7a434ddf",
11 | "vastXml": "",
12 | "width": 640
13 | }
14 |
--------------------------------------------------------------------------------
/test/fixtures/video/adUnit.json:
--------------------------------------------------------------------------------
1 | {
2 | "code": "video1",
3 | "sizes": [640,480],
4 | "mediaType": "video",
5 | "bids": [
6 | {
7 | "bidder": "appnexus",
8 | "params": {
9 | "placementId": "9333431",
10 | "video": {
11 | "skipppable": false,
12 | "playback_methods": ["auto_play_sound_off"]
13 | }
14 | }
15 | }
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/modules/kargoAnalyticsAdapter.js:
--------------------------------------------------------------------------------
1 | import adapter from '../src/AnalyticsAdapter';
2 | import adapterManager from '../src/adapterManager';
3 |
4 | var kargoAdapter = adapter({
5 | analyticsType: 'endpoint',
6 | url: 'https://krk.kargo.com/api/v1/event/prebid'
7 | });
8 |
9 | adapterManager.registerAnalyticsAdapter({
10 | adapter: kargoAdapter,
11 | code: 'kargo'
12 | });
13 |
14 | export default kargoAdapter;
15 |
--------------------------------------------------------------------------------
/src/adapter.js:
--------------------------------------------------------------------------------
1 | export default function Adapter(code) {
2 | var bidderCode = code;
3 |
4 | function setBidderCode(code) {
5 | bidderCode = code;
6 | }
7 |
8 | function getBidderCode() {
9 | return bidderCode;
10 | }
11 |
12 | function callBids() {
13 | }
14 |
15 | return {
16 | callBids: callBids,
17 | setBidderCode: setBidderCode,
18 | getBidderCode: getBidderCode
19 | };
20 | }
21 |
--------------------------------------------------------------------------------
/src/adapters/analytics/example.js:
--------------------------------------------------------------------------------
1 | /**
2 | * example.js - analytics adapter for Example Analytics Library example
3 | */
4 |
5 | import adapter from '../../AnalyticsAdapter';
6 |
7 | export default adapter(
8 | {
9 | url: 'http://localhost:9999/src/adapters/analytics/libraries/example.js',
10 | global: 'ExampleAnalyticsGlobalObject',
11 | handler: 'on',
12 | analyticsType: 'library'
13 | }
14 | );
15 |
--------------------------------------------------------------------------------
/modules/meazyBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Meazy Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: dima@meazy.co
6 |
7 | # Description
8 |
9 | Module that connects to Meazy demand sources
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [{
14 | code: 'test-div',
15 | sizes: [[300, 250]],
16 | bids: [{
17 | bidder: "meazy",
18 | params: {
19 | pid: '6910b7344ae566a1'
20 | }
21 | }]
22 | }];
23 | ```
--------------------------------------------------------------------------------
/modules/adxcgAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | Module Name: adxcg Analytics Adapter
3 |
4 | Module Type: Analytics Adapter
5 |
6 | Maintainer: info@adxcg.com
7 |
8 | # Description
9 |
10 | Analytics adapter for Adxcg. We are an advanced programmatic solutions company.
11 | https://www.adxcg.com/
12 |
13 | # Test Parameters
14 |
15 | ```
16 | {
17 | provider: 'adxcg',
18 | options : {
19 | publisherId: ["42"]
20 | }
21 | }
22 |
23 | ```
24 |
--------------------------------------------------------------------------------
/modules/vubleAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Vuble Analytics Adapter
4 |
5 | Module Type: Vuble Analytics Adapter
6 |
7 | Maintainer: abruyere@mediabong.com
8 |
9 | # Description
10 |
11 | Analytics adapter for vuble.tv Contact contact@mediabong.com for information.
12 |
13 | # Test Parameters
14 |
15 | ```
16 | {
17 | provider: 'vuble',
18 | options: {
19 | pubId: 18, // require
20 | env: 'net', // require
21 | }
22 | }
23 | ```
24 |
--------------------------------------------------------------------------------
/integrationExamples/gpt/amp/gulpfile.js:
--------------------------------------------------------------------------------
1 | /** Run `gulp serve` to serve files from this directory in development
2 | * Set two different entries in hosts to use x-domain iframes
3 | * AMP requires https
4 | */
5 |
6 | var gulp = require('gulp');
7 | var connect = require('gulp-connect');
8 | var port = 5000;
9 |
10 | gulp.task('serve', function() {
11 | connect.server({
12 | port: port,
13 | root: './',
14 | livereload: true,
15 | https: true
16 | });
17 | });
18 |
--------------------------------------------------------------------------------
/modules/sigmoidAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | Module Name: Sigmoid Analytics Adapter
3 |
4 | Module Type: Analytics Adapter
5 |
6 | Maintainer: ramees@sigmoidanalytics.com
7 |
8 | # Description
9 |
10 | Analytics adapter for Sigmoid. We are an advanced analytical solutions company.
11 | https://www.sigmoid.com/
12 |
13 | # Test Parameters
14 |
15 | ```
16 | {
17 | provider: 'sigmoid',
18 | options : {
19 | publisherIds: ["3gxdf18d32"]
20 | }
21 | }
22 |
23 | ```
24 |
--------------------------------------------------------------------------------
/src/prebidGlobal.js:
--------------------------------------------------------------------------------
1 | // if $$PREBID_GLOBAL$$ already exists in global document scope, use it, if not, create the object
2 | // global defination should happen BEFORE imports to avoid global undefined errors.
3 | window.$$PREBID_GLOBAL$$ = (window.$$PREBID_GLOBAL$$ || {});
4 | window.$$PREBID_GLOBAL$$.cmd = window.$$PREBID_GLOBAL$$.cmd || [];
5 | window.$$PREBID_GLOBAL$$.que = window.$$PREBID_GLOBAL$$.que || [];
6 |
7 | export function getGlobal() {
8 | return window.$$PREBID_GLOBAL$$;
9 | }
10 |
--------------------------------------------------------------------------------
/test/fixtures/targeting-map.json:
--------------------------------------------------------------------------------
1 | {
2 | "/19968336/header-bid-tag-0": [
3 | {
4 | "hb_bidder": [
5 | "appnexus"
6 | ]
7 | },
8 | {
9 | "hb_adid": [
10 | "233bcbee889d46d"
11 | ]
12 | },
13 | {
14 | "hb_pb": [
15 | "10.00"
16 | ]
17 | },
18 | {
19 | "hb_size": [
20 | "300x250"
21 | ]
22 | },
23 | {
24 | "foobar": [
25 | "300x250"
26 | ]
27 | }
28 | ]
29 | }
--------------------------------------------------------------------------------
/modules/datablocksAnalyticsAdapter.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Analytics Adapter for Datablocks
3 | */
4 |
5 | import adapter from '../src/AnalyticsAdapter';
6 | import adapterManager from '../src/adapterManager';
7 |
8 | var datablocksAdapter = adapter({
9 | global: 'datablocksAnalytics',
10 | handler: 'on',
11 | analyticsType: 'bundle'
12 | });
13 |
14 | adapterManager.registerAnalyticsAdapter({
15 | adapter: datablocksAdapter,
16 | code: 'datablocks'
17 | });
18 |
19 | export default datablocksAdapter;
20 |
--------------------------------------------------------------------------------
/modules/datablocksAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Datablocks Analytics Adapter
4 | Module Type: Datablocks Adapter
5 | Maintainer: support@datablocks.net
6 |
7 | # Description
8 |
9 | Analytics adapter for Datablocks.net. Contact support@datablocks.net for information.
10 |
11 | # Test Parameters
12 |
13 | ```
14 | {
15 | provider: 'datablocks',
16 | options: {
17 | publisherId: 12345,
18 | sourceId: 12356,
19 | host: 'prebid.datablocks.net'
20 |
21 | }
22 | }
23 | ```
--------------------------------------------------------------------------------
/modules/eplanningAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: E-Planning Analytics Adapter
5 | Module Type: Analytics Adapter
6 | Maintainer: mmartinho@e-planning.net
7 | ```
8 |
9 | # Description
10 |
11 | Analytics adapter for E-Planning.
12 |
13 | # Test Parameters
14 |
15 | ```
16 | {
17 | provider: 'eplanning',
18 | options : {
19 | host: 'https://ads.us.e-planning.net/hba/1/', // Host (optional)
20 | ci: "123456" // Client ID (required)
21 | }
22 | }
23 | ```
24 |
--------------------------------------------------------------------------------
/modules/vmgBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: VMG Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: paul@vmgood.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects DFP to the VMG Predict engine.
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'div-0',
17 | mediaTypes: {
18 | banner: {
19 | sizes: sizes
20 | }
21 | },
22 | bids: [
23 | {
24 | bidder: 'vmg'
25 | }
26 | ]
27 | }];
28 | ```
29 |
--------------------------------------------------------------------------------
/modules/eplanningBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: E-Planning Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: ainsua@e-planning.net
7 | ```
8 |
9 | # Description
10 |
11 | Connects to E-Planning exchange for bids.
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'div-gpt-ad-1460505748561-0',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'eplanning',
20 | params: {
21 | t: 1
22 | }
23 | }]
24 | }];
25 | ```
26 |
--------------------------------------------------------------------------------
/modules/appnexusAnalyticsAdapter.js:
--------------------------------------------------------------------------------
1 | /**
2 | * appnexus.js - AppNexus Prebid Analytics Adapter
3 | */
4 |
5 | import adapter from '../src/AnalyticsAdapter';
6 | import adapterManager from '../src/adapterManager';
7 |
8 | var appnexusAdapter = adapter({
9 | global: 'AppNexusPrebidAnalytics',
10 | handler: 'on',
11 | analyticsType: 'bundle'
12 | });
13 |
14 | adapterManager.registerAnalyticsAdapter({
15 | adapter: appnexusAdapter,
16 | code: 'appnexus'
17 | });
18 |
19 | export default appnexusAdapter;
20 |
--------------------------------------------------------------------------------
/modules/atomxBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | Module Name: Atomx Bidder Adapter Module
3 | Type: Bidder Adapter
4 | Maintainer: erik@atomx.com
5 |
6 | # Description
7 | Atomx Bidder Adapter for Prebid.js.
8 |
9 | # Test Parameters
10 | ```
11 | var adUnits = [
12 | {
13 | code: 'test-div',
14 | sizes: [[300, 250]],
15 | bids: [
16 | {
17 | bidder: 'atomx',
18 | params: {
19 | id: 4025860,
20 | }
21 | }
22 | ]
23 | }
24 | ];
25 | ```
26 |
--------------------------------------------------------------------------------
/modules/pulsepointAnalyticsAdapter.js:
--------------------------------------------------------------------------------
1 | /**
2 | * pulsepoint.js - Analytics Adapter for PulsePoint
3 | */
4 |
5 | import adapter from '../src/AnalyticsAdapter';
6 | import adapterManager from '../src/adapterManager';
7 |
8 | var pulsepointAdapter = adapter({
9 | global: 'PulsePointPrebidAnalytics',
10 | handler: 'on',
11 | analyticsType: 'bundle'
12 | });
13 |
14 | adapterManager.registerAnalyticsAdapter({
15 | adapter: pulsepointAdapter,
16 | code: 'pulsepoint'
17 | });
18 |
19 | export default pulsepointAdapter;
20 |
--------------------------------------------------------------------------------
/modules/scaleableAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Scaleable Analytics Adapter
4 | Module Type: Analytics Adapter
5 | Maintainer: chris@scaleable.ai
6 |
7 | # Description
8 |
9 | Analytics adapter for scaleable.ai. Contact team@scaleable.ai for more information or to sign up for analytics.
10 |
11 | # Implementation Code
12 |
13 | ```
14 | pbjs.enableAnalytics({
15 | provider: 'scaleable',
16 | options: {
17 | site: '' // Contact Scaleable to receive your unique site id
18 | }
19 | });
20 | ```
21 |
--------------------------------------------------------------------------------
/modules/innityBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Innity Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: engtat@innity.com
6 |
7 | # Description
8 |
9 | Innity Bidder Adapter for Prebid.js.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [{
14 | code: 'div-gpt-ad-1460505748561-0',
15 | sizes: [[300, 250]],
16 | bids: [{
17 | bidder: 'innity',
18 | params: {
19 | pub: 267,
20 | zone: 62546
21 | }
22 | }]
23 | }];
24 |
25 | ```
--------------------------------------------------------------------------------
/modules/sovrnAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Sovrn Analytics Adapter
5 | Module Type: Analytics Adapter
6 | Maintainer: jrosendahl@sovrn.com
7 | ```
8 |
9 | # Description
10 |
11 | Sovrn's analytics adaptor allows you to view detailed auction information in Meridian.
12 |
13 | For more information, visit Sovrn.com.
14 |
15 | # Test Parameters
16 | ```
17 | {
18 | provider: 'sovrn',
19 | options: {
20 | sovrnId: 'xxxxx', // Sovrn ID (required) you can get this by contacting Sovrn support.
21 | }
22 | }
23 | ```
24 |
--------------------------------------------------------------------------------
/modules/yuktamediaAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | Module Name: YuktaMedia Analytics Adapter
3 |
4 | Module Type: Analytics Adapter
5 |
6 | Maintainer: info@yuktamedia.com
7 |
8 | # Description
9 |
10 | Analytics adapter for prebid provided by YuktaMedia. Contact info@yuktamedia.com for information.
11 |
12 | # Test Parameters
13 |
14 | ```
15 | {
16 | provider: 'yuktamedia',
17 | options : {
18 | pubId : 50357 //id provided by YuktaMedia LLP
19 | pubKey: 'xxx' //key provided by YuktaMedia LLP
20 | }
21 | }
22 | ```
23 |
--------------------------------------------------------------------------------
/modules/outconAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: outconAdapter
5 | Module Type: Bidder Adapter
6 | Maintainer: mfolmer@dokkogroup.com.ar
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Outcon demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | bidder: 'outcon',
18 | params: {
19 | internalId: '12345678',
20 | publisher: '5d5d66f2306ea4114a37c7c2',
21 | bidId: '123456789',
22 | env: 'test'
23 | }
24 | }
25 | ];
26 | ```
--------------------------------------------------------------------------------
/modules/piximediaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Piximedia Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: contact@piximedia.fr
6 |
7 | # Description
8 |
9 | Piximedia Bidder Adapter for Prebid.js.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [{
14 | code: 'mpu',
15 | sizes: [[300, 250]],
16 | bids: [{
17 | bidder: 'piximedia',
18 | params: {
19 | siteId: 'PIXIMEDIA',
20 | placementId: 'PREBID'
21 | }
22 | }]
23 | }];
24 |
25 | ```
26 |
--------------------------------------------------------------------------------
/modules/adkernelAdnAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | Module Name: Adkernel ADN Analytics Adapter
3 |
4 | Module Type: Analytics Adapter
5 |
6 | Maintainer: denis@adkernel.com
7 |
8 | # Description
9 |
10 | Analytics adapter for Adkernel Ad Delivery Network. Contact contact@adkernel.com for information.
11 |
12 | # Test Parameters
13 |
14 | ```
15 | {
16 | provider: 'adkernelAdn',
17 | options : {
18 | pubId : 50357, //id provided by adkernel
19 | host: 'dsp-staging.adkernel.com' //optional host for validation purposes
20 | }
21 | }
22 | ```
23 |
--------------------------------------------------------------------------------
/modules/yieldoneAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | Module Name: Platform One Analytics
3 |
4 | Module Type: Analytics Adapter
5 |
6 | Maintainer: y1s@platform-one.co.jp
7 |
8 | # Description
9 |
10 | Analytics adapter for Platform One. Please contact y1s@platform-one.co.jp for any additional information. Official website link to the vendor: www.platform-one.co.jp/.
11 |
12 | # Test Parameters
13 |
14 | ```
15 | {
16 | provider: 'yieldone',
17 | options : {
18 | pubId : 'TestAnalyticsPublisher', //id provided by Platform One publisher team
19 | }
20 | }
21 | ```
--------------------------------------------------------------------------------
/modules/freeWheelAdserverVideo.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This module adds Freewheel support for Video to Prebid.
3 | */
4 |
5 | import { registerVideoSupport } from '../src/adServerManager';
6 | import { getHook, submodule } from '../src/hook';
7 |
8 | export const adpodUtils = {};
9 | export function notifyTranslationModule(fn) {
10 | fn.call(this, 'freewheel');
11 | }
12 |
13 | getHook('registerAdserver').before(notifyTranslationModule);
14 |
15 | registerVideoSupport('freewheel', {
16 | getTargeting: (args) => adpodUtils.getTargeting(args)
17 | });
18 |
19 | submodule('adpod', adpodUtils);
20 |
--------------------------------------------------------------------------------
/modules/appierAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Appier Analytics Adapter
4 | Module Type: Analytics Adapter
5 | Maintainer: apn-dev@appier.com
6 |
7 | # Description
8 |
9 | Analytics adapter for Appier
10 |
11 | # Test Parameters
12 |
13 | ```
14 | {
15 | provider: 'appierAnalytics',
16 | options: {
17 | 'configId': 'YOUR_CONFIG_ID',
18 | 'affiliateId': 'YOUR_AFFILIATE_ID',
19 | }
20 | }
21 | ```
22 |
23 | PS. [Prebid currency module](http://prebid.org/dev-docs/modules/currency.html) is required, please make sure your prebid code contains currency module code.
24 |
--------------------------------------------------------------------------------
/modules/staqAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | Module Name: STAQ Analytics Adapter
3 |
4 | Module Type: Analytics Adapter
5 |
6 | Maintainer: dev@staq.com
7 |
8 | # Description
9 |
10 | Analytics adapter for STAQ. Contact support@staq.com for information.
11 |
12 | # Test Parameters
13 |
14 | ```
15 | {
16 | provider: 'staq',
17 | options: {
18 | host: , // HOST URL of site. Optional. Only required for whitelisting.
19 | url: 'localhost:3000', // REQUIRED host URL for delivery of information to STAQ
20 | connId: '5678' // REQUIRED STAQ connection ID
21 | }
22 | }
23 | ```
24 |
--------------------------------------------------------------------------------
/modules/lockerdomeBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: LockerDome Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: bidding@lockerdome.com
7 | ```
8 |
9 | #Description
10 | Connects to LockerDome Ad Server for bids.
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [{
15 | code: 'ad-div',
16 | mediaTypes: {
17 | banner: {
18 | sizes: [[300, 250]]
19 | }
20 | },
21 | bids: [{
22 | bidder: 'lockerdome',
23 | params: {
24 | adUnitId: 'LD10809467961050726'
25 | }
26 | }]
27 | }];
28 | ```
29 |
--------------------------------------------------------------------------------
/modules/timBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: tim Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: boris@thetimmedia.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to tim's demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | "code":"99",
17 | "sizes":[[300,250]],
18 | "bids":[{"bidder":"tim",
19 | "params":{
20 | "placementCode":"testPlacementCode",
21 | "publisherid":"testpublisherid"
22 | }
23 | }]
24 | }]
25 | ```
26 |
27 |
--------------------------------------------------------------------------------
/modules/sonobiAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Sonobi Analytics Adapter
5 | Module Type: Analytics Adapter
6 | Maintainer: apex@sonobi.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Sonobi's Analytics service
12 |
13 | # Test Parameters
14 | ```
15 |
16 | pbjs.enableAnalytics({
17 | provider: 'sonobi',
18 | options: {
19 | pubId: 'ffBB352',
20 | siteId: 57463,
21 | delay: 300
22 | }
23 | });
24 | ```
25 |
--------------------------------------------------------------------------------
/src/mediaTypes.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This file contains the valid Media Types in Prebid.
3 | *
4 | * All adapters are assumed to support banner ads. Other media types are specified by Adapters when they
5 | * register themselves with prebid-core.
6 | */
7 |
8 | /**
9 | * @typedef {('native'|'video'|'banner')} MediaType
10 | * @typedef {('adpod')} VideoContext
11 | */
12 |
13 | /** @type MediaType */
14 | export const NATIVE = 'native';
15 | /** @type MediaType */
16 | export const VIDEO = 'video';
17 | /** @type MediaType */
18 | export const BANNER = 'banner';
19 | /** @type VideoContext */
20 | export const ADPOD = 'adpod';
21 |
--------------------------------------------------------------------------------
/integrationExamples/longform/longform_testpages_style.css:
--------------------------------------------------------------------------------
1 | #videoPlayer {
2 | height: 480px;
3 | width: 100%;
4 | background-color: #000;
5 | }
6 |
7 | .outer {
8 | position: relative;
9 | }
10 |
11 | #skip {
12 | position: absolute;
13 | right: 20px;
14 | bottom: 20px;
15 | display: none;
16 | color: white;
17 | background-color: black;
18 | border: 1px solid gray;
19 | }
20 |
21 | #adCount {
22 | color: white;
23 | position: absolute;
24 | left: 20px;
25 | bottom: 20px;
26 | display: none;
27 | }
28 |
29 | #showad {
30 | color: white;
31 | position: absolute;
32 | left: 20px;
33 | top: 20px;
34 | }
--------------------------------------------------------------------------------
/modules/giantsBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Giants Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: info@prebid.org
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Giants exchange for bids.
12 |
13 | Giants bid adapter supports Banner.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | // Banner adUnit
19 | {
20 | code: 'banner-div',
21 | sizes: [[300, 250], [300,600]],
22 | bids: [{
23 | bidder: 'giants',
24 | params: {
25 | zoneId: '584072408'
26 | }
27 | }]
28 | }
29 | ];
30 | ```
--------------------------------------------------------------------------------
/modules/kargoBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Kargo Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: kraken@kargo.com
6 |
7 | # Description
8 |
9 | Please use `kargo` as the bidder code. Also, you *must* test on a mobile device, or emulate a mobile device by manipulating the user agent string sent to the server.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [{
14 | code: 'div-gpt-ad-1460505748561-1',
15 | sizes: [[300,250],[1,1]],
16 | bids: [{
17 | bidder: 'kargo',
18 | params: {
19 | placementId: '_m1Xt2E5dez'
20 | }
21 | }]
22 | }];
23 | ```
24 |
--------------------------------------------------------------------------------
/modules/logicadBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | ```
3 | Module Name: Logicad for Publishers
4 | Module Type: Bidder Adapter
5 | Maintainer: prebid@so-netmedia.jp
6 | ```
7 |
8 | # Description
9 | Module that connects to Logicad's demand sources.
10 | Currently module supports only banner mediaType.
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [{
15 | code: 'test-code',
16 | sizes: [[300, 250],[300, 600]],
17 | bids: [{
18 | bidder: 'logicad',
19 | params: {
20 | tid: 'test',
21 | page: 'url',
22 | }
23 | }]
24 | }];
25 | ```
26 |
--------------------------------------------------------------------------------
/modules/bidfluenceBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Bidfluence Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: integrations@bidfluence.com
7 | prebid_1_0_supported : true
8 | gdpr_supported: true
9 | ```
10 |
11 | # Description
12 |
13 | Bidfluence adapter for prebid.
14 |
15 | # Test Parameters
16 |
17 | ```
18 | var adUnits = [
19 | {
20 | code: 'test-prebid',
21 | sizes: [[300, 250]],
22 | bids: [{
23 | bidder: 'bidfluence',
24 | params: {
25 | placementId: '1000',
26 | publisherId: '1000'
27 | }
28 | }]
29 | }
30 | ]
31 | ```
32 |
--------------------------------------------------------------------------------
/modules/fidelityBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Fidelity Media fmxSSP Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: on@fidelity-media.com
6 |
7 | # Description
8 |
9 | Connects to Fidelity Media fmxSSP demand source to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [{
14 | code: 'banner-ad-div',
15 | sizes: [[300, 250]],
16 | bids: [{
17 | bidder: 'fidelity',
18 | params: {
19 | zoneid: '27248',
20 | floor: 0.005,
21 | server: 'x.fidelity-media.com'
22 | }
23 | }]
24 | }];
25 |
26 | ```
27 |
--------------------------------------------------------------------------------
/modules/rdnBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: RDN Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: engineer@lob-inc.com
7 | ```
8 |
9 | # Description
10 |
11 | Connect to RDN for bids.
12 |
13 | RDN bid adapter supports Banner currently.
14 |
15 | # Test Parameters
16 |
17 | ```
18 | var adUnits = [
19 | {
20 | code: 'test-ad-div',
21 | sizes: [[300, 250]],
22 | mediaTypes: {banner: {}},
23 | bids: [
24 | {
25 | bidder: 'rdn',
26 | params: {
27 | adSpotId: '10000'
28 | }
29 | }
30 | ]
31 | }
32 | ];
33 | ```
34 |
--------------------------------------------------------------------------------
/modules/rtbdemandBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Rtbdemand Media fmxSSP Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: rtb@rtbdemand.com
6 |
7 | # Description
8 |
9 | Connects to Rtbdemand Media fmxSSP demand source to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [{
14 | code: 'banner-ad-div',
15 | sizes: [[300, 250]],
16 | bids: [{
17 | bidder: 'rtbdemand',
18 | params: {
19 | zoneid: '9999',
20 | floor: 0.005,
21 | server: 'bidding.rtbdemand.com'
22 | }
23 | }]
24 | }];
25 |
26 | ```
27 |
--------------------------------------------------------------------------------
/modules/orbidderBidAdapter.md:
--------------------------------------------------------------------------------
1 | #Overview
2 |
3 | ```
4 | Module Name: Orbidder Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: orbidder@otto.de
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to orbidder demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: '/105091519/bidder_test',
17 | mediaTypes: {
18 | banner: {
19 | sizes: [728, 90]
20 | }
21 | },
22 | bids: [{
23 | bidder: 'orbidder'
24 | params: {
25 | accountId: "someAccount",
26 | placementId: "somePlace"
27 | }
28 | }]
29 | }];
30 | ```
31 |
--------------------------------------------------------------------------------
/modules/prebidServerBidAdapter/config.js:
--------------------------------------------------------------------------------
1 | // accountId and bidders params are not included here, should be configured by end-user
2 | export const S2S_VENDORS = {
3 | 'appnexus': {
4 | adapter: 'prebidServer',
5 | enabled: true,
6 | endpoint: '//prebid.adnxs.com/pbs/v1/openrtb2/auction',
7 | syncEndpoint: '//prebid.adnxs.com/pbs/v1/cookie_sync',
8 | timeout: 1000
9 | },
10 | 'rubicon': {
11 | adapter: 'prebidServer',
12 | enabled: true,
13 | endpoint: '//prebid-server.rubiconproject.com/openrtb2/auction',
14 | syncEndpoint: '//prebid-server.rubiconproject.com/cookie_sync',
15 | timeout: 500
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/modules/livewrappedBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Livewrapped Bid Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: info@livewrapped.com
6 |
7 | # Description
8 |
9 | Connects to Livewrapped Header Bidding wrapper for bids.
10 |
11 | Livewrapped supports banner.
12 |
13 | # Test Parameters
14 |
15 | ```
16 | var adUnits = [
17 | {
18 | code: 'banner-div',
19 | sizes: [[300, 250], [300,600]],
20 | bids: [{
21 | bidder: 'livewrapped',
22 | params: {
23 | adUnitId: '6A32352E-BC17-4B94-B2A7-5BF1724417D7'
24 | }
25 | }]
26 | }
27 | ];
28 | ```
29 |
--------------------------------------------------------------------------------
/allowedModules.js:
--------------------------------------------------------------------------------
1 |
2 | const sharedWhiteList = [
3 | "core-js/library/fn/array/find", // no ie11
4 | "core-js/library/fn/array/includes", // no ie11
5 | "core-js/library/fn/set", // ie11 supports Set but not Set#values
6 | "core-js/library/fn/string/includes", // no ie11
7 | "core-js/library/fn/number/is-integer", // no ie11,
8 | "core-js/library/fn/array/from" // no ie11
9 | ];
10 |
11 | module.exports = {
12 | 'modules': [
13 | ...sharedWhiteList,
14 | 'jsencrypt',
15 | 'crypto-js'
16 | ],
17 | 'src': [
18 | ...sharedWhiteList,
19 | 'fun-hooks/no-eval',
20 | 'just-clone',
21 | 'dlv',
22 | 'dset'
23 | ]
24 | };
25 |
--------------------------------------------------------------------------------
/modules/aardvarkBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Aardvark Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: chris@rtk.io
6 |
7 | # Description
8 |
9 | Module that connects to a RTK.io Ad Units to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [{
14 | mediaTypes: {
15 | banner: {
16 | sizes: [[300, 250]],
17 | }
18 | },
19 | code: 'div-gpt-ad-1460505748561-0',
20 |
21 | bids: [{
22 | bidder: 'aardvark',
23 | params: {
24 | ai: '0000',
25 | sc: '1234'
26 | }
27 | }]
28 |
29 | }];
30 | ```
31 |
--------------------------------------------------------------------------------
/integrationExamples/gpt/creative_rendering.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
21 |
--------------------------------------------------------------------------------
/modules/playgroundxyzBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Playground XYZ Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: tech+prebid@playgroundxyz.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to playgroundxyz ad server for bids.
12 |
13 | Playground XYZ bid adapter supports Banner.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | // Banner adUnit
19 | {
20 | code: 'banner-div',
21 | sizes: [[300, 250], [300,600]],
22 | bids: [{
23 | bidder: 'playgroundxyz',
24 | params: {
25 | placementId: '10433394'
26 | }
27 | }]
28 | }
29 | ];
30 | ```
31 |
--------------------------------------------------------------------------------
/modules/videoreachBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Video Reach Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: hello@videoreach.com
6 |
7 | # Description
8 |
9 | Video Reach Bidder Adapter for Prebid.js.
10 |
11 | Use `videoreach` as bidder.
12 |
13 | `TagId` ist required.
14 |
15 | ## AdUnits configuration example
16 | ```
17 | var adUnits = [{
18 | code: 'your-slot', //use exactly the same code as your slot div id.
19 | sizes: [[1, 1]],
20 | bids: [{
21 | bidder: 'videoreach',
22 | params: {
23 | TagId: 'XXXXX'
24 | }
25 | }]
26 | }];
27 | ```
28 |
--------------------------------------------------------------------------------
/test/mocks/adloaderStub.js:
--------------------------------------------------------------------------------
1 |
2 | import * as adloader from 'src/adloader';
3 |
4 | let sandbox;
5 |
6 | export let loadScript;
7 | export let loadExternalScript;
8 | export let loadScriptStub;
9 | export let loadExternalScriptStub;
10 |
11 | beforeEach(function() {
12 | sandbox = sinon.sandbox.create();
13 | loadScript = adloader.loadScript;
14 | loadExternalScript = adloader.loadExternalScript;
15 | loadScriptStub = sandbox.stub(adloader, 'loadScript').callsFake((...args) => {
16 | args[1]();
17 | });
18 | loadExternalScriptStub = sandbox.stub(adloader, 'loadExternalScript');
19 | });
20 |
21 | afterEach(function() {
22 | sandbox.restore();
23 | });
24 |
--------------------------------------------------------------------------------
/modules/undertoneBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Example Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: RampProgrammatic@perion.com
7 | ```
8 | # Description
9 |
10 | Module that connects to Undertone's demand sources
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [
15 | {
16 | code: 'test-div',
17 | sizes: [[300, 250]],
18 | bids: [
19 | {
20 | bidder: "undertone",
21 | params: {
22 | placementId: '10433394',
23 | publisherId: 12345
24 | }
25 | }
26 | ]
27 | }
28 | ];
29 | ```
30 |
--------------------------------------------------------------------------------
/modules/colombiaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: COLOMBIA Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: colombiaonline@timesinteret.in
7 | ```
8 |
9 | # Description
10 |
11 | Connect to COLOMBIA for bids.
12 |
13 | THE COLOMBIA adapter requires setup and approval from the COLOMBIA team. Please reach out to your account team or colombiaonline@timesinteret.in for more information.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [{
18 | code: 'test-ad-div',
19 | sizes: [[300, 250]],
20 | bids: [{
21 | bidder: 'colombia',
22 | params: {
23 | placementId: '307466'
24 | }
25 | }]
26 | }];
27 | ```
28 |
--------------------------------------------------------------------------------
/integrationExamples/gpt/amp/README.md:
--------------------------------------------------------------------------------
1 | ##WARNING
2 | The below documented method of deploying prebid on AMP requires remote.html
3 | This is being deprecated on March 29th. A new method the requires Prebid Server
4 | is being developed, see [Prebid Server](http://github.com/prebid/prebid-server).
5 |
6 | ## Old method:
7 |
8 | This README provides steps to run amp example page.
9 |
10 | Add following entries to your hosts file
11 |
12 | 127.0.0.1 publisher.com
13 | 127.0.0.1 amp.publisher.com
14 |
15 | Command to run
16 |
17 | gulp serve --https
18 |
19 | Additional documentation can be found at [Prebid AMP](http://prebid.org/dev-docs/how-prebid-on-amp-works.html)
20 |
--------------------------------------------------------------------------------
/modules/huddledmassesBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: HuddledMasses Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: supply@huddledmasses.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to HuddledMasses' demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'placementid_0',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'huddledmasses',
20 | params: {
21 | placement_id: 0
22 | }
23 | }]
24 | }
25 | ];
26 | ```
27 |
--------------------------------------------------------------------------------
/modules/invibesBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Invibes Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: system_operations@invibes.com
7 | ```
8 |
9 | # Description
10 |
11 | Connect to Invibes for bids.
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'test-div',
18 | sizes: [[400, 300]],
19 | bids: [
20 | {
21 | bidder: 'invibes',
22 | params: {
23 | placementId: '12345'
24 | }
25 | }
26 | ]
27 | }
28 | ]
29 | ```
30 |
--------------------------------------------------------------------------------
/modules/microadBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: MicroAd SSP Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: prebid@microad.co.jp
6 |
7 | # Description
8 |
9 | Module that connects to MicroAd SSP demand sources.
10 |
11 | # Test Parameters
12 |
13 | ```javascript
14 | var adUnits = [
15 | code: '209e56872ae8b0442a60477ae0c58be9',
16 | mediaTypes: {
17 | banner: {
18 | sizes: [[200, 200]]
19 | }
20 | },
21 | bids: [{
22 | bidder: 'microad',
23 | params: {
24 | spot: '209e56872ae8b0442a60477ae0c58be9'
25 | }
26 | }]
27 | ];
28 | ```
29 |
--------------------------------------------------------------------------------
/modules/imonomyBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Imonomy Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: support@imonomy.com
6 |
7 | # Description
8 |
9 | Connects to Imonomy demand source to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [{
14 | code: 'banner-ad-div',
15 | sizes: [[300, 250]],
16 |
17 | // Replace this object to test a new Adapter!
18 | bids: [{
19 | bidder: 'imonomy',
20 | params: {
21 | placementId: 'e69148e0ba6c4c07977dc2daae5e1577',
22 | hbid: '14567718624',
23 | floorPrice: 0.5
24 | }
25 | }]
26 | }];
27 | ```
28 |
29 |
30 |
--------------------------------------------------------------------------------
/modules/adliveBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | ```
3 | Module Name: Adlive Bid Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: traffic@adlive.io
6 | ```
7 |
8 | # Description
9 | Module that connects to Adlive's server for bids.
10 | Currently module supports only banner mediaType.
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [{
15 | code: '/test/div',
16 | mediaTypes: {
17 | banner: {
18 | sizes: [[300, 250]]
19 | }
20 | },
21 | bids: [{
22 | bidder: 'adlive',
23 | params: {
24 | hashes: ['1e100887dd614b0909bf6c49ba7f69fdd1360437']
25 | }
26 | }]
27 | }];
28 | ```
--------------------------------------------------------------------------------
/modules/arteebeeBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Arteebee Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: jeffyecn@gmail.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Arteebee's demand source
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'banner-ad-div',
18 | sizes: [[300, 250]],
19 | bids: [
20 | {
21 | bidder: 'arteebee',
22 | params: {
23 | ssp: 'mock',
24 | pub: 'prebidtest',
25 | source: 'prebidtest',
26 | test: true
27 | }
28 | }
29 | ]
30 | }
31 | ];
32 | ```
--------------------------------------------------------------------------------
/modules/peak226BidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Peak226 Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support@edge226.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Peak226's demand sources
12 |
13 | # Test Parameters
14 |
15 | ```
16 | var adUnits = [
17 | {
18 | code: "test-div",
19 | sizes: [[300, 250]],
20 | mediaType: "banner",
21 | bids: [
22 | {
23 | bidder: "peak226",
24 | params: {
25 | uid: 76131369
26 | }
27 | }
28 | ]
29 | }
30 | ];
31 | ```
32 |
--------------------------------------------------------------------------------
/modules/underdogmediaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Underdog Media Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: jake@underdogmedia.com
6 |
7 | # Description
8 |
9 | Module that connects to Underdog Media's servers to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 250]], // a display size
17 | bids: [
18 | {
19 | bidder: "underdogmedia",
20 | params: {
21 | siteId: '12143'
22 | }
23 | }
24 | ]
25 | }
26 | ];
27 | ```
--------------------------------------------------------------------------------
/modules/pubnxBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: PubNX Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid-team@pubnx.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to PubNX exchange for bids.
12 | PubNX Bidder adapter supports Banner ads.
13 | Use bidder code ```pubnx``` for all PubNX traffic.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | // Banner adUnit
19 | {
20 | code: 'banner-div',
21 | sizes: [[300, 250], [300,600]], // a display size(s)
22 | bids: [{
23 | bidder: 'pubnx',
24 | params: {
25 | placementId: 'PNX-HB-G396432V4809F3'
26 | }
27 | }]
28 | },
29 | ];
30 | ```
31 |
32 |
--------------------------------------------------------------------------------
/modules/bizzclickBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: BizzClick SSP Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support@bizzclick.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to BizzClick SSP demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'placementId',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'bizzclick',
20 | params: {
21 | placementId: 0,
22 | type: 'banner'
23 | }
24 | }]
25 | }
26 | ];
27 | ```
--------------------------------------------------------------------------------
/modules/mantisBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: MANTIS Ad Network Bid Adapter
4 |
5 | Module Type: Bidder Adapter
6 |
7 | Maintainer: paris@mantisadnetwork.com
8 |
9 | # Description
10 |
11 | Module that connects to MANTIS's demand sources
12 |
13 | # Test Parameters
14 | ```javascript
15 | var adUnits = [
16 | {
17 | code: 'test',
18 | sizes: [[300, 250]],
19 | bids: [
20 | {
21 | bidder: 'mantis',
22 | params: {
23 | property: 'demo',
24 | zone: 'zone'
25 | }
26 | }
27 | ]
28 | }
29 | ];
30 | ```
31 |
--------------------------------------------------------------------------------
/modules/padsquadBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Padsquad Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: yeeldpadsquad@gmail.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Padsquad exchange for bids.
12 |
13 | Padsquad bid adapter supports Banner ads.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | {
19 | code: 'banner-ad-div',
20 | mediaTypes: {
21 | banner: {
22 | sizes: [[300, 250], [300,600]]
23 | }
24 | },
25 | bids: [{
26 | bidder: 'padsquad',
27 | params: {
28 | unitId: 'test'
29 | }
30 | }]
31 | }
32 | ];
33 | ```
34 |
--------------------------------------------------------------------------------
/modules/smartyadsBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: SmartyAds Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: supply@smartyads.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to SmartyAds' demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'placementId_0',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'smartyads',
20 | params: {
21 | placementId: 0,
22 | traffic: 'banner'
23 | }
24 | }]
25 | }
26 | ];
27 | ```
--------------------------------------------------------------------------------
/modules/advenueBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Advenue SSP Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: dev.advenue@gmail.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Advenue SSP demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'placementCode',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'advenue',
20 | params: {
21 | placementId: 0,
22 | traffic: 'banner'
23 | }
24 | }]
25 | }
26 | ];
27 | ```
28 |
--------------------------------------------------------------------------------
/modules/hpmdnetworkBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: HPMD Network Bidder Adapter
4 |
5 | Module Type: Bidder Adapter
6 |
7 | Maintainer: a.fominov@hpmdnetwork.ru
8 |
9 | # Description
10 |
11 | You can use this adapter to get a bid from HPMD Network.
12 |
13 | About us : https://www.hpmdnetwork.ru/
14 |
15 |
16 | # Test Parameters
17 | ```javascript
18 | var adUnits = [
19 | {
20 | code: 'test-div',
21 | bids: [
22 | {
23 | bidder: "hpmdnetwork",
24 | params: {
25 | placementId: "123"
26 | }
27 | }
28 | ]
29 | }
30 | ];
31 | ```
32 |
33 |
--------------------------------------------------------------------------------
/modules/nextMillenniumBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | ```
3 | Module Name: NextMillennium Bid Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: mikhail.ivanchenko@iageengineering.net
6 | ```
7 |
8 | # Description
9 | Module that connects to NextMillennium's server for bids.
10 | Currently module supports only banner mediaType.
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [{
15 | code: '/test/div',
16 | mediaTypes: {
17 | banner: {
18 | sizes: [[300, 250]]
19 | }
20 | },
21 | bids: [{
22 | bidder: 'nextMillennium',
23 | params: {
24 | placement_id: -1
25 | }
26 | }]
27 | }];
28 | ```
--------------------------------------------------------------------------------
/modules/vertozBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Vertoz Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid-team@vertoz.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Vertoz exchange for bids.
12 | Vertoz Bidder adapter supports Banner ads.
13 | Use bidder code ```vertoz``` for all Vertoz traffic.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | // Banner adUnit
19 | {
20 | code: 'banner-div',
21 | sizes: [[300, 250], [300,600]], // a display size(s)
22 | bids: [{
23 | bidder: 'vertoz',
24 | params: {
25 | placementId: 'VZ-HB-B784382V6C6G3C'
26 | }
27 | }]
28 | },
29 | ];
30 | ```
31 |
32 |
--------------------------------------------------------------------------------
/modules/komoonaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Komoona Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: support@komoona.com
6 |
7 | # Description
8 |
9 | Connects to Komoona demand source to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [{
14 | code: 'banner-ad-div',
15 | sizes: [[300, 250]],
16 |
17 | // Replace this object to test a new Adapter!
18 | bids: [{
19 | bidder: 'komoona',
20 | params: {
21 | placementId: 'e69148e0ba6c4c07977dc2daae5e1577',
22 | hbid: '1f5b2c10e66e419580bd943b9af692ab',
23 | floorPrice: 0.5
24 | }
25 | }]
26 | }];
27 | ```
28 |
29 |
30 |
--------------------------------------------------------------------------------
/modules/weboramaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Weborama SSP Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: devweborama@gmail.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Weborama SSP demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'placementCode',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'weborama',
20 | params: {
21 | placementId: 0,
22 | traffic: 'banner'
23 | }
24 | }]
25 | }
26 | ];
27 | ```
28 |
--------------------------------------------------------------------------------
/modules/adponeBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Adpone Bidder Adapter
4 |
5 | Module Type: Bidder Adapter
6 |
7 | Maintainer: tech@adpone.com
8 |
9 | # Description
10 |
11 | You can use this adapter to get a bid from adpone.com.
12 |
13 | About us : https://www.adpone.com
14 |
15 |
16 | # Test Parameters
17 | ```javascript
18 | var adUnits = [
19 | {
20 | code: 'div-adpone-example',
21 | sizes: [[300, 250]],
22 | bids: [
23 | {
24 | bidder: "adpone",
25 | params: {
26 | placementId: "1234"
27 | }
28 | }
29 | ]
30 | }
31 | ];
32 | ```
33 |
--------------------------------------------------------------------------------
/modules/freewheel-sspBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Freewheel SSP Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: clientsidesdk@freewheel.tv
6 |
7 | # Description
8 |
9 | Module that connects to Freewheel ssp's demand sources
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 250]], // a display size
17 | bids: [
18 | {
19 | bidder: "freewheel-ssp",
20 | params: {
21 | zoneId : '41852'
22 | }
23 | }
24 | ]
25 | }
26 | ];
27 | ```
--------------------------------------------------------------------------------
/modules/reklamstoreBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: ReklamStore Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: it@reklamstore.com
6 |
7 | # Description
8 |
9 | Module that connects to ReklamStore's demand sources.
10 |
11 | ReklamStore supports display.
12 |
13 |
14 | # Test Parameters
15 | # display
16 | ```
17 |
18 | var adUnits = [
19 | {
20 | code: 'banner-ad-div',
21 | sizes: [[300, 250]],
22 | bids: [
23 | {
24 | bidder: 'reklamstore',
25 | params: {
26 | regionId:532211
27 | }
28 | }
29 | ]
30 | }
31 | ];
32 | ```
--------------------------------------------------------------------------------
/modules/bidphysicsBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: BidPhysics Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: info@bidphysics.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to BidPhysics exchange for bids.
12 |
13 | BidPhysics bid adapter supports Banner ads.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | {
19 | code: 'banner-ad-div',
20 | mediaTypes: {
21 | banner: {
22 | sizes: [[300, 250], [300,600]]
23 | }
24 | },
25 | bids: [{
26 | bidder: 'bidphysics',
27 | params: {
28 | unitId: 'bidphysics-test'
29 | }
30 | }]
31 | }
32 | ];
33 | ```
34 |
--------------------------------------------------------------------------------
/modules/decenteradsBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: DecenterAds Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: publishers@decenterads.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to DecenterAds' demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'placementId_0',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'decenterads',
20 | params: {
21 | placementId: 0,
22 | traffic: 'banner'
23 | }
24 | }]
25 | }
26 | ];
27 | ```
28 |
--------------------------------------------------------------------------------
/modules/inskinBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: InSkin Bid Adapter
4 |
5 | Module Type: Bid Adapter
6 |
7 | Maintainer: jgrimes@adzerk.com
8 |
9 | # Description
10 |
11 | Connects to InSkin Media for receiving bids from configured demand sources.
12 |
13 | # Test Parameters
14 | ```javascript
15 | var adUnits = [
16 | {
17 | code: 'test-ad-1',
18 | sizes: [[300, 250]],
19 | bids: [
20 | {
21 | bidder: 'inskin',
22 | params: {
23 | networkId: '9874',
24 | siteId: '983808'
25 | }
26 | }
27 | ]
28 | }
29 | ];
30 | ```
31 |
--------------------------------------------------------------------------------
/.babelrc.js:
--------------------------------------------------------------------------------
1 |
2 | let path = require('path');
3 |
4 | function useLocal(module) {
5 | return require.resolve(module, {
6 | paths: [
7 | __dirname
8 | ]
9 | })
10 | }
11 |
12 | module.exports = {
13 | "presets": [
14 | [
15 | useLocal('@babel/preset-env'),
16 | {
17 | "targets": {
18 | "browsers": [
19 | "chrome >= 61",
20 | "safari >=8",
21 | "edge >= 14",
22 | "ff >= 57",
23 | "ie >= 10",
24 | "ios >= 8"
25 | ]
26 | }
27 | }
28 | ]
29 | ],
30 | "plugins": [
31 | path.resolve(__dirname, './plugins/pbjsGlobals.js'),
32 | useLocal('babel-plugin-transform-object-assign')
33 | ]
34 | };
35 |
--------------------------------------------------------------------------------
/modules/collectcentBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Collectcent SSP Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: dev.collectcent@gmail.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Collectcent SSP demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'placementCode',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'collectcent',
20 | params: {
21 | placementId: 0,
22 | traffic: 'banner'
23 | }
24 | }]
25 | }
26 | ];
27 | ```
28 |
--------------------------------------------------------------------------------
/modules/colossussspBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Colossus SSP Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support@colossusmediallc.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Colossus SSP demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'placementid_0',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'colossusssp',
20 | params: {
21 | placement_id: 0,
22 | traffic: 'banner'
23 | }
24 | }]
25 | }
26 | ];
27 | ```
28 |
--------------------------------------------------------------------------------
/modules/topRTBBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: topRTB Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: karthikeyan.d@djaxtech.com
7 | ```
8 |
9 | # Description
10 |
11 | topRTB Bidder Adapter for Prebid.js.
12 | Only Banner & video format is supported.
13 |
14 | # Test Parameters
15 | ```
16 | var adUnits = [
17 | {
18 | code: 'test-div-0',
19 | sizes: [[728, 90]], // a display size
20 | bids: [
21 | {
22 | bidder: 'topRTB',
23 | params: {
24 | adUnitId: 'c5c06f77430c4c33814a0577cb4cc978'
25 | }
26 | }
27 | ]
28 | }
29 | ];
30 | ```
31 |
--------------------------------------------------------------------------------
/modules/taphypeBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: TapHype Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: admin@taphype.com
6 |
7 | # Description
8 |
9 | You can use this adapter to get a bid from taphype.com.
10 |
11 |
12 | # Test Parameters
13 | ```javascript
14 | var adUnits = [
15 | {
16 | code: 'div-taphype-example',
17 | sizes: [[300, 250]],
18 | bids: [
19 | {
20 | bidder: "taphype",
21 | params: {
22 | placementId: 12345
23 | }
24 | }
25 | ]
26 | }
27 | ];
28 | ```
29 |
30 | Where:
31 |
32 | * placementId - TapHype Placement ID
33 |
--------------------------------------------------------------------------------
/modules/adagioAnalyticsAdapter.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Analytics Adapter for Adagio
3 | */
4 |
5 | import adapter from '../src/AnalyticsAdapter';
6 | import adapterManager from '../src/adapterManager';
7 |
8 | // This config makes Prebid.js call this function on each event:
9 | // `window['AdagioPrebidAnalytics']('on', eventType, args)`
10 | // If it is missing, then Prebid.js will immediately log an error,
11 | // instead of queueing the events until the function appears.
12 | var adagioAdapter = adapter({
13 | global: 'AdagioPrebidAnalytics',
14 | handler: 'on',
15 | analyticsType: 'bundle'
16 | });
17 |
18 | adapterManager.registerAnalyticsAdapter({
19 | adapter: adagioAdapter,
20 | code: 'adagio'
21 | });
22 |
23 | export default adagioAdapter;
24 |
--------------------------------------------------------------------------------
/modules/unrulyBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Unruly Bid Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: prodev@unrulymedia.com
6 |
7 | # Description
8 |
9 | Module that connects to UnrulyX for bids.
10 |
11 | # Test Parameters
12 |
13 | ```js
14 | const adUnits = [{
15 | code: 'ad-slot',
16 | sizes: [[728, 90], [300, 250]],
17 | mediaTypes: {
18 | video: {
19 | context: 'outstream'
20 | }
21 | },
22 | bids: [{
23 | bidder: 'unruly',
24 | params: {
25 | targetingUUID: '6f15e139-5f18-49a1-b52f-87e5e69ee65e',
26 | siteId: 1081534
27 | }
28 | }
29 | ]
30 | }];
31 | ```
32 |
--------------------------------------------------------------------------------
/modules/coinzillaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Coinzilla Bidder Adapter
5 | Module Type: Coinzilla Adapter
6 | Maintainer: technical@sevio.com
7 | ```
8 |
9 | # Description
10 |
11 | Our module helps you have an easier time implementing Coinzilla on your website. All you have to do is replace the ``placementId`` with your zoneID, depending on the required size in your account dashboard. If you need additional information please contact us at ``publishers@coinzilla.com``.
12 | # Test Parameters
13 | ```
14 | var adUnits = [{
15 | code: 'test-ad-div',
16 | sizes: [[300, 250]],
17 | bids: [{
18 | bidder: 'coinzilla',
19 | params: {
20 | placementId: 'testPlacementId'
21 | }
22 | }]
23 | }];
24 | ```
--------------------------------------------------------------------------------
/modules/yieldmoBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Yieldmo Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: opensource@yieldmo.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Yieldmo Ad Server for bids.
12 |
13 | Yieldmo bid adapter supports Banner.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | // Banner adUnit
19 | {
20 | code: 'div-gpt-ad-1460505748561-0',
21 | sizes: [[300, 250], [300,600]],
22 | bids: [{
23 | bidder: 'yieldmo',
24 | params: {
25 | placementId: '1779781193098233305', // string with at most 19 characters (may include numbers only)
26 | bidFloor: .28 // optional param
27 | }
28 | }]
29 | }
30 | ];
31 | ```
--------------------------------------------------------------------------------
/src/adapters/analytics/example2.js:
--------------------------------------------------------------------------------
1 | import { ajax } from '../../../src/ajax';
2 |
3 | /**
4 | * example2.js - analytics adapter for Example2 Analytics Endpoint example
5 | */
6 |
7 | import adapter from '../../AnalyticsAdapter';
8 |
9 | const url = 'https://httpbin.org/post';
10 | const analyticsType = 'endpoint';
11 |
12 | export default Object.assign(adapter(
13 | {
14 | url,
15 | analyticsType
16 | }
17 | ),
18 | {
19 | // Override AnalyticsAdapter functions by supplying custom methods
20 | track({ eventType, args }) {
21 | console.log('track function override for Example2 Analytics');
22 | ajax(url, (result) => console.log('Analytics Endpoint Example2: result = ' + result), JSON.stringify({ eventType, args }));
23 | }
24 | });
25 |
--------------------------------------------------------------------------------
/modules/andbeyondBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: andbeyond Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: shreyanschopra@rtbdemand.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to andbeyond whitelabel platform.
12 | Banner formats are supported.
13 |
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | {
19 | code: 'banner-ad-div',
20 | sizes: [[300, 250]], // banner size
21 | bids: [
22 | {
23 | bidder: 'andbeyond',
24 | params: {
25 | zoneId: '30164', //required parameter
26 | host: 'cpm.metaadserving.com' //required parameter
27 | }
28 | }
29 | ]
30 | }
31 | ];
32 | ```
33 |
--------------------------------------------------------------------------------
/modules/33acrossBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: 33Across Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: headerbidding@33across.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to 33Across's exchange for bids.
12 |
13 | 33Across bid adapter supports only Banner at present and follows MRA
14 |
15 | # Sample Ad Unit: For Publishers
16 | ```
17 | var adUnits = [
18 | {
19 | code: '33across-hb-ad-123456-1', // ad slot HTML element ID
20 | sizes: [
21 | [300, 250],
22 | [728, 90]
23 | ],
24 | bids: [{
25 | bidder: '33across',
26 | params: {
27 | siteId: 'cxBE0qjUir6iopaKkGJozW',
28 | productId: 'siab'
29 | }
30 | }]
31 | }
32 | ```
33 |
--------------------------------------------------------------------------------
/modules/fairtradeBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: FairTrade Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: Tammy.l@VaticDigital.com
6 |
7 | # Description
8 |
9 | Module that connects to FairTrade demand source to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 250]],
17 | bids: [
18 | {
19 | bidder: "fairtrade",
20 | params: {
21 | uid: '166',
22 | priceType: 'gross' // by default is 'net'
23 | }
24 | }
25 | ]
26 | }
27 | ];
28 | ```
--------------------------------------------------------------------------------
/modules/nafdigitalBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: NAF Digital Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: vyatsun@gmail.com
7 | ```
8 |
9 | # Description
10 |
11 | NAF Digital adapter integration to the Prebid library.
12 |
13 | # Test Parameters
14 |
15 | ```
16 | var adUnits = [
17 | {
18 | code: 'test-leaderboard',
19 | sizes: [[728, 90]],
20 | bids: [{
21 | bidder: 'nafdigital',
22 | params: {
23 | publisherId: 2141020,
24 | bidFloor: 0.01
25 | }
26 | }]
27 | }, {
28 | code: 'test-banner',
29 | sizes: [[300, 250]],
30 | bids: [{
31 | bidder: 'nafdigital',
32 | params: {
33 | publisherId: 2141020
34 | }
35 | }]
36 | }
37 | ]
38 | ```
39 |
--------------------------------------------------------------------------------
/modules/optimaticBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Optimatic Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid@optimatic.com
7 | ```
8 |
9 | # Description
10 |
11 | Optimatic Bid Adapter Module connects to Optimatic Demand Sources for Video Ads
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'test-div',
18 | sizes: [[640,480]], // a video size
19 | bids: [
20 | {
21 | bidder: "optimatic",
22 | params: {
23 | placement: "2chy7Gc2eSQL",
24 | bidfloor: 2.5
25 | }
26 | }
27 | ]
28 | },
29 | ];
30 | ```
31 |
--------------------------------------------------------------------------------
/modules/rexrtbBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: REXRTB Bidder Adapter
4 |
5 | Module Type: Bidder Adapter
6 |
7 | Maintainer: tech@rexrtb.com
8 |
9 |
10 | # Description
11 |
12 | Module that connects to REXRTB's demand source
13 |
14 | # Test Parameters
15 | ```javascript
16 | var adUnits = [
17 | {
18 | code: 'test-ad',
19 | sizes: [[728, 98]],
20 | bids: [
21 | {
22 | bidder: 'rexrtb',
23 | params: {
24 | id: 89,
25 | token: '658f11a5efbbce2f9be3f1f146fcbc22',
26 | source: 'prebidtest'
27 | }
28 | }
29 | ]
30 | },
31 | ];
32 | ```
--------------------------------------------------------------------------------
/modules/vidazooBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name:** Vidazoo Bidder Adapter
4 |
5 | **Module Type:** Bidder Adapter
6 |
7 | **Maintainer:** server-dev@getintent.com
8 |
9 | # Description
10 |
11 | Module that connects to Vidazoo's demand sources.
12 |
13 | # Test Parameters
14 | ```js
15 | var adUnits = [
16 | {
17 | code: 'test-ad',
18 | sizes: [[300, 250]],
19 | bids: [
20 | {
21 | bidder: 'vidazoo',
22 | params: {
23 | cId: '5a1c419d95fce900044c334e',
24 | pId: '59ac17c192832d0011283fe3',
25 | bidFloor: 0.0001,
26 | ext: {
27 | param1: 'loremipsum',
28 | param2: 'dolorsitamet'
29 | }
30 | }
31 | }
32 | ]
33 | }
34 | ];
35 | ```
36 |
--------------------------------------------------------------------------------
/modules/brightcomBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Brightcom Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: vladislavy@brightcom.com
7 | ```
8 |
9 | # Description
10 |
11 | Brightcom's adapter integration to the Prebid library.
12 |
13 | # Test Parameters
14 |
15 | ```
16 | var adUnits = [
17 | {
18 | code: 'test-leaderboard',
19 | sizes: [[728, 90]],
20 | bids: [{
21 | bidder: 'brightcom',
22 | params: {
23 | publisherId: 2141020,
24 | bidFloor: 0.01
25 | }
26 | }]
27 | }, {
28 | code: 'test-banner',
29 | sizes: [[300, 250]],
30 | bids: [{
31 | bidder: 'brightcom',
32 | params: {
33 | publisherId: 2141020
34 | }
35 | }]
36 | }
37 | ]
38 | ```
39 |
--------------------------------------------------------------------------------
/modules/pubCommonId.md:
--------------------------------------------------------------------------------
1 | ## Publisher Common ID Example Configuration
2 |
3 | When the module is included, it's automatically enabled and saves an id to both cookie and local storage with an expiration time of 1 year.
4 |
5 | Example of disabling publisher common id.
6 |
7 | ```
8 | pbjs.setConfig(
9 | pubcid: {
10 | enable: false
11 | }
12 | );
13 | ```
14 |
15 | Example of setting expiration interval to 30 days. The interval is expressed in minutes.
16 |
17 | ```
18 | pbjs.setConfig(
19 | pubcid: {
20 | expInterval: 43200
21 | }
22 | );
23 | ```
24 |
25 | Example of using local storage only and setting expiration interval to 30 days.
26 |
27 | ```
28 | pbjs.setConfig(
29 | pubcid: {
30 | expInterval: 43200,
31 | type: 'html5'
32 | }
33 | );
34 | ```
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/modules/adspiritBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: AdSpirit Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: prebid@adspirit.de
6 |
7 | # Description
8 |
9 | Module that connects to an AdSpirit zone to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'display-div',
16 | sizes: [[300, 250]], // a display size
17 | bids: [
18 | {
19 | bidder: "adspirit",
20 | params: {
21 | placementId: '5',
22 | host: 'n1test.adspirit.de'
23 | }
24 | }
25 | ]
26 | }
27 | ];
28 | ```
29 |
--------------------------------------------------------------------------------
/modules/admanBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Adman Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: prebid@admanmedia.com
6 |
7 | # Description
8 |
9 | Use `adman` as bidder.
10 |
11 | `id` is required and must be 8 alphanumeric characters.
12 |
13 | ## AdUnits configuration example
14 | ```
15 | var adUnits = [{
16 | code: 'test-div',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'adman',
20 | params: {
21 | id: 1234asdf
22 | }
23 | }]
24 | },{
25 | code: 'test-div,
26 | sizes: [[600, 338]],
27 | bids: [{
28 | bidder: 'adman',
29 | params: {
30 | id: asdf1234
31 | }
32 | }]
33 | }];
34 | ```
35 |
36 |
--------------------------------------------------------------------------------
/modules/contentigniteBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Content Ignite Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: jamie@contentignite.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Content Ignites bidder application.
12 |
13 | # Test Parameters
14 |
15 | ```
16 | var adUnits = [{
17 | code: 'display-div',
18 | sizes: [[728, 90]], // a display size
19 | bids: [{
20 | bidder: "contentignite",
21 | params: {
22 | accountID: '168237',
23 | zoneID: '299680',
24 | keyword: 'business', //optional
25 | minCPM: '0.10', //optional
26 | maxCPM: '1.00' //optional
27 | }
28 | }]
29 | }];
30 | ```
31 |
--------------------------------------------------------------------------------
/test/fixtures/video/bidRequest.json:
--------------------------------------------------------------------------------
1 | {
2 | "auctionStart": 1462918897459,
3 | "bidderCode": "appnexus",
4 | "bidderRequestId": "2946b569352ef2",
5 | "bids": [
6 | {
7 | "bidder": "appnexus",
8 | "params": {
9 | "placementId": "9333431",
10 | "video": {
11 | "skipppable": false,
12 | "playback_methods": ["auto_play_sound_off"]
13 | }
14 | },
15 | "placementCode": "video1",
16 | "sizes": [640,480],
17 | "bidId": "392b5a6b05d648",
18 | "bidderRequestId": "2946b569352ef2",
19 | "auctionId": "6172477f-987f-4523-a967-fa6d7a434ddf",
20 | "startTime": 1462918897462
21 | }
22 | ],
23 | "auctionId": "6172477f-987f-4523-a967-fa6d7a434ddf",
24 | "start": 1462918897460,
25 | "timeout": 5000
26 | }
27 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 14
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - pinned
8 | - security
9 | - bug
10 | - feature
11 | - on hold
12 | # Label to use when marking an issue as stale
13 | staleLabel: stale
14 | # Comment to post when marking an issue as stale. Set to `false` to disable
15 | markComment: >
16 | This issue has been automatically marked as stale because it has not had
17 | recent activity. It will be closed if no further activity occurs. Thank you
18 | for your contributions.
19 | # Comment to post when closing a stale issue. Set to `false` to disable
20 | closeComment: false
21 |
--------------------------------------------------------------------------------
/modules/bidglassBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Bid Glass Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: dliebner@gmail.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Bid Glass and allows bids on ad units to compete within prebid.
12 |
13 | # Sample Ad Unit: For Publishers
14 | ```
15 | var adUnits = [{
16 | code: 'bg-test-rectangle',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'bidglass',
20 | params: {
21 | adUnitId: '-1'
22 | }
23 | }]
24 | },{
25 | code: 'bg-test-leaderboard',
26 | sizes: [[728, 90]],
27 | bids: [{
28 | bidder: 'bidglass',
29 | params: {
30 | adUnitId: '-1'
31 | }
32 | }]
33 | }]
34 | ```
--------------------------------------------------------------------------------
/modules/c1xBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: C1X Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: cathy@c1exchange.com
6 |
7 | # Description
8 |
9 | Module that connects to C1X's demand sources
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 600], [300, 250]],
17 | bids: [
18 | {
19 | bidder: 'c1x',
20 | params: {
21 | siteId: '9999',
22 | pixelId: '12345',
23 | floorPriceMap: {
24 | '300x250': 0.20,
25 | '300x600': 0.30
26 | }, //optional
27 | }
28 | }
29 | ]
30 | },
31 | ];
32 | ```
--------------------------------------------------------------------------------
/modules/gjirafaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | Module Name: Gjirafa Bidder Adapter Module
3 | Type: Bidder Adapter
4 | Maintainer: agonq@gjirafa.com
5 |
6 | # Description
7 | Gjirafa Bidder Adapter for Prebid.js.
8 |
9 | # Test Parameters
10 | var adUnits = [
11 | {
12 | code: 'test-div',
13 | sizes: [[728, 90]], // leaderboard
14 | bids: [
15 | {
16 | bidder: 'gjirafa',
17 | params: {
18 | placementId: '71-3'
19 | }
20 | }
21 | ]
22 | },{
23 | code: 'test-div',
24 | sizes: [[300, 250]], // mobile rectangle
25 | bids: [
26 | {
27 | bidder: 'gjirafa',
28 | params: {
29 | minCPM: 0.0001,
30 | minCPC: 0.001,
31 | explicit: true
32 | }
33 | }
34 | ]
35 | }
36 | ];
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | ## Type of issue
2 |
3 |
4 | ## Description
5 |
6 |
7 | ## Steps to reproduce
8 |
11 |
12 | ## Test page
13 |
17 |
18 | ### Expected results
19 |
20 | ### Actual results
21 |
22 | ## Platform details
23 |
24 |
25 | ## Other information
26 |
27 |
--------------------------------------------------------------------------------
/modules/marsmediaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Mars Media Group (mars.media) Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: vladi@mars.media
7 | ```
8 |
9 | # Description
10 |
11 | Prebid adapter for Mars Media Group RTB. Requires approval and account setup.
12 |
13 | # Test Parameters
14 |
15 | ## Web
16 | ```
17 | var adUnits = [
18 | {
19 | code: 'test-div',
20 | sizes: [[300, 250]],
21 | bids: [
22 | {
23 | bidder: "marsmedia",
24 | params: {
25 | publisherID: 9999,
26 | floor: 0.11
27 | }
28 | }
29 | ]
30 | }
31 | ];
32 | ```
--------------------------------------------------------------------------------
/modules/otmBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: OTM Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: ?
6 |
7 | # Description
8 |
9 | You can use this adapter to get a bid from otm-r.com.
10 |
11 | About us : http://otm-r.com
12 |
13 |
14 | # Test Parameters
15 | ```javascript
16 | var adUnits = [
17 | {
18 | code: 'div-otm-example',
19 | sizes: [[320, 480]],
20 | bids: [
21 | {
22 | bidder: "otm",
23 | params: {
24 | tid: "99",
25 | bidfloor: 20
26 | }
27 | }
28 | ]
29 | }
30 | ];
31 | ```
32 |
33 | Where:
34 |
35 | * tid - A tag id (should have low cardinality)
36 | * bidfloor - Floor price
37 |
--------------------------------------------------------------------------------
/modules/telariaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Telaria Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: github@telaria.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Telaria's exchange.
12 |
13 | Telaria bid adapter supports insteream Video.
14 |
15 | # Test Parameters
16 | ```
17 | {
18 | code: 'video1',
19 | mediaTypes: {
20 | 'video': {
21 | playerSize: [640, 480],
22 | context: 'instream'
23 | }
24 | },
25 | bids: [{
26 | bidder: 'telaria',
27 | params: {
28 | supplyCode: 'ssp-demo-rm6rh',
29 | adCode: 'ssp-!demo!-lufip',
30 | videoId: 'MyCoolVideo'
31 | }
32 | }]
33 | }
34 | ```
35 |
36 | # Example:
37 | https://console.telaria.com/examples/hb/headerbidding.jsp
38 |
--------------------------------------------------------------------------------
/modules/brainyBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: brainy Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support@mg.brainy-inc.co.jp
7 | ```
8 |
9 | # Description
10 | This module connects to brainy's demand sources. It supports display, and rich media formats.
11 | brainy will provide ``accountID`` and ``slotID`` that are specific to your ad type.
12 | Please reach out to ``support@mg.brainy-inc.co.jp`` to set up an brainy account and above ids.
13 | Use bidder code ```brainy``` for all brainy traffic.
14 |
15 |
16 | # Test Parameters
17 |
18 | ```
19 | var adUnits = [{
20 | code: 'test-div',
21 | sizes: [[300, 250],
22 | bids: [{
23 | bidder: 'brainy',
24 | params: {
25 | accountID: "3481",
26 | slotID: "5569"
27 | }
28 | }]
29 | }
30 | ];
31 | ```
32 |
--------------------------------------------------------------------------------
/modules/readpeakBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: ReadPeak Bid Adapter
4 |
5 | Module Type: Bidder Adapter
6 |
7 | Maintainer: kurre.stahlberg@readpeak.com
8 |
9 | # Description
10 |
11 | Module that connects to ReadPeak's demand sources
12 |
13 | This adapter requires setup and approval from ReadPeak.
14 | Please reach out to your account team or hello@readpeak.com for more information.
15 |
16 | # Test Parameters
17 | ```javascript
18 | var adUnits = [{
19 | code: '/19968336/prebid_native_example_2',
20 | mediaTypes: { native: { type: 'image' } },
21 | bids: [{
22 | bidder: 'readpeak',
23 | params: {
24 | bidfloor: 5.00,
25 | publisherId: 'test',
26 | siteId: 'test'
27 | },
28 | }]
29 | }];
30 | ```
31 |
--------------------------------------------------------------------------------
/src/hook.js:
--------------------------------------------------------------------------------
1 |
2 | import funHooks from 'fun-hooks/no-eval';
3 |
4 | export let hook = funHooks({
5 | ready: funHooks.SYNC | funHooks.ASYNC | funHooks.QUEUE
6 | });
7 |
8 | export const getHook = hook.get;
9 |
10 | export function setupBeforeHookFnOnce(baseFn, hookFn, priority = 15) {
11 | let result = baseFn.getHooks({hook: hookFn});
12 | if (result.length === 0) {
13 | baseFn.before(hookFn, priority);
14 | }
15 | }
16 |
17 | export function module(name, install) {
18 | hook('async', function (submodules) {
19 | submodules.forEach(args => install(...args));
20 | }, name)([]); // will be queued until hook.ready() called in pbjs.processQueue();
21 | }
22 |
23 | export function submodule(name, ...args) {
24 | getHook(name).before((next, modules) => {
25 | modules.push(args);
26 | next(modules);
27 | });
28 | }
29 |
--------------------------------------------------------------------------------
/modules/adyoulikeBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Adyoulike Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: prebid@adyoulike.com
6 |
7 | # Description
8 |
9 | Module that connects to Adyoulike demand sources.
10 | Banner formats are supported.
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [
15 | {
16 | code: 'test-div',
17 | sizes: [[300, 250]],
18 | bids: [
19 | {
20 | bidder: "adyoulike",
21 | params: {
22 | placement: 194f787b85c829fb8822cdaf1ae64435,
23 | DC: 'fra01', // Optional for set the data center name
24 | }
25 | }
26 | ]
27 | }
28 | ];
29 | ```
30 |
--------------------------------------------------------------------------------
/modules/go2net.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Go2Net Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: vprytuzhalova@go2net.com.ua
6 |
7 | # Description
8 |
9 | Connects to Go2Net demand source to fetch bids.
10 | Banner and Video formats are supported.
11 | Please use ```go2net``` as the bidder code.
12 |
13 | # Ad Unit Example
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'desktop-banner-ad-div',
18 | sizes: [[300, 250]], // a display size
19 | bids: [
20 | {
21 | bidder: "go2net",
22 | params: {
23 | zone: 'fb3d34d0-7a88-4a4a-a5c9-8088cd7845f4'
24 | }
25 | }
26 | ]
27 | }
28 | ];
29 | ```
30 |
--------------------------------------------------------------------------------
/modules/nasmediaAdmixerBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: NasmediaAdmixer Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid@nasmedia.co.kr
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to NasmediaAdmixer demand sources.
12 | Banner formats are supported.
13 | The NasmediaAdmixer adapter doesn't support multiple sizes per ad-unit and will use the first one if multiple sizes are defined.
14 |
15 |
16 | # Test Parameters
17 | ```
18 | var adUnits = [
19 | {
20 | code: 'banner-ad-div',
21 | sizes: [[320, 480]], // banner size
22 | bids: [
23 | {
24 | bidder: 'nasmediaAdmixer',
25 | params: {
26 | ax_key: 'ajj7jba3', //required parameter
27 | }
28 | }
29 | ]
30 | }
31 | ];
32 | ```
33 |
--------------------------------------------------------------------------------
/modules/ucfunnelBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: ucfunnel Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: ryan.chou@ucfunnel.com
7 | ```
8 |
9 | # Description
10 |
11 | This module connects to ucfunnel's demand sources. It supports display, and rich media formats.
12 | ucfunnel will provide ``adid`` that are specific to your ad type.
13 | Please reach out to ``pr@ucfunnel.com`` to set up an ucfunnel account and above ids.
14 | Use bidder code ```ucfunnel``` for all ucfunnel traffic.
15 |
16 | # Test Parameters
17 |
18 | ```
19 | var adUnits = [
20 | {
21 | code: 'test-LERC',
22 | sizes: [[300, 250]],
23 | bids: [{
24 | bidder: 'ucfunnel',
25 | params: {
26 | adid: "test-ad-83444226E44368D1E32E49EEBE6D29" //String - required
27 | }
28 | }
29 | ];
30 | ```
--------------------------------------------------------------------------------
/modules/videoNowBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Videonow Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: info@videonow.ru
7 | ```
8 |
9 | # Description
10 |
11 | Connect to Videonow for bids.
12 |
13 | The Videonow bidder adapter requires setup and approval from the videoNow team.
14 | Please reach out to your account team or info@videonow.ru for more information.
15 |
16 | # Test Parameters
17 | ```javascript
18 | var adUnits = [
19 | // Banner adUnit
20 | {
21 | code: 'banner-div',
22 | mediaTypes: {
23 | banner: {
24 | sizes: [[640, 480], [300, 250], [336, 280]]
25 | }
26 | },
27 | bids: [{
28 | bidder: 'videonow',
29 | params: {
30 | pId: 1,
31 | placementId: '36891'
32 | }
33 | }]
34 | }]
35 | ```
36 |
--------------------------------------------------------------------------------
/modules/aniviewBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: ANIVIEW Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support@aniview.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to ANIVIEW Ad server for bids.
12 |
13 | ANIVIEW bid adapter supports Video ads currently.
14 |
15 | For more information about [Aniview](http://www.aniview.com), please contact [support@aniview.com](support@aniview.com).
16 |
17 | # Sample Ad Unit: For Publishers
18 | ```javascript
19 | var videoAdUnit = [
20 | {
21 | code: 'video1',
22 | sizes: [
23 | [300, 250],
24 | [640, 480]
25 | ],
26 | bids: [{
27 | bidder: 'aniview',
28 | params: {
29 | AV_PUBLISHERID: '55b78633181f4603178b4568',
30 | AV_CHANNELID: '55b7904d181f46410f8b4568'
31 | }
32 | }]
33 | }];
34 | ```
35 |
36 | ```
37 |
--------------------------------------------------------------------------------
/modules/divreachBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: DivReach Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: Zeke@divreach.com
6 |
7 | # Description
8 |
9 | Connects to DivReach demand source to fetch bids.
10 | Please use ```divreach``` as the bidder code.
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [
15 | {
16 | code: 'desktop-banner-ad-div',
17 | sizes: [[300, 250]],
18 | bids: [
19 | {
20 | bidder: "divreach",
21 | params: {
22 | accountID: '167283',
23 | zoneID: '335105',
24 | domain: 'ad.divreach.com',
25 | }
26 | }
27 | ]
28 | },
29 | ];
30 | ```
31 |
--------------------------------------------------------------------------------
/modules/adoceanBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: AdOcean Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: prebid@gemius.com
6 |
7 | # Description
8 |
9 | Module that connects to AdOcean demand sources.
10 | Banner formats are supported.
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [
15 | {
16 | code: 'test-div',
17 | sizes: [[300, 250]],
18 | bids: [
19 | {
20 | bidder: "adocean",
21 | params: {
22 | slaveId: 'adoceanmyaozpniqismex',
23 | masterId: 'tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7',
24 | emiter: 'myao.adocean.pl'
25 | }
26 | }
27 | ]
28 | }
29 | ];
30 | ```
31 |
--------------------------------------------------------------------------------
/modules/criteoBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Criteo Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: pi-direct@criteo.com
6 |
7 | # Description
8 |
9 | Module that connects to Criteo's demand sources.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'banner-ad-div',
16 | sizes: [[300, 250], [728, 90]],
17 | bids: [
18 | {
19 | bidder: 'criteo',
20 | params: {
21 | zoneId: 497747
22 | }
23 | }
24 | ]
25 | }
26 | ];
27 | ```
28 |
29 | # Additional Config (Optional)
30 | Set the "ceh" property to provides the user's hashed email if available
31 | ```
32 | pbjs.setConfig({
33 | criteo: {
34 | ceh: 'hashed mail'
35 | }
36 | });
37 | ```
--------------------------------------------------------------------------------
/modules/emoteevBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Emoteev Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: engineering@emoteev.io
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Emoteev's demand sources
12 |
13 | # Test Parameters
14 |
15 | ``` javascript
16 | var adUnits = [
17 | {
18 | code: 'test-div',
19 | mediaTypes: {
20 | banner: {
21 | sizes: [[720, 90]],
22 | }
23 | },
24 | bids: [
25 | {
26 | bidder: 'emoteev',
27 | params: {
28 | adSpaceId: 5084,
29 | context: 'footer',
30 | externalId: 42,
31 | }
32 | }
33 | ]
34 | }
35 | ];
36 | ```
37 |
--------------------------------------------------------------------------------
/modules/onetagBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: OneTag Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: devops@onetag.com
7 | ```
8 |
9 | # Description
10 |
11 | OneTag Bid Adapter supports only banner at present.
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: "test-div",
18 | mediaTypes: {
19 | banner: {
20 | sizes: [[300, 250]]
21 | }
22 | },
23 | bids: [
24 | {
25 | bidder: "onetag",
26 | params: {
27 | pubId: "your_publisher_id", // required
28 | type: "banner" // optional. Default "banner"
29 | },
30 | }
31 | ]
32 | }];
33 |
34 | ```
35 |
--------------------------------------------------------------------------------
/modules/polluxBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Pollux Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: tech@polluxnetwork.com
6 |
7 | # Description
8 |
9 | Module that connects to Pollux Network LLC demand source to fetch bids.
10 | All bids will present CPM in EUR (Euro).
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [{
15 | code: '34f724kh32',
16 | sizes: [[300, 250]], // a single size
17 | bids: [{
18 | bidder: 'pollux',
19 | params: {
20 | zone: '1806' // a single zone
21 | }
22 | }]
23 | },{
24 | code: '34f789r783',
25 | sizes: [[300, 250], [728, 90]], // multiple sizes
26 | bids: [{
27 | bidder: 'pollux',
28 | params: {
29 | zone: '1806,276' // multiple zones, max 5
30 | }
31 | }]
32 | }];
33 | ```
34 |
--------------------------------------------------------------------------------
/src/adUnits.js:
--------------------------------------------------------------------------------
1 | import { deepAccess } from './utils';
2 |
3 | let adUnits = {};
4 |
5 | /**
6 | * Increments and returns current Adunit counter
7 | * @param {string} adunit id
8 | * @returns {number} current adunit count
9 | */
10 | function incrementCounter(adunit) {
11 | adUnits[adunit] = adUnits[adunit] || {};
12 | adUnits[adunit].counter = (deepAccess(adUnits, `${adunit}.counter`) + 1) || 1;
13 | return adUnits[adunit].counter;
14 | }
15 |
16 | /**
17 | * Returns current Adunit counter
18 | * @param {string} adunit id
19 | * @returns {number} current adunit count
20 | */
21 | function getCounter(adunit) {
22 | return deepAccess(adUnits, `${adunit}.counter`) || 0;
23 | }
24 |
25 | /**
26 | * A module which counts how many times an adunit was called
27 | * @module adunitCounter
28 | */
29 | let adunitCounter = {
30 | incrementCounter,
31 | getCounter
32 | }
33 |
34 | export { adunitCounter };
35 |
--------------------------------------------------------------------------------
/modules/aduptechBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Ad Up Technology Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: steffen.anders@adup-tech.com, berlin@adup-tech.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Ad Up Technology demand sources to fetch bids.
12 | Please use ```aduptech``` as bidder code. Only banner formats are supported.
13 |
14 | The Ad Up Technology Bidding adapter requires setup and approval before beginning.
15 | For more information visit [www.adup-tech.com](http://www.adup-tech.com/en).
16 |
17 | # Test Parameters
18 | ```
19 | var adUnits = [
20 | {
21 | code: 'banner',
22 | sizes: [[300, 250], [300, 600]],
23 | bids: [{
24 | bidder: 'aduptech',
25 | params: {
26 | publisher: 'prebid',
27 | placement: '12345'
28 | }
29 | }]
30 | }
31 | ];
32 | ```
33 |
--------------------------------------------------------------------------------
/modules/gumgumBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: GumGum Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: engineering@gumgum.com
7 | ```
8 |
9 | # Description
10 |
11 | GumGum adapter for Prebid.js 1.0
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'test-div',
18 | sizes: [[300, 250]],
19 | bids: [
20 | {
21 | bidder: 'gumgum',
22 | params: {
23 | inSlot: '15901', // GumGum Slot ID given to the client,
24 | bidfloor: 0.03 // CPM bid floor
25 | }
26 | }
27 | ]
28 | },{
29 | code: 'test-div',
30 | sizes: [[300, 50]],
31 | bids: [
32 | {
33 | bidder: 'gumgum',
34 | params: {
35 | inScreen: 'dc9d6be1', // GumGum Zone ID given to the client
36 | bidfloor: 0.03 // CPM bid floor
37 | }
38 | }
39 | ]
40 | }
41 | ];
42 | ```
43 |
--------------------------------------------------------------------------------
/modules/my6senseBidAdapter.md:
--------------------------------------------------------------------------------
1 | # HeaderBiddingAdapter
2 |
3 | # Overview
4 |
5 | ```
6 | Module Name: my6sense Bidder Adapter
7 | Module Type: Bidder Adapter
8 | ```
9 |
10 | # Description
11 |
12 | Module that connects to my6sense demand sources.
13 | Banner formats are supported.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 |
19 | // {
20 | //
21 | // sizes: [[1000, 600]],
22 | // bids: [{
23 | // bidder: 'my6sense',
24 | // params: {
25 | // key: 'OAJJBW2LRYi2CxfhzqogkA',
26 | // pageUrl: '[PAGE_URL]',
27 | // zone: '[ZONE]',
28 | // dataView: ''
29 | // organicClicks:'',
30 | // paidClicks:'',
31 | // }
32 | // }]
33 | // }
34 | ];
35 |
36 | ```
37 |
--------------------------------------------------------------------------------
/modules/radsBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: RADS Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid@recognified.net
7 | ```
8 |
9 | # Description
10 |
11 | RADS Bidder Adapter for Prebid.js 1.x
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: "test-div",
18 | mediaTypes: {
19 | banner: {
20 | sizes: [[320, 50]]
21 | }
22 | },
23 | bids: [
24 | {
25 | bidder: "rads",
26 | params: {
27 | placement: 3, // placement ID
28 | devMode: true // if true: library uses dev server for tests
29 | }
30 | }
31 | ]
32 | }
33 | ];
34 | ```
35 |
36 | Required param field is only `placement`.
37 |
38 |
--------------------------------------------------------------------------------
/modules/bucksenseBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Bucksense Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: stefano.dechicchis@bucksense.com
7 | ```
8 |
9 | # Description
10 |
11 | Use `bucksense` as bidder.
12 |
13 | `placementId` is required, use the Placement ID received by Bucksense.
14 |
15 |
16 | Module that connects to Example's demand sources
17 |
18 | ## AdUnits configuration example
19 | ```
20 | var adUnits = [
21 | {
22 | code: 'test-div',
23 | mediaTypes: {
24 | banner: {
25 | sizes: [[300, 250]],
26 | }
27 | },
28 | bids: [
29 | {
30 | bidder: "bucksense",
31 | params: {
32 | placementId : 1000
33 | }
34 | }
35 | ]
36 | }
37 | ];
38 | ```
--------------------------------------------------------------------------------
/modules/interactiveOffersBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: interactiveOffers Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: devteam@interactiveoffers.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to interactiveOffers demand sources. Param pubId is required.
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'interactiveOffers-slot',
18 | mediaTypes: {
19 | banner: {
20 | sizes: [[300, 250]]
21 | }
22 | },
23 | bids: [
24 | {
25 | bidder: "interactiveOffers",
26 | params: {
27 | pubId: '10',
28 | tmax: 5000
29 | }
30 | }
31 | ]
32 | }
33 | ];
34 | ```
--------------------------------------------------------------------------------
/modules/adbutlerBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: AdButler Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: dan@sparklit.com
6 |
7 | # Description
8 |
9 | Module that connects to an AdButler zone to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'display-div',
16 | sizes: [[300, 250]], // a display size
17 | bids: [
18 | {
19 | bidder: "adbutler",
20 | params: {
21 | accountID: '167283',
22 | zoneID: '210093',
23 | keyword: 'red', //optional
24 | minCPM: '1.00', //optional
25 | maxCPM: '5.00' //optional
26 | }
27 | }
28 | ]
29 | }
30 | ];
31 | ```
--------------------------------------------------------------------------------
/modules/cpmstarBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Cpmstar Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: josh@cpmstar.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Cpmstar's demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'banner-ad-div',
18 | mediaTypes: {
19 | banner: {
20 | sizes: [[300, 250]],
21 | }
22 | },
23 | bids: [
24 | {
25 | bidder: 'cpmstar',
26 | params: {
27 | placementId: 81006
28 | }
29 | },
30 | ]
31 | },
32 | {
33 | code: 'video-ad-div',
34 | mediaTypes: {
35 | video: {
36 | context: 'instream',
37 | sizes: [[640, 480]]
38 | }
39 | },
40 | bids:[
41 | {
42 | bidder: 'cpmstar',
43 | params: {
44 | placementId: 81007
45 | }
46 | }
47 | ]
48 | }
49 | ];
50 | ```
--------------------------------------------------------------------------------
/modules/adformBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Adform Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: Scope.FL.Scripts@adform.com
6 |
7 | # Description
8 |
9 | Module that connects to Adform demand sources to fetch bids.
10 | Banner and video formats are supported.
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [
15 | {
16 | code: 'div-gpt-ad-1460505748561-0',
17 | sizes: [[300, 250], [250, 300], [300, 600], [600, 300]], // a display size
18 | bids: [
19 | {
20 | bidder: "adform",
21 | params: {
22 | adxDomain: 'adx.adform.net', //optional
23 | mid: '292063',
24 | priceType: 'net' // default is 'gross'
25 | }
26 | }
27 | ]
28 | },
29 | ];
30 | ```
31 |
--------------------------------------------------------------------------------
/modules/iasBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Integral Ad Science(IAS) Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: kat@integralads.com
7 | ```
8 |
9 | # Description
10 |
11 | This module is an integration with prebid.js with an IAS product, pet.js. It is not a bidder per se but works in a similar way: retrieve data that publishers might be interested in setting keyword targeting.
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'ias-dfp-test-async',
18 | sizes: [[300, 250]], // a display size
19 | bids: [
20 | {
21 | bidder: "ias",
22 | params: {
23 | pubId: '99',
24 | adUnitPath: '/57514611/news.com'
25 | }
26 | }
27 | ]
28 | }
29 | ];
30 | ```
31 |
--------------------------------------------------------------------------------
/modules/sovrnBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Sovrn Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: trand@sovrn.com
7 | ```
8 |
9 | # Description
10 |
11 | Sovrn's adapter integration to the Prebid library. Posts plain-text JSON to the /rtb/bid endpoint.
12 |
13 | # Test Parameters
14 |
15 | ```
16 | var adUnits = [
17 | {
18 | code: 'test-leaderboard',
19 | sizes: [[728, 90]],
20 | bids: [{
21 | bidder: 'sovrn',
22 | params: {
23 | tagid: '403370',
24 | bidfloor: 0.01
25 | }
26 | }]
27 | }, {
28 | code: 'test-banner',
29 | sizes: [[300, 250]],
30 | bids: [{
31 | bidder: 'sovrn',
32 | params: {
33 | tagid: '403401'
34 | }
35 | }]
36 | }, {
37 | code: 'test-sidebar',
38 | size: [[160, 600]],
39 | bids: [{
40 | bidder: 'sovrn',
41 | params: {
42 | tagid: '531000'
43 | }
44 | }]
45 | }
46 | ]
47 | ```
--------------------------------------------------------------------------------
/modules/mobfoxBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Mobfox Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: solutions-team@matomy.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Mobfox's demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'div-gpt-ad-1460505748561-0',
17 | sizes: [[320, 480], [300, 250], [300,600]],
18 |
19 | // Replace this object to test a new Adapter!
20 | bids: [{
21 | bidder: 'mobfox',
22 | params: {
23 | s: "267d72ac3f77a3f447b32cf7ebf20673", // required - The hash of your inventory to identify which app is making the request,
24 | imp_instl: 1 // optional - set to 1 if using interstitial otherwise delete or set to 0
25 | }
26 | }]
27 |
28 | }];
29 | ```
30 |
--------------------------------------------------------------------------------
/modules/madvertiseBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Madvertise Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support@madvertise.com
7 | ```
8 |
9 | # Description
10 |
11 | Connect to Madvertise's exchange for bids.
12 |
13 | The Madvertise adapter requires setup and approval from the
14 | Madvertise team. Please reach out to your account team or
15 | support@madvertise.com for more information.
16 |
17 | # Test Parameters
18 | ```
19 | var adUnits = [
20 | {
21 | code: 'test-div',
22 | mediaTypes: {
23 | banner: {
24 | sizes: [
25 | [320, 50]
26 | ]
27 | }
28 | },
29 | bids: [
30 | {
31 | bidder: "madvertise",
32 | params: {
33 | s: "/4543756/prebidadaptor/madvertiseHB"
34 | }
35 | }
36 | ]
37 | }
38 | ];
39 | ```
40 |
--------------------------------------------------------------------------------
/test/spec/unit/adUnits_spec.js:
--------------------------------------------------------------------------------
1 | import { expect } from 'chai';
2 | import { adunitCounter } from 'src/adUnits';
3 |
4 | describe('Adunit Counter', function () {
5 | const ADUNIT_ID_1 = 'test1';
6 | const ADUNIT_ID_2 = 'test2';
7 |
8 | it('increments and checks counter of adunit 1', function () {
9 | adunitCounter.incrementCounter(ADUNIT_ID_1);
10 | expect(adunitCounter.getCounter(ADUNIT_ID_1)).to.be.equal(1);
11 | });
12 | it('checks counter of adunit 2', function () {
13 | expect(adunitCounter.getCounter(ADUNIT_ID_2)).to.be.equal(0);
14 | });
15 | it('increments and checks counter of adunit 1', function () {
16 | adunitCounter.incrementCounter(ADUNIT_ID_1);
17 | expect(adunitCounter.getCounter(ADUNIT_ID_1)).to.be.equal(2);
18 | });
19 | it('increments and checks counter of adunit 2', function () {
20 | adunitCounter.incrementCounter(ADUNIT_ID_2);
21 | expect(adunitCounter.getCounter(ADUNIT_ID_2)).to.be.equal(1);
22 | });
23 | });
24 |
--------------------------------------------------------------------------------
/modules/loopmeBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: LoopMe Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support@loopme.com
7 | ```
8 |
9 | # Description
10 |
11 | Connect to LoopMe's exchange for bids.
12 |
13 | # Test Parameters (Banner)
14 | ```
15 | var adUnits = [{
16 | code: 'test-div',
17 | mediaTypes: {
18 | banner: {
19 | sizes: [[300, 250], [300,600]],
20 | }
21 | },
22 | bids: [{
23 | bidder: 'loopme',
24 | params: {
25 | ak: 'cc885e3acc'
26 | }
27 | }]
28 | }];
29 | ```
30 |
31 | # Test Parameters (Video)
32 | ```
33 | var adUnits = [{
34 | code: 'video1',
35 | mediaTypes: {
36 | video: {
37 | playerSize: [640, 480],
38 | context: 'outstream'
39 | }
40 | },
41 | bids: [{
42 | bidder: 'loopme',
43 | params: {
44 | ak: '223051e07f'
45 | }
46 | }]
47 | }];
48 | ```
49 |
--------------------------------------------------------------------------------
/modules/open8BidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Open8 Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: tdd-adtech@open8.com
6 |
7 | # Description
8 |
9 | Innity Bidder Adapter for Prebid.js.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | // Banner adUnit
15 | {
16 | code: 'banner-div',
17 | mediaTypes: {
18 | banner: {
19 | sizes: [
20 | [300, 250]
21 | ],
22 | }
23 | },
24 | bids: [{
25 | bidder: 'open8',
26 | params: {
27 | slotKey: '504c2e89'
28 | }
29 | }]
30 | },
31 | // Video outstream adUnit
32 | {
33 | code: 'video-outstream',
34 | sizes: [
35 | [640, 360]
36 | ],
37 | mediaTypes: {
38 | video: {
39 | context: 'outstream'
40 | }
41 | },
42 | bids: [{
43 | bidder: 'open8',
44 | params: {
45 | slotKey: '2ae5a533'
46 | }
47 | }]
48 | }];
49 |
50 | ```
--------------------------------------------------------------------------------
/modules/papyrusBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Papyrus Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: alexander.holodov@papyrus.global
7 | ```
8 |
9 | # Description
10 |
11 | Connect to Papyrus system for bids.
12 |
13 | Papyrus bid adapter supports Banner.
14 |
15 | Please contact to info@papyrus.global for
16 | further details
17 |
18 | # Test Parameters
19 | ```
20 | var adUnits = [
21 | {
22 | code: 'test-div',
23 | mediaTypes: {
24 | banner: {
25 | sizes: [
26 | [320, 50]
27 | ]
28 | }
29 | },
30 | bids: [
31 | {
32 | bidder: 'papyrus',
33 | params: {
34 | address: '0xd7e2a771c5dcd5df7f789477356aecdaeee6c985',
35 | placementId: 'b57e55fd18614b0591893e9fff41fbea'
36 | }
37 | }
38 | ]
39 | }
40 | ];
41 | ```
42 |
--------------------------------------------------------------------------------
/modules/widespaceBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 |
4 | **Module Name:** Widespace Bidder Adapter.
5 | **Module Type:** Bidder Adapter.
6 | **Maintainer:** support@widespace.com
7 |
8 |
9 | # Description
10 |
11 | Widespace Bidder Adapter for Prebid.js.
12 | Banner and video formats are supported.
13 |
14 | # Test Parameters
15 | ```
16 | var adUnits = [
17 | {
18 | code: 'test-div',
19 | sizes: [[300, 250], [300, 300]],
20 | bids: [
21 | {
22 | bidder: 'widespace',
23 | params: {
24 | sid: '7b6589bf-95c8-4656-90b9-af9737bb9ad3', // Required
25 | currency: 'EUR', // Optional
26 | bidfloor: '0.5', // Optional
27 | demo: { // Optional
28 | gender: 'M',
29 | country: 'Sweden',
30 | region: 'Stockholm',
31 | postal: '15115',
32 | city: 'Stockholm',
33 | yob: '1984'
34 | }
35 | }
36 | }
37 | ]
38 | }
39 | ];
40 | ```
41 |
--------------------------------------------------------------------------------
/modules/mytargetBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: myTarget Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support_target@corp.my.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to myTarget demand sources.
12 |
13 | # Test Parameters
14 |
15 | ```
16 | var adUnits = [{
17 | code: 'placementCode',
18 | mediaTypes: {
19 | banner: {
20 | sizes: [[240, 400]],
21 | }
22 | },
23 | bids: [{
24 | bidder: 'mytarget',
25 | params: {
26 | placementId: '379783',
27 |
28 | // OPTIONAL: custom bid floor
29 | bidfloor: 10000,
30 |
31 | // OPTIONAL: if you know the ad position on the page, specify it here
32 | // (this corresponds to "Ad Position" in OpenRTB 2.3, section 5.4)
33 | position: 0,
34 |
35 | // OPTIONAL: bid response type: 0 - ad url (default), 1 - ad markup
36 | response: 0
37 | }
38 | }]
39 | }];
40 | ```
41 |
--------------------------------------------------------------------------------
/modules/fyberBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Fyber Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: uri@inner-active.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Fyber's demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'test-div',
18 | mediaTypes: {
19 | banner: {
20 | sizes: [[300, 250]], // a display rectangle size
21 | }
22 | },
23 | bids: [
24 | {
25 | bidder: 'fyber',
26 | params: {
27 | APP_ID: 'MyCompany_MyApp',
28 | spotType: 'rectangle',
29 | customParams: {
30 | portal: 7002
31 | }
32 | }
33 | }
34 | ]
35 | },{
36 | code: 'test-div',
37 | mediaTypes: {
38 | banner: {
39 | sizes: [[320, 50]], // a banner size
40 | }
41 | },
42 | bids: [
43 | {
44 | bidder: 'fyber',
45 | params: {
46 | APP_ID: 'MyCompany_MyApp',
47 | spotType: 'banner',
48 | customParams: {
49 | portal: 7001
50 | }
51 | }
52 | }
53 | ]
54 | }
55 | ];
56 | ```
57 |
--------------------------------------------------------------------------------
/modules/sekindoUMBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: sekindoUM Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: nissime@sekindo.com
6 |
7 | # Description
8 |
9 | Connects to Sekindo (part of UM) demand source to fetch bids.
10 | Banner, Outstream and Native formats are supported.
11 |
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'banner-ad-div',
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'sekindoUM',
20 | params: {
21 | spaceId: 14071
22 | width:300, ///optional
23 | height:250, //optional
24 | }
25 | }]
26 | },
27 | {
28 | code: 'video-ad-div',
29 | sizes: [[640, 480]],
30 | bids: [{
31 | bidder: 'sekindoUM',
32 | params: {
33 | spaceId: 87812,
34 | video:{
35 | playerWidth:640,
36 | playerHeight:480,
37 | vid_vastType: 5 //optional
38 | }
39 | }
40 | }]
41 | }
42 | ];
43 | ```
44 |
--------------------------------------------------------------------------------
/modules/admediaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Admedia Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: developers@admedia.com
7 | ```
8 |
9 | # Description
10 |
11 | Admedia Bidder Adapter for Prebid.js.
12 | Only Banner format is supported.
13 |
14 | # Test Parameters
15 | ```
16 | var adUnits = [
17 | {
18 | code: 'test-div-0',
19 | sizes: [[300, 250]], // a display size
20 | bids: [
21 | {
22 | bidder: 'admedia',
23 | params: {
24 | aid: 86858
25 | }
26 | }
27 | ]
28 | },
29 | {
30 | code: 'test-div-1',
31 | sizes: [[300, 50]], // a mobile size
32 | bids: [
33 | {
34 | bidder: 'admedia',
35 | params: {
36 | aid: 86858
37 | }
38 | }
39 | ]
40 | }
41 | ];
42 | ```
43 |
--------------------------------------------------------------------------------
/modules/openxoutstreamBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: OpenX Outstream Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: opensource@yieldmo.com, jimmy.tu@openx.com
7 | Note: Ads will only render in mobile
8 | ```
9 |
10 | # Description
11 |
12 | Module that connects to OpenX's demand sources for outstream to Yieldmo.
13 |
14 | This bid adapter supports Banner.
15 |
16 | Note that the only supported size for demand is currently 400 x 300.
17 |
18 | # Example
19 | ```javascript
20 | var adUnits = [
21 | {
22 | code: 'test-div',
23 | mediaTypes: {
24 | 'banner': {
25 | sizes: [[400, 300], // a display size
26 | }
27 | },
28 | bids: [
29 | {
30 | bidder: 'openxoutstream',
31 | params: {
32 | unit: '540141567',
33 | delDomain: 'se-demo-d.openx.net',
34 | }
35 | }
36 | ]
37 | }
38 | ];
39 | ```
40 |
41 | # Additional Details
42 | [Banner Ads](https://docs.openx.com/Content/developers/containers/prebid-adapter.html)
43 |
44 |
--------------------------------------------------------------------------------
/modules/sharethroughBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Sharethrough Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: pubgrowth.engineering@sharethrough.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Sharethrough's demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'test-div',
18 | sizes: [[300,250], [1, 1]],
19 | bids: [
20 | {
21 | bidder: "sharethrough",
22 | params: {
23 | // REQUIRED - The placement key
24 | pkey: 'LuB3vxGGFrBZJa6tifXW4xgK',
25 |
26 | // OPTIONAL - Render Sharethrough creative in an iframe, defaults to false
27 | iframe: true,
28 |
29 | // OPTIONAL - If iframeSize is provided, we'll use this size for the iframe
30 | // otherwise we'll grab the largest size from the sizes array
31 | // This is ignored if iframe: false
32 | iframeSize: [250, 250]
33 | }
34 | }
35 | ]
36 | }
37 | ];
38 | ```
39 |
--------------------------------------------------------------------------------
/test/spec/modules/googleAnalyticsAdapter_spec.js:
--------------------------------------------------------------------------------
1 | import ga from 'modules/googleAnalyticsAdapter';
2 |
3 | var assert = require('assert');
4 |
5 | describe('Ga', function () {
6 | describe('enableAnalytics', function () {
7 | var cpmDistribution = function(cpm) {
8 | return cpm <= 1 ? '<= 1$' : '> 1$';
9 | }
10 | var config = { options: { trackerName: 'foo', enableDistribution: true, cpmDistribution: cpmDistribution } };
11 |
12 | // enableAnalytics can only be called once
13 | ga.enableAnalytics(config);
14 |
15 | it('should accept a tracker name option and output prefixed send string', function () {
16 | var output = ga.getTrackerSend();
17 | assert.equal(output, 'foo.send');
18 | });
19 |
20 | it('should use the custom cpm distribution', function() {
21 | assert.equal(ga.getCpmDistribution(0.5), '<= 1$');
22 | assert.equal(ga.getCpmDistribution(1), '<= 1$');
23 | assert.equal(ga.getCpmDistribution(2), '> 1$');
24 | assert.equal(ga.getCpmDistribution(5.23), '> 1$');
25 | });
26 | });
27 | });
28 |
--------------------------------------------------------------------------------
/modules/slimcutBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Slimcut Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: support@slimcut.com
6 |
7 | # Description
8 |
9 | Use `slimcut` as bidder.
10 |
11 | `placementId` is required and must be integer.
12 |
13 | The Slimcut adapter requires setup and approval from the Slimcut team.
14 | Please reach out to your account manager for more information.
15 |
16 | # Test Parameters
17 |
18 | ```
19 | var adUnits = [
20 | {
21 | code: 'test-div',
22 | sizes: [[640, 480]],
23 | bids: [
24 | {
25 | bidder: "slimcut",
26 | params: {
27 | placementId: 1234
28 | }
29 | }
30 | ]
31 | }
32 | ];
33 | ```
34 |
35 | ## UserSync example
36 |
37 | ```
38 | pbjs.setConfig({
39 | userSync: {
40 | iframeEnabled: true,
41 | syncEnabled: true,
42 | syncDelay: 1
43 | }
44 | });
45 | ```
46 |
--------------------------------------------------------------------------------
/test/mocks/videoCacheStub.js:
--------------------------------------------------------------------------------
1 | import * as videoCache from 'src/videoCache';
2 |
3 | /**
4 | * Function which can be called from unit tests to stub out the video cache.
5 | *
6 | * @param {Object} responses
7 | * @param {} responses.store If this is an Error, we'll stub out the store function so that it fails.
8 | * If it's anything else, the store function will succeed, sending that value into the callback.
9 | *
10 | * @return {function} A function which returns the current stubs for the mocked functions.
11 | */
12 | export default function useVideoCacheStub(responses) {
13 | let storeStub;
14 |
15 | beforeEach(function () {
16 | storeStub = sinon.stub(videoCache, 'store');
17 |
18 | if (responses.store instanceof Error) {
19 | storeStub.callsArgWith(1, responses.store);
20 | } else {
21 | storeStub.callsArgWith(1, null, responses.store);
22 | }
23 | });
24 |
25 | afterEach(function () {
26 | videoCache.store.restore();
27 | });
28 |
29 | return function() {
30 | return {
31 | store: storeStub
32 | };
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/modules/eywamediaBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Eywamedia Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: sharath@eywamedia.com
7 | Note: Our ads will only render in mobile and desktop
8 | ```
9 |
10 | # Description
11 |
12 | Connects to Eywamedia Ad Server for bids.
13 |
14 | Eywamedia bid adapter supports Banners.
15 |
16 | # Test Parameters
17 | ```
18 | var adUnits = [
19 | // Banner adUnit
20 | {
21 | code: 'div-gpt-ad-1460505748561-0',
22 | sizes: [[300, 250], [300,600]],
23 | bids: [{
24 | bidder: 'eywamedia',
25 | params: {
26 | publisherId: 'f63a2362-5aa4-4829-bbd2-2678ced8b63e', //Required - GUID (may include numbers and characters)
27 | bidFloor: 0.50, // optional
28 | cats: ["iab1-1","iab23-2"], // optional
29 | keywords: ["sports", "cricket"], // optional
30 | lat: 12.33333, // optional
31 | lon: 77.32322, // optional
32 | locn: "country$region$city$zip" // optional
33 | }
34 | }]
35 | }
36 | ];
37 | ```
38 |
--------------------------------------------------------------------------------
/modules/jcmBidAdapter.md:
--------------------------------------------------------------------------------
1 | #Overview
2 |
3 | ```
4 | Module Name: JCM Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: george@jcartermarketing.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to J Carter Marketing demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'test-div1',
18 | sizes: [[300, 250]], // display 300x250
19 | bids: [
20 | {
21 | bidder: 'jcm',
22 | params: {
23 | siteId: '3608'
24 | }
25 | }
26 | ]
27 | },{
28 | code: 'test-div2',
29 | sizes: [[728, 90]], // display 728x90
30 | bids: [
31 | {
32 | bidder: 'jcm',
33 | params: {
34 | siteId: '3608'
35 | }
36 | }
37 | ]
38 | }
39 | ];
40 |
41 |
--------------------------------------------------------------------------------
/modules/trafficrootsBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Trafficroots Bid Adapter
4 |
5 | Module Type: Bidder Adapter
6 |
7 | Maintainer: cary@trafficroots.com
8 |
9 | # Description
10 |
11 | Module that connects to Trafficroots demand sources
12 |
13 | # Test Parameters
14 | ```javascript
15 |
16 | var adUnits = [
17 | {
18 | code: 'test-div',
19 | sizes: [[300, 250],[300,600]], // a display size
20 | bids: [
21 | {
22 | bidder: 'trafficroots',
23 | params: {
24 | zoneId: 'aa0444af31',
25 | deliveryUrl: location.protocol + '//service.trafficroots.com/prebid'
26 | }
27 | },{
28 | bidder: 'trafficroots',
29 | params: {
30 | zoneId: '8f527a4835',
31 | deliveryUrl: location.protocol + '//service.trafficroots.com/prebid'
32 | }
33 | }
34 | ]
35 | }
36 | ];
37 | ```
38 |
--------------------------------------------------------------------------------
/test/spec/aliasBidder_spec.js:
--------------------------------------------------------------------------------
1 | import { pbjsTestOnly } from 'test/helpers/pbjs-test-only';
2 |
3 | describe('Publisher API _ Alias Bidder', function () {
4 | var assert = require('chai').assert;
5 | var expect = require('chai').expect;
6 | var should = require('chai').should();
7 | var prebid = require('../../src/prebid');
8 |
9 | before(function () {
10 | var topSlotCode = '/19968336/header-bid-tag1';
11 | var topSlotSizes = [[728, 90], [970, 90]];
12 | var adUnit = {
13 | code: topSlotCode,
14 | sizes: topSlotSizes,
15 | bids: [
16 | {
17 | bidder: 'appnexus',
18 | params: {
19 | placementId: '5215561'
20 | }
21 | }
22 | ]
23 | };
24 |
25 | $$PREBID_GLOBAL$$.addAdUnits(adUnit);
26 | });
27 |
28 | after(function () {
29 | pbjsTestOnly.clearAllAdUnits();
30 | });
31 |
32 | describe('set Alias Bidder', function () {
33 | it('should have both of target bidder and alias bidder', function () {
34 | $$PREBID_GLOBAL$$.aliasBidder('appnexus', 'bRealTime1');
35 | });
36 | });
37 | });
38 |
--------------------------------------------------------------------------------
/modules/etargetBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: ETARGET Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: info@etarget.sk
6 |
7 | # Description
8 |
9 | Module that connects to ETARGET demand sources to fetch bids.
10 | Banner and video formats are supported.
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [
15 | {
16 | code: 'div-gpt-ad-1460505748561-0', // ID of elemnt where ad will be shown
17 | sizes: [[300, 250], [300, 300], [300, 600], [160, 600]], // a display size
18 | bids: [
19 | {
20 | bidder: "etarget",
21 | params: {
22 | country: 1, //require // specific to your country {1:'sk',2:'cz',3:'hu',4:'ro',5:'rs',6:'bg',7:'pl',8:'hr',9:'at',11:'de',255:'en'}
23 | refid: '12345' // require // you can create/find this ID in Our portal administration on https://sk.etarget-media.com/partner/
24 | }
25 | }
26 | ]
27 | }
28 | ];
29 | ```
30 |
--------------------------------------------------------------------------------
/modules/adkernelBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: AdKernel Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid-dev@adkernel.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to AdKernel whitelabel platform.
12 | Banner and video formats are supported.
13 |
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [{
18 | code: 'banner-ad-div',
19 | mediaTypes: {
20 | banner: {
21 | sizes: [[300, 250]], // banner size
22 | }
23 | },
24 | bids: [
25 | {
26 | bidder: 'adkernel',
27 | params: {
28 | zoneId: '30164', //required parameter
29 | host: 'cpm.metaadserving.com' //required parameter
30 | }
31 | }
32 | ]
33 | }, {
34 | code: 'video-ad-player',
35 | mediaTypes: {
36 | video: {
37 | context: 'instream', // or 'outstream'
38 | playerSize: [640, 480] // video player size
39 | }
40 | },
41 | bids: [
42 | {
43 | bidder: 'adkernel',
44 | params: {
45 | zoneId: '30164', //required parameter
46 | host: 'cpm.metaadserving.com' //required parameter
47 | }
48 | }
49 | ]
50 | }];
51 | ```
52 |
--------------------------------------------------------------------------------
/test/spec/adloader_spec.js:
--------------------------------------------------------------------------------
1 | import * as utils from 'src/utils';
2 | import * as adLoader from 'test/mocks/adloaderStub';
3 |
4 | describe('adLoader', function () {
5 | let utilsinsertElementStub;
6 | let utilsLogErrorStub;
7 |
8 | beforeEach(function () {
9 | utilsinsertElementStub = sinon.stub(utils, 'insertElement');
10 | utilsLogErrorStub = sinon.stub(utils, 'logError');
11 | });
12 |
13 | afterEach(function () {
14 | utilsinsertElementStub.restore();
15 | utilsLogErrorStub.restore();
16 | });
17 |
18 | describe('loadExternalScript', function () {
19 | it('requires moduleCode to be included on the request', function () {
20 | adLoader.loadExternalScript('someURL');
21 | expect(utilsLogErrorStub.called).to.be.true;
22 | expect(utilsinsertElementStub.called).to.be.false;
23 | });
24 |
25 | it('only allows whitelisted vendors to load scripts', function () {
26 | adLoader.loadExternalScript('someURL', 'criteo');
27 | expect(utilsLogErrorStub.called).to.be.false;
28 | expect(utilsinsertElementStub.called).to.be.true;
29 | });
30 | });
31 | });
32 |
--------------------------------------------------------------------------------
/modules/adxpremiumAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: AdxPremium Analytics Adapter
4 |
5 | Module Type: Analytics Adapter
6 |
7 | Maintainer: info@luponmedia.com
8 |
9 | ---
10 |
11 | # Description
12 |
13 | Analytics adapter for luponmedia.com prebid platform. Contact [info@luponmedia.com]() if you have any questions about integration.
14 |
15 | ---
16 |
17 | # Integration
18 |
19 | AdxPremium Anaytics Adapter can be used as:
20 |
21 | - Part of the whole AdxPremium Header Bidding Ecosystem *(free)*
22 |
23 | - External Analytics tool for your Prebid script *(Paid)*
24 |
25 | ##### AdxPremium Header Bidding Ecosystem
26 |
27 | Integration is as easy as adding the following lines of code:
28 |
29 | ```javascript
30 | pbjs.que.push(function () {
31 | pbjs.enableAnalytics([{
32 | provider: 'adxpremium',
33 | options: {
34 | pubID: 12345678
35 | }
36 | });
37 | }]);
38 | });
39 | ```
40 |
41 | *Note*: To use AdxPremium Prebid Analytics Adapter, you have to be AdxPremium publisher and get the publisher ID as well as include the adapter in your **Prebid Core** script.
42 |
--------------------------------------------------------------------------------
/modules/justpremiumBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Justpremium Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: headerbidding-dev@justpremium.com
6 |
7 | # Description
8 |
9 | To get more information or your unique zone id please contact Justpremium.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | sizes: [[1, 1]],
16 | code: 'div-gpt-ad-1471513102552-0',
17 | bids: [
18 | {
19 | bidder: 'justpremium',
20 | params: {
21 | zone: 34364,
22 | allow : ['wp']
23 | }
24 | },
25 | ]
26 | },
27 | {
28 | sizes: [[300, 600]],
29 | code: 'div-gpt-ad-1471513102552-1',
30 | bids: [
31 | {
32 | bidder: 'justpremium',
33 | params: {
34 | zone: 34364,
35 | exclude : ['wp']
36 | }
37 | }
38 | ]
39 | }
40 | ];
41 | ```
42 |
--------------------------------------------------------------------------------
/modules/saraBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Sara Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: github@sara.media
6 |
7 | # Description
8 |
9 | Module that connects to Sara demand source to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 250]],
17 | bids: [
18 | {
19 | bidder: "sara",
20 | params: {
21 | uid: '5',
22 | priceType: 'gross' // by default is 'net'
23 | }
24 | }
25 | ]
26 | },{
27 | code: 'test-div',
28 | sizes: [[728, 90]],
29 | bids: [
30 | {
31 | bidder: "sara",
32 | params: {
33 | uid: 6,
34 | priceType: 'gross'
35 | }
36 | }
37 | ]
38 | }
39 | ];
40 | ```
--------------------------------------------------------------------------------
/modules/gxoneBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: GXOne Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: olivier@geronimo.co
6 |
7 | # Description
8 |
9 | Module that connects to GXOne demand source to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 250]],
17 | bids: [
18 | {
19 | bidder: "gxone",
20 | params: {
21 | uid: '2',
22 | priceType: 'gross' // by default is 'net'
23 | }
24 | }
25 | ]
26 | },{
27 | code: 'test-div',
28 | sizes: [[728, 90]],
29 | bids: [
30 | {
31 | bidder: "gxone",
32 | params: {
33 | uid: 9,
34 | priceType: 'gross'
35 | }
36 | }
37 | ]
38 | }
39 | ];
40 | ```
--------------------------------------------------------------------------------
/modules/supply2BidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Supply2 Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: vishal@mediadonuts.com
6 |
7 | # Description
8 |
9 | Module that connects to Media Donuts demand source to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 250]],
17 | bids: [
18 | {
19 | bidder: "supply2",
20 | params: {
21 | uid: '23',
22 | priceType: 'gross' // by default is 'net'
23 | }
24 | }
25 | ]
26 | },{
27 | code: 'test-div',
28 | sizes: [[728, 90]],
29 | bids: [
30 | {
31 | bidder: "supply2",
32 | params: {
33 | uid: 24,
34 | priceType: 'gross'
35 | }
36 | }
37 | ]
38 | }
39 | ];
40 | ```
--------------------------------------------------------------------------------
/modules/teadsBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Teads Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: innov-ssp@teads.tv
6 |
7 | # Description
8 |
9 | Use `teads` as bidder.
10 |
11 | `placementId` & `pageId` are required and must be integers.
12 |
13 | ## AdUnits configuration example
14 | ```
15 | var adUnits = [{
16 | code: 'your-slot_1-div', //use exactly the same code as your slot div id.
17 | sizes: [[300, 250]],
18 | bids: [{
19 | bidder: 'teads',
20 | params: {
21 | placementId: 12345,
22 | pageId: 1234
23 | }
24 | }]
25 | },{
26 | code: 'your-slot_2-div', //use exactly the same code as your slot div id.
27 | sizes: [[600, 800]],
28 | bids: [{
29 | bidder: 'teads',
30 | params: {
31 | placementId: 12345,
32 | pageId: 1234
33 | }
34 | }]
35 | }];
36 | ```
37 |
38 | ## UserSync example
39 |
40 | ```
41 | pbjs.setConfig({
42 | userSync: {
43 | iframeEnabled: true,
44 | syncEnabled: true,
45 | syncDelay: 1
46 | }
47 | });
48 | ```
49 |
--------------------------------------------------------------------------------
/modules/visxBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: YOC VIS.X Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: service@yoc.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to YOC VIS.X® demand source to fetch bids.
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | // YOC Mystery Ad adUnit
17 | {
18 | code: 'yma-test-div',
19 | sizes: [[1, 1]],
20 | bids: [
21 | {
22 | bidder: 'visx',
23 | params: {
24 | uid: '903535'
25 | }
26 | }
27 | ]
28 | },
29 | // YOC Understitial Ad adUnit
30 | {
31 | code: 'yua-test-div',
32 | sizes: [[300, 250]],
33 | bids: [
34 | {
35 | bidder: 'visx',
36 | params: {
37 | uid: '903536'
38 | }
39 | }
40 | ]
41 | }
42 | ];
43 | ```
--------------------------------------------------------------------------------
/modules/djaxBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: djax Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer : support@djaxtech.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Djax Ad Server for bids.
12 |
13 | djax bid adapter supports Banner and Video.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | //bannner object
19 | {
20 | code: 'banner-ad-slot',
21 | mediaTypes: {
22 | banner: {
23 | sizes: [[300, 250], [300,600]],
24 | }
25 | },
26 | bids: [{
27 | bidder: 'djax',
28 | params: {
29 | publisherId: 2
30 | }
31 | }]
32 |
33 | },
34 | //video object
35 | {
36 | code: 'video-ad-slot',
37 | mediaTypes: {
38 | video: {
39 | context: 'instream',
40 | playerSize: [640, 480],
41 | },
42 | },
43 | bids: [{
44 | bidder: "djax",
45 | params: {
46 | publisherId: 2
47 | }
48 | }]
49 | }];
50 | ```
--------------------------------------------------------------------------------
/modules/danmarketBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Dentsu Aegis Network Marketplace Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: niels@baarsma.net
6 |
7 | # Description
8 |
9 | Module that connects to DAN Marketplace demand source to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 250]],
17 | bids: [
18 | {
19 | bidder: "danmarket",
20 | params: {
21 | uid: '4',
22 | priceType: 'gross' // by default is 'net'
23 | }
24 | }
25 | ]
26 | },{
27 | code: 'test-div',
28 | sizes: [[728, 90]],
29 | bids: [
30 | {
31 | bidder: "danmarket",
32 | params: {
33 | uid: 5,
34 | priceType: 'gross'
35 | }
36 | }
37 | ]
38 | }
39 | ];
40 | ```
--------------------------------------------------------------------------------
/nightwatch.json:
--------------------------------------------------------------------------------
1 | {
2 | "src_folders": ["./test/spec/e2e"],
3 | "output_folder": "./build/coverage/e2e/reports",
4 | "custom_commands_path" : "",
5 | "custom_assertions_path" : "./test/spec/e2e/custom-assertions",
6 | "page_objects_path" : "",
7 | "globals_path" : "",
8 | "end_session_on_fail" : true,
9 | "skip_testcases_on_fail" : false,
10 |
11 | "selenium" : {
12 | "start_process" : true,
13 | "server_path" : "${SELENIUM_JAR_PATH}",
14 | "log_path" : "",
15 | "host" : "127.0.0.1",
16 | "port" : 4444,
17 | "cli_args" : {
18 | "webdriver.ie.driver" : ""
19 | }
20 | },
21 |
22 | "test_settings" : {
23 | "default" : {
24 | "launch_url" : "http://localhost",
25 | "selenium_port" : 4444,
26 | "selenium_host" : "localhost",
27 | "silent": true,
28 | "exclude":["custom-assertions","custom-commands","common","custom-reporter"],
29 | "screenshots" : {
30 | "enabled" : false,
31 | "path" : ""
32 | },
33 | "desiredCapabilities": {
34 | "browserName": "firefox",
35 | "javascriptEnabled": true,
36 | "acceptSslCerts": true
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/modules/a4gBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Ad4Game Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: devops@ad4game.com
6 |
7 | # Description
8 |
9 | Ad4Game Bidder Adapter for Prebid.js. It should be tested on real domain. `localhost` should be rewritten (ex. example.com).
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 250]], // a display size
17 | bids: [
18 | {
19 | bidder: 'a4g',
20 | params: {
21 | zoneId: 59304,
22 | deliveryUrl: 'http://dev01.ad4game.com/v1/bid'
23 | }
24 | }
25 | ]
26 | },{
27 | code: 'test-div',
28 | sizes: [[300, 50]], // a mobile size
29 | bids: [
30 | {
31 | bidder: 'a4g',
32 | params: {
33 | zoneId: 59354,
34 | deliveryUrl: 'http://dev01.ad4game.com/v1/bid'
35 | }
36 | }
37 | ]
38 | }
39 | ];
40 | ```
41 |
--------------------------------------------------------------------------------
/modules/adkernelAdnBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: AdKernel ADN Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid-dev@adkernel.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to AdKernel Ad Delivery Network
12 | Banner and video formats are supported.
13 |
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [{
18 | code: 'banner-ad-div',
19 | mediaTypes: {
20 | banner: {
21 | sizes: [
22 | [300, 250],
23 | [300, 200] // banner sizes
24 | ],
25 | }
26 | },
27 | bids: [{
28 | bidder: 'adkernelAdn',
29 | params: {
30 | pubId: 50357,
31 | host: 'dsp-staging.adkernel.com'
32 | }
33 | }]
34 | }, {
35 | code: 'video-ad-player',
36 | mediaTypes: {
37 | video: {
38 | context: 'instream', // or 'outstream'
39 | playerSize: [640, 480] // video player size
40 | }
41 | },
42 | bids: [{
43 | bidder: 'adkernelAdn',
44 | params: {
45 | pubId: 50357,
46 | host: 'dsp-staging.adkernel.com'
47 | }
48 | }]
49 | }];
50 | ```
51 |
--------------------------------------------------------------------------------
/modules/conversantBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | - Module Name: Conversant Bidder Adapter
4 | - Module Type: Bidder Adapter
5 | - Maintainer: mediapsr@conversantmedia.com
6 |
7 | # Description
8 |
9 | Module that connects to Conversant's demand sources. Supports banners and videos.
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'banner-test-div',
16 | mediaTypes: {
17 | banner: {
18 | sizes: [[300, 250],[300,600]]
19 | }
20 | },
21 | bids: [{
22 | bidder: "conversant",
23 | params: {
24 | site_id: '108060'
25 | }
26 | }]
27 | },{
28 | code: 'video-test-div',
29 | mediaTypes: {
30 | video: {
31 | context: 'instream',
32 | playerSize: [640, 480]
33 | }
34 | },
35 | bids: [{
36 | bidder: "conversant",
37 | params: {
38 | site_id: '108060',
39 | api: [2],
40 | protocols: [1, 2],
41 | mimes: ['video/mp4']
42 | }
43 | }]
44 | }];
45 | ```
46 |
--------------------------------------------------------------------------------
/modules/serverbidBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Serverbid Bid Adapter
4 |
5 | Module Type: Bid Adapter
6 |
7 | Maintainer: jgrimes@serverbid.com, jswart@serverbid.com
8 |
9 | # Description
10 |
11 | Connects to Serverbid for receiving bids from configured demand sources.
12 |
13 | # Test Parameters
14 | ```javascript
15 | var adUnits = [
16 | {
17 | code: 'test-ad-1',
18 | sizes: [[300, 250]],
19 | bids: [
20 | {
21 | bidder: 'serverbid',
22 | params: {
23 | networkId: '9969',
24 | siteId: '980639'
25 | }
26 | }
27 | ]
28 | },
29 | {
30 | code: 'test-ad-2',
31 | sizes: [[300, 250]],
32 | bids: [
33 | {
34 | bidder: 'serverbid',
35 | params: {
36 | networkId: '9969',
37 | siteId: '980639',
38 | zoneIds: [178503]
39 | }
40 | }
41 | ]
42 | }
43 | ];
44 | ```
45 |
--------------------------------------------------------------------------------
/modules/rtbdemandadkBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Rtbdemandadk Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: shreyanschopra@rtbdemand.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Rtbdemandadk whitelabel platform.
12 | Banner and video formats are supported.
13 |
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | {
19 | code: 'banner-ad-div',
20 | sizes: [[300, 250]], // banner size
21 | bids: [
22 | {
23 | bidder: 'rtbdemandadk',
24 | params: {
25 | zoneId: '30164', //required parameter
26 | host: 'cpm.metaadserving.com' //required parameter
27 | }
28 | }
29 | ]
30 | }, {
31 | code: 'video-ad-player',
32 | sizes: [640, 480], // video player size
33 | bids: [
34 | {
35 | bidder: 'rtbdemandadk',
36 | mediaType : 'video',
37 | params: {
38 | zoneId: '30164', //required parameter
39 | host: 'cpm.metaadserving.com' //required parameter
40 | }
41 | }
42 | ]
43 | }
44 | ];
45 | ```
46 |
--------------------------------------------------------------------------------
/test/spec/integration/faker/fixtures.js:
--------------------------------------------------------------------------------
1 | import faker from 'faker';
2 | import { makeSlot } from './googletag';
3 |
4 | export function makeAdSlot(overrides = {}) {
5 | return Object.assign(makeSlot(
6 | {
7 | code: overrides.code,
8 | divId: overrides.divId
9 | }), overrides);
10 | }
11 |
12 | export function makeAdUnit(overrides = {}) {
13 | return Object.assign({
14 | code: `ad-unit-code-${randomFive()}`,
15 | sizes: [[300, 250], [300, 600]],
16 | bids: []
17 | }, overrides);
18 | }
19 |
20 | export function makeBidder(overrides = {}) {
21 | let adapter;
22 | adapter = Object.assign({
23 | bidder: `${faker.company.bsBuzz()}Media`,
24 | params: {
25 | abc: faker.random.alphaNumeric(10),
26 | xyz: faker.random.number({ max: 10, precision: 2 })
27 | },
28 | callBids: sinon.spy()
29 | }, overrides);
30 |
31 | return adapter;
32 | }
33 |
34 | export function makeRequest(overrides = {}) {
35 | return Object.assign({
36 | adUnits: overrides.adUnits,
37 | bidsBackHandler: sinon.spy(),
38 | timeout: 2000
39 | }, overrides);
40 | }
41 |
42 | export function randomFive() { return faker.random.number({ min: 10000, max: 99999 }); }
43 |
--------------------------------------------------------------------------------
/modules/trionBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Trion Interactive Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: mgroh@trioninteractive.com
6 | **Publisher Contact**: publishers@trioninteractive.com
7 |
8 | # Description
9 |
10 | This module connects to Trion's demand sources. It supports display, outstream, and rich media formats.
11 | Trion will provide ``pubId`` and ``sectionId`` that are specific to your ad type.
12 | Please reach out to ``publishers@trioninteractive.com`` to set up a trion account and above ids.
13 | Use bidder code ```trion``` for all Trion traffic.
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | {
19 | code: 'ad-div',
20 | sizes: [[300, 250]], // a display size
21 | bids: [
22 | {
23 | bidder: 'trion',
24 | params: {
25 | pubId: '12345',
26 | sectionId: '1',
27 | re : 'http://clicktrackingurl.com?re='// optional
28 | }
29 | }
30 | ]
31 | }
32 | ];
33 | ```
--------------------------------------------------------------------------------
/modules/smartrtbBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Smart RTB (smrtb.com) Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: evanm@smrtb.com
7 | ```
8 |
9 | # Description
10 |
11 | Prebid adapter for Smart RTB. Requires approval and account setup.
12 | Video is supported but requires a publisher supplied adunit renderer at this time.
13 |
14 | # Test Parameters
15 |
16 | ## Web
17 | ```
18 | var adUnits = [
19 | {
20 | code: 'test-div',
21 | mediaTypes: {
22 | banner: {
23 | sizes: [[300,250]]
24 | },
25 | video: { /* requires publisher supplied renderer */
26 | context: 'outstream',
27 | playerDimension: [640, 480]
28 | }
29 | },
30 | bids: [
31 | {
32 | bidder: "smartrtb",
33 | params: {
34 | zoneId: "N4zTDq3PPEHBIODv7cXK",
35 | forceBid: true
36 | }
37 | }
38 | ]
39 | }
40 | ];
41 | ```
42 |
--------------------------------------------------------------------------------
/plugins/RequireEnsureWithoutJsonp.js:
--------------------------------------------------------------------------------
1 | /**
2 | * RequireEnsureWithoutJsonp
3 | *
4 | * This plugin redefines the behavior of require.ensure that is used by webpack to load chunks. Usually require.ensure
5 | * includes code that allows the asynchronous loading of webpack chunks through jsonp requests AND includes a manifest
6 | * of all the build chunks so that they can be requested by name (e.g. require.ensure('./module.js'). Since that
7 | * functionality is not required and we plan on loading all of our chunks manually (either by concatenating all the
8 | * files together or including as individual scripts) we don't want the overhead of including that loading code or the
9 | * file manifest. In this plugin, that code is replaced with an error message if a module is requested that hasn't been
10 | * loaded manually.
11 | *
12 | * @constructor
13 | */
14 | function RequireEnsureWithoutJsonp() {}
15 | RequireEnsureWithoutJsonp.prototype.apply = function(compiler) {
16 | compiler.plugin('compilation', function(compilation) {
17 | compilation.mainTemplate.plugin('require-ensure', function(_, chunk, hash) {
18 | return '';
19 | });
20 | });
21 | };
22 |
23 | module.exports = RequireEnsureWithoutJsonp;
24 |
--------------------------------------------------------------------------------
/test/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | "env": {
3 | "browser": true,
4 | "mocha": true
5 | },
6 | "extends": "standard",
7 | "globals": {
8 | "$$PREBID_GLOBAL$$": false
9 | },
10 | "parserOptions": {
11 | "sourceType": "module"
12 | },
13 | "rules": {
14 | "comma-dangle": "off",
15 | "semi": "off",
16 | "space-before-function-paren": "off",
17 |
18 | // Exceptions below this line are temporary, so that eslint can be added into the CI process.
19 | // Violations of these styles should be fixed, and the exceptions removed over time.
20 | //
21 | // See Issue #1111.
22 | "camelcase": "off",
23 | "eqeqeq": "off",
24 | "no-mixed-spaces-and-tabs": "off",
25 | "no-tabs": "off",
26 | "no-unused-expressions": "off",
27 | "import/no-duplicates": "off",
28 | "no-template-curly-in-string": "off",
29 | "no-global-assign": "off",
30 | "no-path-concat": "off",
31 | "no-redeclare": "off",
32 | "node/no-deprecated-api": "off",
33 | "no-return-assign": "off",
34 | "no-undef": "off",
35 | "no-unused-vars": "off",
36 | "no-use-before-define": "off",
37 | "no-useless-escape": "off",
38 | "one-var": "off",
39 | }
40 | };
41 |
--------------------------------------------------------------------------------
/modules/xendizBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Xendiz Bidder Adapter
4 | Module Type: Bidder Adapter
5 | Maintainer: hello@xendiz.com
6 |
7 | # Description
8 |
9 | Module that connects to Xendiz demand sources
10 |
11 | # Test Parameters
12 | ```
13 | var adUnits = [
14 | {
15 | code: 'test-div',
16 | sizes: [[300, 250]],
17 | bids: [
18 | {
19 | bidder: "xendiz",
20 | params: {
21 | pid: '00000000-0000-0000-0000-000000000000'
22 | }
23 | }
24 | ]
25 | },{
26 | code: 'test-div',
27 | sizes: [[300, 50]],
28 | bids: [
29 | {
30 | bidder: "xendiz",
31 | params: {
32 | pid: '00000000-0000-0000-0000-000000000000',
33 | ext: {
34 | uid: '550e8400-e29b-41d4-a716-446655440000'
35 | }
36 | }
37 | }
38 | ]
39 | }
40 | ];
41 | ```
--------------------------------------------------------------------------------
/modules/aolBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: AOL Bid Adapter
4 |
5 | Module Type: AOL Adapter
6 |
7 | Maintainer: hb-fe-tech@oath.com
8 |
9 | # Description
10 |
11 | Module that connects to AOL's demand sources
12 |
13 | # Test Parameters
14 | ```javascript
15 | var adUnits = [
16 | {
17 | code: 'test-ad',
18 | sizes: [[300, 250]],
19 | bids: [
20 | {
21 | bidder: 'onedisplay',
22 | params: {
23 | placement: '3611253',
24 | network: '9599.1',
25 | keyValues: {
26 | test: 'key'
27 | }
28 | }
29 | }
30 | ]
31 | },
32 | {
33 | code: 'test-mobile-ad',
34 | sizes: [[300, 250]],
35 | bids: [
36 | {
37 | bidder: 'onemobile',
38 | params: {
39 | dcn: '2c9d2b50015a5aa95b70a9b0b5b10012',
40 | pos: 'header'
41 | }
42 | }
43 | ]
44 | }
45 | ];
46 | ```
47 |
--------------------------------------------------------------------------------
/modules/fintezaAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Finteza Analytics Adapter
5 | Module Type: Analytics Adapter
6 | Maintainer: renat@finteza.com
7 | ```
8 |
9 | # Description
10 |
11 | The Finteza adapter for integration with Prebid is an analytics tool for publishers who use the Header Bidding technology. The adapter tracks auction opening, offer sending to advertisers, receipt of bids by the publisher and auction winner selection. All tracks are sent to Finteza and enable visual advertiser quality evaluation: how many offers partners accept, what prices they provide, how fast they respond and how often their bids win.
12 |
13 | For more information, visit the [official Finteza website](https://www.finteza.com/).
14 |
15 | # Test Parameters
16 |
17 | ```
18 | {
19 | provider: 'finteza',
20 | options: {
21 | id: 'xxxxx', // Website ID (required)
22 | bidRequestTrack: 'Bid Request %BIDDER%',
23 | bidResponsePriceTrack: 'Bid Response Price %BIDDER%',
24 | bidResponseTimeTrack: 'Bid Response Time %BIDDER%',
25 | bidTimeoutTrack: 'Bid Timeout %BIDDER%',
26 | bidWonTrack: 'Bid Won %BIDDER%'
27 | }
28 | }
29 | ```
30 |
--------------------------------------------------------------------------------
/modules/somoBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Somo Audience Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: prebid@somoaudience.com
6 | # Description
7 | Connects to Somo Audience demand source.
8 | Please use ```somo``` as the bidder code.
9 |
10 | For video integration, somoAudience returns content as vastXML and requires the publisher to define the cache url in config passed to Prebid for it to be valid in the auction
11 | # Test Site Parameters
12 | ```
13 | var adUnits = [{
14 | code: 'banner-ad-div',
15 | sizes: [[300, 250]],
16 | bids: [{
17 | bidder: 'somo',
18 | params: {
19 | placementId: '22a58cfb0c9b656bff713d1236e930e8'
20 | }
21 | }]
22 | }];
23 | ```
24 | # Test App Parameters
25 | ```
26 | var adUnits = [{
27 | code: 'banner-ad-div',
28 | sizes: [[300, 250]],
29 | bids: [{
30 | bidder: 'somo',
31 | params: {
32 | placementId: '22a58cfb0c9b656bff713d1236e930e8',
33 | app: {
34 | bundle: 'com.somoaudience.apps',
35 | storeUrl: 'http://somoaudience.com/apps',
36 | domain: 'somoaudience.com',
37 | }
38 | }
39 | }]
40 | }];
41 | ```
42 |
--------------------------------------------------------------------------------
/modules/stvBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: STV Video Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid@dspx.tv
7 | ```
8 |
9 | # Description
10 |
11 | STV video adapter for Prebid.js 1.x
12 |
13 | # Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | // video settings
18 | code: 'video-obj',
19 | mediaTypes: {
20 | video: {
21 | context: 'instream',
22 | playerSize: [640, 480]
23 | }
24 | },
25 | bids: [
26 | {
27 | bidder: "stv",
28 | params: {
29 | placement: "", // placement ID of inventory with STV
30 | noskip: 1, // 0 or 1
31 | pfilter: {/*
32 | min_duration: 10, // min duration
33 | max_duration: 30, // max duration
34 | min_bitrate: 300, // min bitrate
35 | max_bitrate: 1600, // max bitrate
36 | */}
37 | }
38 | }
39 | ]
40 | }
41 | ];
42 | ```
43 |
44 |
--------------------------------------------------------------------------------
/modules/cedatoBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Cedato Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: alexk@cedato.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Cedato Bidder.
12 | Player ID must be replaced. You can approach your Cedato account manager to get one.
13 |
14 | # Test Parameters
15 | ```
16 | var adUnits = [
17 | // Banner
18 | {
19 | code: 'div-gpt-ad-1460505748561-0',
20 | mediaTypes: {
21 | banner: {
22 | // You can choose one of them
23 | sizes: [
24 | [300, 250],
25 | [300, 600],
26 | [240, 400],
27 | [728, 90],
28 | ]
29 | }
30 | },
31 | bids: [
32 | {
33 | bidder: "cedato",
34 | params: {
35 | player_id: 1450133326,
36 | }
37 | }
38 | ]
39 | }
40 | ];
41 |
42 | pbjs.que.push(() => {
43 | pbjs.setConfig({
44 | userSync: {
45 | syncEnabled: true,
46 | enabledBidders: ['cedato'],
47 | pixelEnabled: true,
48 | syncsPerBidder: 200,
49 | syncDelay: 100,
50 | },
51 | });
52 | });
53 | ```
54 |
--------------------------------------------------------------------------------
/modules/rockyouBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: RockYou Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid.adapter@rockyou.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to the RockYou exchange for bids.
12 |
13 | The RockYou bid adapter supports Banner and Video.
14 |
15 | For publishers who wish to be set up on the RockYou Ad Network, please contact
16 | publishers@rockyou.com.
17 |
18 | RockYou user syncing requires the `userSync.iframeEnabled` property be set to `true`.
19 |
20 | # Test PARAMETERS
21 | ```
22 | var adUnits = [
23 |
24 | // Banner adUnit
25 | {
26 | code: 'banner-div',
27 | mediaTypes: {
28 | banner: {
29 | sizes: [[720, 480]]
30 | }
31 | },
32 |
33 | bids: [{
34 | bidder: 'rockyou',
35 | params: {
36 | placementId: '4954'
37 | }
38 | }]
39 | },
40 |
41 | // Video (outstream)
42 | {
43 | code: 'video-outstream',
44 | mediaTypes: {
45 | video: {
46 | context: 'outstream',
47 | playerSize: [720, 480]
48 | }
49 | },
50 | bids: [{
51 | bidder: 'rockyou',
52 | params: {
53 | placementId: '4957'
54 | }
55 | }]
56 | }
57 | ]
58 | ```
59 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 |
2 | const allowedModules = require("./allowedModules");
3 |
4 | module.exports = {
5 | "env": {
6 | "browser": true,
7 | "commonjs": true
8 | },
9 | "settings": {
10 | "import/resolver": {
11 | "node": {
12 | "moduleDirectory": ["node_modules", "./"]
13 | }
14 | }
15 | },
16 | "extends": "standard",
17 | "plugins": [
18 | "prebid"
19 | ],
20 | "globals": {
21 | "$$PREBID_GLOBAL$$": false
22 | },
23 | "parserOptions": {
24 | "sourceType": "module"
25 | },
26 | "rules": {
27 | "comma-dangle": "off",
28 | "semi": "off",
29 | "space-before-function-paren": "off",
30 |
31 | // Exceptions below this line are temporary, so that eslint can be added into the CI process.
32 | // Violations of these styles should be fixed, and the exceptions removed over time.
33 | //
34 | // See Issue #1111.
35 | "eqeqeq": "off",
36 | "no-return-assign": "off",
37 | "no-throw-literal": "off",
38 | "no-undef": "off",
39 | "no-useless-escape": "off",
40 | },
41 | "overrides": Object.keys(allowedModules).map((key) => ({
42 | "files": key + "/**/*.js",
43 | "rules": {
44 | "prebid/validate-imports": ["error", allowedModules[key]]
45 | }
46 | }))
47 | };
48 |
--------------------------------------------------------------------------------
/modules/lifestreetBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Lifestreet Bid Adapter
4 |
5 | Module Type: Lifestreet Adapter
6 |
7 | Maintainer: hb.tech@lifestreet.com
8 |
9 | # Description
10 |
11 | Module that connects to Lifestreet's demand sources
12 |
13 | # Test Parameters
14 | ```javascript
15 | var adUnits = [
16 | // Banner adUnit
17 | {
18 | code: 'test-ad',
19 | sizes: [[160, 600]],
20 | bids: [
21 | {
22 | bidder: 'lifestreet',
23 | params: {
24 | slot: 'slot166704',
25 | adkey: '78c',
26 | ad_size: '160x600'
27 | }
28 | }
29 | ]
30 | },
31 | // Video instream adUnit
32 | {
33 | code: 'test-video-ad',
34 | sizes: [[640, 480]],
35 | bids: [
36 | {
37 | bidder: 'lifestreet',
38 | params: {
39 | slot: 'slot1227631',
40 | adkey: 'a98',
41 | ad_size: '640x480'
42 | }
43 | }
44 | ]
45 | }
46 | ];
47 | ```
48 |
--------------------------------------------------------------------------------
/modules/googleAnalyticsAdapter.md:
--------------------------------------------------------------------------------
1 | # Google Analytics Adapter
2 |
3 | The google analytics adapter pushes prebid events into google analytics.
4 |
5 | ## Usage
6 |
7 | The simplest way to enable the analytics adapter is this
8 |
9 | ```javascript
10 | pbjs.enableAnalytics([{
11 | provider: 'ga'
12 | }]);
13 | ```
14 |
15 | Defaults will be used and you should see events being pushed to analytics.
16 |
17 | You can customize the adapter with various `options` like this
18 |
19 | ```javascript
20 | pbjs.enableAnalytics([{
21 | provider: 'ga',
22 | options: { ... }
23 | }]);
24 |
25 | Here is a full list of settings available
26 |
27 | - `global` (string) - name of the global analytics object. Default is `ga`
28 | - `trackerName` (string) - use another tracker for prebid events. Default is the default tracker
29 | - `sampling` (number) - choose a value from `0` to `1`, where `0` means 0% and `1` means 100% tracked
30 | - `enableDistribution` (boolean) - enables additional events that track load time and cpm distribution
31 | by creating buckets for load time and cpm
32 | - `cpmDistribution` (cpm: number => string) - customize the cpm buckets for the cpm distribution
33 |
34 |
35 | ## Additional resources
36 |
37 | - [Prebid GA Analytics](http://prebid.org/overview/ga-analytics.html)
38 |
--------------------------------------------------------------------------------
/modules/lkqdBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: LKQD Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support@lkqd.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to LKQD exchange for bids.
12 |
13 | LKQD bid adapter supports Video ads currently.
14 |
15 | For more information about [LKQD Ad Serving and Management](http://www.lkqd.com/ad-serving-and-management/), please contact [info@lkqd.com](info@lkqd.com).
16 |
17 | # Sample Ad Unit: For Publishers
18 | ```javascript
19 | var videoAdUnit = [
20 | {
21 | code: 'video1',
22 | sizes: [
23 | [300, 250],
24 | [640, 480]
25 | ],
26 | bids: [{
27 | bidder: 'lkqd',
28 | params: {
29 | siteId: '662921',
30 | placementId: '263'
31 | }
32 | }]
33 | }];
34 | ```
35 |
36 | # Configuration
37 |
38 | The LKQD Bidder Adapter expects Prebid Cache to be enabled so that we can store and retrieve a single vastXml. If this value is not set it will have to use vastUrl to make a duplicate call to the SSP and cannot guarantee the same ad will be received after auctionEnd.
39 |
40 | ```javascript
41 | pbjs.setConfig({
42 | usePrebidCache: true,
43 | cache: {
44 | url: 'https://prebid.adnxs.com/pbc/v1/cache'
45 | }
46 | });
47 | ```
48 |
--------------------------------------------------------------------------------
/modules/sortableBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Sortable Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid@sortable.com
7 | ```
8 |
9 | # Description
10 |
11 | Sortable's adapter integration to the Prebid library. Posts plain-text JSON to the /openrtb2/auction endpoint.
12 |
13 | # Test Parameters
14 |
15 | ```
16 | var adUnits = [
17 | {
18 | code: 'test-pb-leaderboard',
19 | sizes: [[728, 90]],
20 | bids: [{
21 | bidder: 'sortable',
22 | params: {
23 | tagId: 'test-pb-leaderboard',
24 | siteId: 'prebid.example.com',
25 | 'keywords': {
26 | 'key1': 'val1',
27 | 'key2': 'val2'
28 | }
29 | }
30 | }]
31 | }, {
32 | code: 'test-pb-banner',
33 | sizes: [[300, 250]],
34 | bids: [{
35 | bidder: 'sortable',
36 | params: {
37 | tagId: 'test-pb-banner',
38 | siteId: 'prebid.example.com'
39 | }
40 | }]
41 | }, {
42 | code: 'test-pb-sidebar',
43 | size: [[160, 600]],
44 | bids: [{
45 | bidder: 'sortable',
46 | params: {
47 | tagId: 'test-pb-sidebar',
48 | siteId: 'prebid.example.com',
49 | 'keywords': {
50 | 'keyA': 'valA'
51 | }
52 | }
53 | }]
54 | }
55 | ]
56 | ```
57 |
--------------------------------------------------------------------------------
/modules/rivrAnalyticsAdapter.js:
--------------------------------------------------------------------------------
1 | import {ajax} from '../src/ajax';
2 | import adapter from '../src/AnalyticsAdapter';
3 | import adapterManager from '../src/adapterManager';
4 | import * as utils from '../src/utils';
5 |
6 | const analyticsType = 'endpoint';
7 |
8 | let rivrAnalytics = Object.assign(adapter({analyticsType}), {
9 | track({ eventType, args }) {
10 | if (window.rivraddon && window.rivraddon.analytics && window.rivraddon.analytics.getContext() && window.rivraddon.analytics.trackPbjsEvent) {
11 | utils.logInfo(`ARGUMENTS FOR TYPE: ============= ${eventType}`, args);
12 | window.rivraddon.analytics.trackPbjsEvent({ eventType, args });
13 | }
14 | }
15 | });
16 |
17 | // save the base class function
18 | rivrAnalytics.originEnableAnalytics = rivrAnalytics.enableAnalytics;
19 |
20 | // override enableAnalytics so we can get access to the config passed in from the page
21 | rivrAnalytics.enableAnalytics = (config) => {
22 | if (window.rivraddon && window.rivraddon.analytics) {
23 | window.rivraddon.analytics.enableAnalytics(config, {utils, ajax, pbjsGlobalVariable: $$PREBID_GLOBAL$$});
24 | rivrAnalytics.originEnableAnalytics(config);
25 | }
26 | };
27 |
28 | adapterManager.registerAnalyticsAdapter({
29 | adapter: rivrAnalytics,
30 | code: 'rivr'
31 | });
32 |
33 | export default rivrAnalytics;
34 |
--------------------------------------------------------------------------------
/modules/getintentBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: GetIntent Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: server-dev@getintent.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to GetIntent's demand sources.
12 | Banner and Video formats are supported.
13 |
14 | # Required parameters
15 | * ```pid``` for Publisher ID
16 | * ```tid``` for Tag ID.
17 |
18 | # Test Parameters
19 | ```
20 | var adUnits = [
21 | {
22 | code: 'test-ad',
23 | sizes: [[300, 250]],
24 | bids: [
25 | {
26 | bidder: "getintent",
27 | params: {
28 | pid: "7",
29 | tid: "test01"
30 | }
31 | }
32 | ]
33 | },{
34 | code: 'test-video-ad',
35 | sizes: [[300, 250]],
36 | bids: [
37 | {
38 | bidder: "getintent",
39 | params: {
40 | pid: "7",
41 | tid: "test01"
42 | },
43 | mediaType: "video"
44 | }
45 | ]
46 | }
47 | ];
48 | ```
49 |
--------------------------------------------------------------------------------
/nightwatch.conf.js:
--------------------------------------------------------------------------------
1 | module.exports = (function(settings) {
2 | var browsers = require('./browsers.json');
3 | delete browsers['bs_ie_9_windows_7'];
4 |
5 | for(var browser in browsers) {
6 | if(browsers[browser].browser === 'iphone') continue;
7 |
8 | var desiredCapabilities = {
9 | "browserName": browsers[browser].browser,
10 | "version": browsers[browser].browser_version,
11 | "platform": browsers[browser].os,
12 | "os": browsers[browser].os,
13 | "os_version": browsers[browser].os_version,
14 | "browser": browsers[browser].browser,
15 | "browser_version": browsers[browser].browser_version,
16 | };
17 |
18 | settings.test_settings[browser] = {
19 | "silent": true,
20 | "exclude":["custom-assertions","custom-commands","common","custom-reporter"],
21 | "screenshots" : {
22 | "enabled" : false,
23 | "path" : ""
24 | },
25 | "javascriptEnabled": true,
26 | "acceptSslCerts": true,
27 | "browserstack.local": true,
28 | "browserstack.debug": true,
29 | "browserstack.selenium_version" : "2.53.0",
30 | "browserstack.user": "${BROWSERSTACK_USERNAME}",
31 | "browserstack.key": "${BROWSERSTACK_KEY}"
32 | };
33 | settings.test_settings[browser]['desiredCapabilities'] = desiredCapabilities;
34 | }
35 | return settings;
36 |
37 | })(require('./nightwatch.browserstack.json'));
38 |
--------------------------------------------------------------------------------
/modules/appierBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Appier Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: apn-dev@appier.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Appier exchange for bids.
12 |
13 | NOTE:
14 | - Appier bid adapter only supports Banner at the moment.
15 | - Multi-currency is not supported. Please make sure you have correct DFP currency settings according to your deal with Appier.
16 |
17 | # Sample Ad Unit Config
18 | ```
19 | var adUnits = [
20 | // Banner adUnit
21 | {
22 | code: 'banner-div',
23 | mediaTypes: {
24 | banner: {
25 | sizes: [[300, 250], [300,600]]
26 | }
27 | },
28 | bids: [{
29 | bidder: 'appier',
30 | params: {
31 | hzid: 'WhM5WIOp'
32 | }
33 | }]
34 | }
35 | ];
36 | ```
37 |
38 | # Additional Config (Optional)
39 | Set the "farm" to use region-specific server
40 | ```
41 | // use the bid server in Taiwan (country code: tw)
42 | pbjs.setConfig({
43 | appier: {
44 | 'farm': 'tw'
45 | }
46 | });
47 | ```
48 |
49 | Explicitly override the bid server used for bidding
50 | ```
51 | // use the bid server specified and override the default
52 | pbjs.setConfig({
53 | appier: {
54 | 'server': '${HOST_NAME_OF_THE_SERVER}'
55 | }
56 | });
57 | ```
58 |
--------------------------------------------------------------------------------
/modules/consumableBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Consumable Bid Adapter
4 |
5 | Module Type: Consumable Adapter
6 |
7 | Maintainer: naffis@consumable.com
8 |
9 | # Description
10 |
11 | Module that connects to Consumable's demand sources
12 |
13 | # Test Parameters
14 | ```javascript
15 | var adUnits = [
16 | {
17 | code: 'test-ad-1',
18 | sizes: [[300, 250]],
19 | bids: [
20 | {
21 | bidder: 'consumable',
22 | params: {
23 | networkId: '9969',
24 | siteId: '980639',
25 | unitId: '123456',
26 | unitName: 'cnsmbl-unit'
27 | }
28 | }
29 | ]
30 | },
31 | {
32 | code: 'test-ad-2',
33 | sizes: [[300, 250]],
34 | bids: [
35 | {
36 | bidder: 'consumable',
37 | params: {
38 | networkId: '9969',
39 | siteId: '980639',
40 | unitId: '123456',
41 | unitName: 'cnsmbl-unit',
42 | zoneIds: [178503]
43 | }
44 | }
45 | ]
46 | }
47 | ];
48 | ```
--------------------------------------------------------------------------------
/modules/uolBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: UOL Project Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: l-prebid@uolinc.com
7 | ```
8 |
9 | # Description
10 |
11 | Connect to UOL Project's exchange for bids.
12 |
13 | For proper setup, please contact UOL Project's team at l-prebid@uolinc.com
14 |
15 | # Test Parameters
16 | ```
17 | var adUnits = [
18 | {
19 | code: '/19968336/header-bid-tag-0',
20 | mediaTypes: {
21 | banner: {
22 | sizes: [[300, 250],[300, 600]]
23 | }
24 | },
25 | bids: [{
26 | bidder: 'uol',
27 | params: {
28 | placementId: 1231244,
29 | test: true,
30 | cpmFactor: 2
31 | }
32 | }
33 | ]
34 | },
35 | {
36 | code: '/19968336/header-bid-tag-1',
37 | mediaTypes: {
38 | banner: {
39 | sizes: [[970, 250],[728, 90]]
40 | }
41 | },
42 | bids: [{
43 | bidder: 'uol',
44 | params: {
45 | placementId: 1231242,
46 | test: false
47 | }
48 | }]
49 | }
50 | ];
51 | ```
52 |
--------------------------------------------------------------------------------
/integrationExamples/gpt/amp/creative.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
39 |
--------------------------------------------------------------------------------
/modules/oneVideoBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: One Video Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: ankur.modi@oath.com
6 |
7 | # Description
8 |
9 | Connects to One Video demand source to fetch bids.
10 |
11 |
12 | # Test Parameters
13 | ```
14 | var adUnits = [
15 | {
16 | code: 'video1',
17 | sizes: [640,480],
18 | mediaTypes: {
19 | video: {
20 | context: "instream"
21 | }
22 | },
23 | bids: [
24 | {
25 | bidder: 'oneVideo',
26 | params: {
27 | video: {
28 | playerWidth: 480,
29 | playerHeight: 640,
30 | mimes: ['video/mp4', 'application/javascript'],
31 | protocols: [2,5],
32 | api: [2],
33 | position: 1,
34 | delivery: [2],
35 | playbackmethod: [1,5],
36 | placement: 123,
37 | sid: ,
38 | rewarded: 1
39 | },
40 | },
41 | site: {
42 | id: 1,
43 | page: 'http://abhi12345.com',
44 | referrer: 'http://abhi12345.com'
45 | },
46 | pubId: 'brxd'
47 | }
48 | }
49 | ]
50 | }
51 | ];
52 | ```
53 |
--------------------------------------------------------------------------------
/modules/oneplanetonlyBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: OnePlanetOnly Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: vitaly@oneplanetonly.com
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to OnePlanetOnly's demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'desktop-banner-ad-div',
18 | mediaTypes: {
19 | banner: {
20 | sizes: [[300, 250], [300, 600]],
21 | }
22 | },
23 | bids: [
24 | {
25 | bidder: 'oneplanetonly',
26 | params: {
27 | siteId: '5',
28 | adUnitId: '5-4587544'
29 | }
30 | }
31 | ]
32 | },{
33 | code: 'mobile-banner-ad-div',
34 | mediaTypes: {
35 | banner: {
36 | sizes: [[320, 50], [320, 100]],
37 | }
38 | },
39 | bids: [
40 | {
41 | bidder: "oneplanetonly",
42 | params: {
43 | siteId: '5',
44 | adUnitId: '5-81037880'
45 | }
46 | }
47 | ]
48 | }
49 | ];
50 | ```
--------------------------------------------------------------------------------
/modules/tripleliftBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Triplelift Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: prebid@triplelift.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Triplelift Exchange for bids.
12 | Triplelift bid adapter supports Banner format only.
13 |
14 | # Test Parameters
15 | ```
16 | var adUnits = [{
17 | code: 'banner-div',
18 | mediaTypes: {
19 | banner: {
20 | sizes: [[300, 600], [300, 250], [320, 90]],
21 | }
22 | },
23 | bids: [
24 | {
25 | bidder: 'triplelift',
26 | params: {
27 | inventoryCode: 'forbes_main',
28 | floor: 1.009
29 | }
30 | }]
31 | }, {
32 | code: 'banner-div-2',
33 | mediaTypes: {
34 | banner: {
35 | sizes: [[300, 300]],
36 | }
37 | },
38 | bids: [
39 | {
40 | bidder: 'triplelift',
41 | params: {
42 | inventoryCode: 'foodgawker',
43 | floor: 0.00
44 | }
45 | }]
46 | }, {
47 | code: 'banner-div-3',
48 | mediaTypes: {
49 | banner: {
50 | sizes: [[300, 600], [300, 250]],
51 | }
52 | },
53 | bids: [
54 | {
55 | bidder: 'triplelift',
56 | params: {
57 | inventoryCode: 'forbes_main',
58 | floor: 0
59 | }
60 | }]
61 | }];
62 | ```
63 |
--------------------------------------------------------------------------------
/modules/dgadsBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Digital Garage Ads Platform Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer:dgads-support@garage.co.jp
7 | ```
8 |
9 | # Description
10 |
11 | Connect to Digital Garage Ads Platform for bids.
12 | This adapter supports Banner and Native.
13 |
14 | # Test Parameters
15 | ```
16 | var adUnits = [
17 | // Banner
18 | {
19 | code: 'banner-div',
20 | sizes: [[300, 250]],
21 | bids: [{
22 | bidder: 'dgads',
23 | mediaTypes: 'banner',
24 | params: {
25 | location_id: '1',
26 | site_id: '1'
27 | }
28 | }]
29 | },
30 | // Native
31 | {
32 | code: 'native-div',
33 | sizes: [[300, 250]],
34 | mediaTypes: {
35 | native: {
36 | title: {
37 | required: true,
38 | len: 25
39 | },
40 | body: {
41 | required: true,
42 | len: 140
43 | },
44 | sponsoredBy: {
45 | required: true,
46 | len: 40
47 | },
48 | image: {
49 | required: true
50 | },
51 | clickUrl: {
52 | required: true
53 | },
54 | }
55 | },
56 | bids: [{
57 | bidder: 'dgads',
58 | params: {
59 | location_id: '10',
60 | site_id: '1'
61 | }
62 | }]
63 | },
64 | ];
65 | ```
66 |
--------------------------------------------------------------------------------
/modules/ebdrBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: EngageBDR Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: tech@engagebdr.com
7 | ```
8 |
9 | # Description
10 |
11 | Adapter that connects to EngageBDR's demand sources.
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [{
16 | code: 'div-gpt-ad-1460505748561-0',
17 | mediaTypes: {
18 | banner: {
19 | sizes: [[300, 250], [300,600]],
20 | }
21 | },
22 | bids: [{
23 | bidder: 'ebdr',
24 | params: {
25 | zoneid: '99999',
26 | bidfloor: '1.00',
27 | IDFA:'xxx-xxx',
28 | ADID:'xxx-xxx',
29 | latitude:'34.089811',
30 | longitude:'-118.392805'
31 | }
32 | }]
33 | },{
34 | code: 'test-video',
35 | mediaTypes: {
36 | video: {
37 | context: 'instream',
38 | playerSize: [300, 250]
39 | }
40 | },
41 | bids: [{
42 | bidder: 'ebdr',
43 | params: {
44 | zoneid: '99998',
45 | bidfloor: '1.00',
46 | IDFA:'xxx-xxx',
47 | ADID:'xxx-xxx',
48 | latitude:'34.089811',
49 | longitude:'-118.392805'
50 | }
51 | }]
52 | }];
53 | ```
54 |
--------------------------------------------------------------------------------
/modules/audienceNetworkBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | Module Name: Audience Network Bid Adapter
4 |
5 | Module Type: Bidder Adapter
6 |
7 | Maintainer: Lovell Fuller
8 |
9 | # Parameters
10 |
11 | | Name | Scope | Description | Example |
12 | | :------------ | :------- | :---------------------------------------------- | :--------------------------------- |
13 | | `placementId` | required | The Placement ID from Audience Network | "555555555555555\_555555555555555" |
14 | | `format` | optional | Format, one of "native" or "video" | "native" |
15 |
16 | # Example ad units
17 |
18 | ```javascript
19 | const adUnits = [{
20 | code: "test-iab",
21 | sizes: [[300, 250]],
22 | bids: [{
23 | bidder: "audienceNetwork",
24 | params: {
25 | placementId: "555555555555555_555555555555555"
26 | }
27 | }]
28 | }, {
29 | code: "test-native",
30 | sizes: [[300, 250]],
31 | bids: [{
32 | bidder: "audienceNetwork",
33 | params: {
34 | format: "native",
35 | placementId: "555555555555555_555555555555555"
36 | }
37 | }]
38 | }, {
39 | code: "test-video",
40 | sizes: [[640, 360]],
41 | bids: [{
42 | bidder: "audienceNetwork",
43 | params: {
44 | format: "video",
45 | placementId: "555555555555555_555555555555555"
46 | }
47 | }]
48 | }];
49 | ```
50 |
--------------------------------------------------------------------------------
/nightwatch.browserstack.json:
--------------------------------------------------------------------------------
1 | {
2 | "src_folders": ["./test/spec/e2e"],
3 | "output_folder": "./build/coverage/e2e/reports",
4 | "custom_commands_path": "",
5 | "custom_assertions_path": "",
6 | "page_objects_path": "",
7 | "globals_path": "",
8 |
9 | "selenium" : {
10 | "start_process" : false,
11 | "host" : "hub.browserstack.com",
12 | "port" : 80
13 | },
14 |
15 | "test_settings": {
16 | "default": {
17 | "launch_url" : "http://hub.browserstack.com",
18 | "selenium_port" : 80,
19 | "selenium_host" : "hub.browserstack.com",
20 | "silent": true,
21 | "exclude":["custom-assertions","custom-commands","common","custom-reporter"],
22 | "screenshots" : {
23 | "enabled" : false,
24 | "path" : ""
25 | },
26 | "desiredCapabilities": {
27 | "browserName": "chrome",
28 | "browser_version" : "51.0",
29 | "platform" : "WINDOWS",
30 |
31 | "javascriptEnabled": true,
32 | "acceptSslCerts": true,
33 |
34 | "os" : "WINDOWS",
35 | "os_version" : "7",
36 | "browser" : "Chrome",
37 | "browser_version" : "51.0",
38 | "browserstack.local": true,
39 | "browserstack.debug": true,
40 | "browserstack.selenium_version" : "2.53.0",
41 | "browserstack.user": "${BROWSERSTACK_USERNAME}",
42 | "browserstack.key": "${BROWSERSTACK_KEY}"
43 | }
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/modules/adxcgBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | **Module Name**: Adxcg Bidder Adapter
4 | **Module Type**: Bidder Adapter
5 | **Maintainer**: info@adxcg.com
6 |
7 | # Description
8 |
9 | Module that connects to an Adxcg.com zone to fetch bids.
10 |
11 | # Test Parameters
12 | ```
13 | ``
14 | var adUnits = [{
15 | code: 'banner-ad-div',
16 | sizes: [[300, 250]],
17 | bids: [{
18 | bidder: 'adxcg',
19 | params: {
20 | adzoneid: '1'
21 | }
22 | }]
23 | },{
24 | code: 'native-ad-div',
25 | sizes: [[300, 250], [1, 1]],
26 | nativeParams: {
27 | title: { required: true, len: 75 },
28 | image: { required: true },
29 | body: { len: 200 },
30 | sponsoredBy: { len: 20 }
31 | },
32 | bids: [{
33 | bidder: 'adxcg',
34 | params: {
35 | adzoneid: '2379'
36 | }
37 | }
38 | }]
39 | },{
40 | code: 'video',
41 | sizes: [[640, 480]],
42 | bids: [{
43 | bidder: 'adxcg',
44 | params: {
45 | adzoneid: '20'
46 | }
47 | }
48 | }]
49 | }];
50 | ```
51 |
--------------------------------------------------------------------------------
/modules/taphypeBidAdapter.js:
--------------------------------------------------------------------------------
1 | import {registerBidder} from '../src/adapters/bidderFactory';
2 |
3 | export const spec = {
4 | code: 'taphype',
5 | isBidRequestValid: function (bid) {
6 | return !!bid.params.placementId;
7 | },
8 | buildRequests: function (bidRequests) {
9 | const requests = bidRequests.map(function (bid) {
10 | const params = {
11 | placementId: bid.params.placementId,
12 | url: encodeURIComponent(window.location.href),
13 | size: bid.sizes[0][0] + 'x' + bid.sizes[0][1],
14 | rnd: Math.random(),
15 | bidId: bid.bidId,
16 | };
17 |
18 | return {method: 'GET', url: 'https://us-central1-taphype-internal.cloudfunctions.net/th-prebid', data: params, options: {withCredentials: false}}
19 | });
20 |
21 | return requests;
22 | },
23 | interpretResponse: function (serverResponse, bidRequest) {
24 | if (!serverResponse || !serverResponse.body || !serverResponse.body.ad) {
25 | return [];
26 | }
27 |
28 | const bid = serverResponse.body;
29 | const sizes = bid.size.split(',');
30 |
31 | return [{
32 | requestId: bidRequest.data.bidId,
33 | cpm: bid.price,
34 | width: sizes[0],
35 | height: sizes[1],
36 | creativeId: bidRequest.data.bidId,
37 | currency: bid.currency || 'USD',
38 | netRevenue: true,
39 | ad: bid.ad,
40 | ttl: 360
41 | }];
42 | },
43 | };
44 |
45 | registerBidder(spec);
46 |
--------------------------------------------------------------------------------
/modules/sublimeBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Sublime Bid Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: pbjs@sublimeskinz.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Sublime for bids.
12 | Sublime bid adapter supports Skinz and M-Skinz formats.
13 |
14 | # Nota Bene
15 |
16 | Our prebid adapter is unusable with SafeFrame.
17 |
18 | # Build
19 |
20 | You can build your version of prebid.js, execute:
21 |
22 | ```shell
23 | gulp build --modules=sublimeBidAdapter
24 | ```
25 |
26 | Or to build with multiple adapters
27 |
28 | ```shell
29 | gulp build --modules=sublimeBidAdapter,secondAdapter,thirdAdapter
30 | ```
31 |
32 | More details in the root [README](../README.md#Build)
33 |
34 | ## To build from you own repository
35 |
36 | - copy `/modules/sublimeBidAdapter.js` to your `/modules/` directory
37 | - copy `/modules/sublimeBidAdapter.md` to your `/modules/` directory
38 | - copy `/test/spec/modules/sublimeBidAdapter_spec.js` to your `/test/spec/modules/` directory
39 |
40 | Then build
41 |
42 |
43 | # Invocation Parameters
44 |
45 | ```js
46 | var adUnits = [{
47 | code: 'sublime',
48 | mediaTypes: {
49 | banner: {
50 | sizes: [1800, 1000]
51 | }
52 | },
53 | bids: [{
54 | bidder: 'sublime',
55 | params: {
56 | zoneId:
57 | }
58 | }]
59 | }];
60 | ```
61 |
62 | Where you replace `` by your Sublime Zone id
63 |
--------------------------------------------------------------------------------
/modules/iqmBidAdapter.md:
--------------------------------------------------------------------------------
1 | #Overview
2 |
3 | ```
4 | Module Name: iQM Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: hbteam@iqm.com
7 | ```
8 |
9 | # Parameters
10 |
11 | | Name | Scope | Description | Example |
12 | | :------------ | :------- | :------------------------ | :------------------- |
13 | | `publisherId` | required | The Publisher ID from iQM | "df5fd732-c5f3-11e7" |
14 | | `tagId` | required | The tag ID from iQM | "1c5c9ec2-c5f4-11e7" |
15 | | `placementId` | required | The Placement ID from iQM | "50cc36fe-c5f4-11e7" |
16 | | `bidfloor` | optional | Bid Floor | 0.50 |
17 |
18 | # Description
19 |
20 | Module that connects to iQM demand sources
21 |
22 | # Test Parameters
23 | ```
24 | var adUnits = [
25 | {
26 | code: 'test-div1',
27 | sizes: [[320, 50]], // display 320x50
28 | bids: [
29 | {
30 | bidder: 'iqm',
31 | params: {
32 | publisherId: 'df5fd732-c5f3-11e7-abc4-cec278b6b50a',
33 | tagId: '1c5c9ec2-c5f4-11e7-abc4-cec278b6b50a',
34 | placementId: '50cc36fe-c5f4-11e7-abc4-cec278b6b50a',
35 | bidfloor: 0.50,
36 | }
37 | }
38 | ]
39 | }
40 | ];
41 | ```
42 |
--------------------------------------------------------------------------------
/modules/rhythmoneBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: RhythmOne Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: support@rhythmone.com
7 | ```
8 |
9 | # Description
10 |
11 | This module relays Prebid bids from Rhythm Exchange, RhythmOne's ad exchange.
12 |
13 | # Test Parameters
14 |
15 | ```js
16 | const adUnits = [{
17 | code: 'adSlot-1',
18 | mediaTypes: {
19 | banner: {
20 | sizes: [
21 | [300, 250],
22 | [300, 600]
23 | ]
24 | }
25 | },
26 | bids: [
27 | {
28 | bidder: 'rhythmone',
29 | params:
30 | {
31 | placementId: '80184', // REQUIRED
32 | zone: '1r', // OPTIONAL
33 | path: 'mvo', // OPTIONAL
34 | endpoint: "//tag.1rx.io/rmp/80184/0/mvo?z=1r" // OPTIONAL, only required for testing. this api guarantees no 204 responses
35 | }
36 | }
37 | ]
38 | },
39 | {
40 | code: 'adSlot-2',
41 | mediaTypes: {
42 | video: {
43 | context: "instream",
44 | playerSize: [640, 480]
45 | }
46 | },
47 | bids: [
48 | {
49 | bidder: 'rhythmone',
50 | params:
51 | {
52 | placementId: '80184', // REQUIRED
53 | zone: '1r', // OPTIONAL
54 | path: 'mvo', // OPTIONAL
55 | endpoint: "//tag.1rx.io/rmp/80184/0/mvo?z=1r" // OPTIONAL, only required for testing. this api guarantees no 204 responses
56 | }
57 | }
58 | ]
59 | }];
60 | ```
61 |
--------------------------------------------------------------------------------
/modules/polymorphBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Polymorph Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: kuldeep@getpolymorph.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Polymorph Demand Cloud (s2s header-bidding)
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: 'test-div-1',
18 | sizes: [[300, 250]],
19 | bids: [
20 | {
21 | bidder: "polymorph",
22 | params: {
23 | placementId: 'ping'
24 | }
25 | }
26 | ]
27 | },{
28 | code: 'test-div-2',
29 | sizes: [[300, 250], [300,600]]
30 | bids: [
31 | {
32 | bidder: "polymorph",
33 | params: {
34 | placementId: 'ping',
35 | // In case multiple ad sizes are supported, it's recommended to specify default height and width for native ad (in case native ad is chose as a winner). In case of banner or outstream ad any one of the above sizes can be chosen depending on the highest bid.
36 | defaultWidth: 300,
37 | defaultHeight: 600
38 | }
39 | }
40 | ]
41 | }
42 | ];
43 | ```
--------------------------------------------------------------------------------
/src/bidfactory.js:
--------------------------------------------------------------------------------
1 | var utils = require('./utils.js');
2 |
3 | /**
4 | Required paramaters
5 | bidderCode,
6 | height,
7 | width,
8 | statusCode
9 | Optional paramaters
10 | adId,
11 | cpm,
12 | ad,
13 | adUrl,
14 | dealId,
15 | priceKeyString;
16 | */
17 | function Bid(statusCode, bidRequest) {
18 | var _bidSrc = (bidRequest && bidRequest.src) || 'client';
19 | var _statusCode = statusCode || 0;
20 |
21 | this.bidderCode = (bidRequest && bidRequest.bidder) || '';
22 | this.width = 0;
23 | this.height = 0;
24 | this.statusMessage = _getStatus();
25 | this.adId = utils.getUniqueIdentifierStr();
26 | this.requestId = bidRequest && bidRequest.bidId;
27 | this.mediaType = 'banner';
28 | this.source = _bidSrc;
29 |
30 | function _getStatus() {
31 | switch (_statusCode) {
32 | case 0:
33 | return 'Pending';
34 | case 1:
35 | return 'Bid available';
36 | case 2:
37 | return 'Bid returned empty or error response';
38 | case 3:
39 | return 'Bid timed out';
40 | }
41 | }
42 |
43 | this.getStatusCode = function () {
44 | return _statusCode;
45 | };
46 |
47 | // returns the size of the bid creative. Concatenation of width and height by ‘x’.
48 | this.getSize = function () {
49 | return this.width + 'x' + this.height;
50 | };
51 | }
52 |
53 | // Bid factory function.
54 | export function createBid(statusCode, bidRequest) {
55 | return new Bid(statusCode, bidRequest);
56 | }
57 |
--------------------------------------------------------------------------------
/test/spec/modules/digitrustIdSystem_spec.js:
--------------------------------------------------------------------------------
1 | import {
2 | digiTrustIdSubmodule,
3 | surfaceTestHook
4 | } from 'modules/digiTrustIdSystem';
5 |
6 | let assert = require('chai').assert;
7 | let expect = require('chai').expect;
8 |
9 | var testHook = null;
10 |
11 | describe('DigiTrust Id System', function () {
12 | it('Should create the test hook', function (done) {
13 | testHook = surfaceTestHook();
14 | assert.isNotNull(testHook, 'The test hook failed to surface');
15 | var conf = {
16 | init: {
17 | member: 'unit_test',
18 | site: 'foo'
19 | },
20 | callback: function (result) {
21 | }
22 | };
23 | testHook.initDigitrustFacade(conf);
24 | window.DigiTrust.getUser(conf);
25 | expect(window.DigiTrust).to.exist;
26 | expect(window.DigiTrust.isMock).to.be.true;
27 | done();
28 | });
29 |
30 | it('Should report as client', function (done) {
31 | delete window.DigiTrust;
32 | testHook = surfaceTestHook();
33 |
34 | var conf = {
35 | init: {
36 | member: 'unit_test',
37 | site: 'foo'
38 | },
39 | callback: function (result) {
40 | expect(window.DigiTrust).to.exist;
41 | expect(result).to.exist;
42 | expect(window.DigiTrust.isMock).to.be.true;
43 | }
44 | };
45 | testHook.initDigitrustFacade(conf);
46 | expect(window.DigiTrust).to.exist;
47 | expect(window.DigiTrust.isClient).to.be.true;
48 | done();
49 | });
50 | });
51 |
--------------------------------------------------------------------------------
/modules/advangelistsBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Advangelists Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: lokesh@advangelists.com
7 | ```
8 |
9 | # Description
10 |
11 | Connects to Advangelists exchange for bids.
12 |
13 | Advangelists bid adapter supports Banner and Video ads currently.
14 |
15 | For more informatio
16 |
17 | # Sample Display Ad Unit: For Publishers
18 | ```javascript
19 | var displayAdUnit = [
20 | {
21 | code: 'display',
22 | sizes: [
23 | [300, 250],
24 | [320, 50]
25 | ],
26 | bids: [{
27 | bidder: 'advangelists',
28 | params: {
29 | pubid: '0cf8d6d643e13d86a5b6374148a4afac',
30 | placement: 1234
31 | }
32 | }]
33 | }];
34 | ```
35 |
36 | # Sample Video Ad Unit: For Publishers
37 | ```javascript
38 |
39 | var videoAdUnit = {
40 | code: 'video',
41 | sizes: [320,480],
42 | mediaTypes: {
43 | video: {
44 | playerSize : [[320, 480]],
45 | context: 'instream'
46 | }
47 | },
48 | bids: [
49 | {
50 | bidder: 'advangelists',
51 | params: {
52 | pubid: '8537f00948fc37cc03c5f0f88e198a76',
53 | placement: 1234,
54 | video: {
55 | id: 123,
56 | skip: 1,
57 | mimes : ['video/mp4', 'application/javascript'],
58 | playbackmethod : [2,6],
59 | maxduration: 30
60 | }
61 | }
62 | }
63 | ]
64 | };
65 | ```
--------------------------------------------------------------------------------
/modules/nobidBidAdapter.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: bidder
3 | title: Nobid
4 | description: Prebid Nobid Bidder Adaptor
5 | biddercode: nobid
6 | hide: true
7 | media_types: banner
8 | gdpr_supported: true
9 | ---
10 |
11 | ### Bid Params
12 |
13 | {: .table .table-bordered .table-striped }
14 | | Name | Scope | Description | Example | Type |
15 | |---------------|----------|-------------|---------|----------|
16 | | `siteId` | required | siteId is provided by your Nobid account manager | | `integer` |
17 |
18 | # Test Parameters
19 | ```
20 | var adUnits = [
21 | {
22 | code: 'test-div',
23 | mediaTypes: {
24 | banner: {
25 | sizes: [[300, 250]], // a display size
26 | }
27 | },
28 | bids: [
29 | {
30 | bidder: "nobid",
31 | params: {
32 | siteId: 2
33 | }
34 | }
35 | ]
36 | },{
37 | code: 'test-div',
38 | mediaTypes: {
39 | banner: {
40 | sizes: [[320, 50]], // a mobile size
41 | }
42 | },
43 | bids: [
44 | {
45 | bidder: "nobid",
46 | params: {
47 | siteId: 2
48 | }
49 | }
50 | ]
51 | }
52 | ];
53 | ```
--------------------------------------------------------------------------------
/modules/yieldlabBidAdapter.md:
--------------------------------------------------------------------------------
1 | # Overview
2 |
3 | ```
4 | Module Name: Yieldlab Bidder Adapter
5 | Module Type: Bidder Adapter
6 | Maintainer: solutions@yieldlab.de
7 | ```
8 |
9 | # Description
10 |
11 | Module that connects to Yieldlab's demand sources
12 |
13 | # Test Parameters
14 | ```
15 | var adUnits = [
16 | {
17 | code: "banner",
18 | sizes: [[728, 90]],
19 | bids: [{
20 | bidder: "yieldlab",
21 | params: {
22 | adslotId: "5220336",
23 | supplyId: "1381604",
24 | adSize: "728x90",
25 | targeting: {
26 | key1: "value1",
27 | key2: "value2"
28 | },
29 | extId: "abc"
30 | }
31 | }]
32 | }, {
33 | code: "video",
34 | sizes: [[640, 480]],
35 | mediaTypes: {
36 | video: {
37 | context: "instream" // or "outstream"
38 | }
39 | },
40 | bids: [{
41 | bidder: "yieldlab",
42 | params: {
43 | adslotId: "5220339",
44 | supplyId: "1381604",
45 | adSize: "640x480"
46 | }
47 | }]
48 | }
49 | ];
50 | ```
51 |
--------------------------------------------------------------------------------