prebid.js 5.17.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc.js +3 -6
- package/README.md +3 -1
- package/browsers.json +1 -8
- package/integrationExamples/gpt/akamaidap_segments_example.html +132 -0
- package/modules/.submodules.json +1 -0
- package/modules/adfBidAdapter.js +21 -16
- package/modules/adgenerationBidAdapter.js +28 -4
- package/modules/adkernelBidAdapter.js +2 -1
- package/modules/admixerBidAdapter.js +11 -0
- package/modules/adtelligentBidAdapter.js +2 -1
- package/modules/airgridRtdProvider.js +1 -1
- package/modules/akamaiDapRtdProvider.js +474 -0
- package/modules/akamaiDapRtdProvider.md +47 -0
- package/modules/aolBidAdapter.js +2 -1
- package/modules/appnexusBidAdapter.js +5 -3
- package/modules/atsAnalyticsAdapter.js +67 -46
- package/modules/atsAnalyticsAdapter.md +1 -0
- package/modules/betweenBidAdapter.js +20 -3
- package/modules/bliinkBidAdapter.js +58 -32
- package/modules/bliinkBidAdapter.md +29 -6
- package/modules/browsiRtdProvider.js +106 -18
- package/modules/cleanioRtdProvider.js +192 -0
- package/modules/cleanioRtdProvider.md +59 -0
- package/modules/codefuelBidAdapter.js +183 -0
- package/modules/codefuelBidAdapter.md +111 -0
- package/modules/connectIdSystem.js +104 -0
- package/modules/connectIdSystem.md +33 -0
- package/modules/cwireBidAdapter.js +272 -0
- package/modules/cwireBidAdapter.md +43 -0
- package/modules/deepintentBidAdapter.js +106 -9
- package/modules/deepintentBidAdapter.md +36 -1
- package/modules/deltaprojectsBidAdapter.js +252 -0
- package/modules/deltaprojectsBidAdapter.md +32 -0
- package/modules/dgkeywordRtdProvider.js +0 -1
- package/modules/engageyaBidAdapter.js +157 -0
- package/modules/gridBidAdapter.js +1 -0
- package/modules/gumgumBidAdapter.js +8 -0
- package/modules/inskinBidAdapter.js +7 -3
- package/modules/ixBidAdapter.js +8 -1
- package/modules/jixieBidAdapter.js +8 -2
- package/modules/justpremiumBidAdapter.js +6 -1
- package/modules/limelightDigitalBidAdapter.js +22 -2
- package/modules/livewrappedAnalyticsAdapter.js +53 -3
- package/modules/mediakeysBidAdapter.js +2 -1
- package/modules/multibid/index.js +3 -3
- package/modules/nativoBidAdapter.js +6 -2
- package/modules/nextMillenniumBidAdapter.js +12 -3
- package/modules/oguryBidAdapter.js +36 -7
- package/modules/openxBidAdapter.js +34 -22
- package/modules/operaadsBidAdapter.js +21 -1
- package/modules/otmBidAdapter.js +146 -0
- package/modules/otmBidAdapter.md +27 -26
- package/modules/outbrainBidAdapter.js +5 -0
- package/modules/pixfutureBidAdapter.js +24 -4
- package/modules/pixfutureBidAdapter.md +127 -0
- package/modules/playwireBidAdapter.md +61 -0
- package/modules/prebidServerBidAdapter/index.js +1 -1
- package/modules/proxistoreBidAdapter.js +4 -6
- package/modules/publinkIdSystem.js +11 -6
- package/modules/pubmaticBidAdapter.js +9 -0
- package/modules/pubmaticBidAdapter.md +1 -1
- package/modules/rtdModule/index.js +2 -2
- package/modules/sonobiBidAdapter.js +7 -0
- package/modules/sortableBidAdapter.js +1 -0
- package/modules/talkadsBidAdapter.js +129 -0
- package/modules/talkadsBidAdapter.md +60 -0
- package/modules/teadsBidAdapter.js +3 -0
- package/modules/tripleliftBidAdapter.js +22 -5
- package/modules/trustxBidAdapter.js +8 -6
- package/modules/undertoneBidAdapter.js +9 -5
- package/modules/undertoneBidAdapter.md +5 -1
- package/modules/unicornBidAdapter.js +3 -3
- package/modules/userId/eids.js +18 -0
- package/modules/userId/eids.md +7 -0
- package/modules/userId/userId.md +12 -0
- package/modules/ventesBidAdapter.js +370 -0
- package/modules/ventesBidAdapter.md +94 -0
- package/modules/videobyteBidAdapter.js +13 -6
- package/modules/videobyteBidAdapter.md +49 -0
- package/modules/visxBidAdapter.js +15 -22
- package/modules/yahoosspBidAdapter.js +637 -0
- package/modules/yahoosspBidAdapter.md +795 -0
- package/modules/yieldlabBidAdapter.js +48 -3
- package/modules/yieldlabBidAdapter.md +16 -1
- package/modules/yieldmoSyntheticInventoryModule.js +46 -0
- package/modules/yieldmoSyntheticInventoryModule.md +68 -0
- package/package.json +1 -1
- package/src/adapterManager.js +5 -0
- package/src/adapters/bidderFactory.js +4 -3
- package/src/auction.js +11 -11
- package/src/constants.json +1 -0
- package/src/secureCreatives.js +6 -7
- package/src/targeting.js +11 -9
- package/test/spec/modules/adfBidAdapter_spec.js +83 -29
- package/test/spec/modules/adgenerationBidAdapter_spec.js +121 -50
- package/test/spec/modules/adtelligentBidAdapter_spec.js +1 -0
- package/test/spec/modules/akamaiDapRtdProvider_spec.js +246 -0
- package/test/spec/modules/appnexusBidAdapter_spec.js +2 -1
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +42 -9
- package/test/spec/modules/betweenBidAdapter_spec.js +41 -0
- package/test/spec/modules/bliinkBidAdapter_spec.js +87 -36
- package/test/spec/modules/browsiRtdProvider_spec.js +62 -7
- package/test/spec/modules/cleanioRtdProvider_spec.js +188 -0
- package/test/spec/modules/codefuelBidAdapter_spec.js +316 -0
- package/test/spec/modules/connectIdSystem_spec.js +189 -0
- package/test/spec/modules/cwireBidAdapter_spec.js +246 -0
- package/test/spec/modules/deepintentBidAdapter_spec.js +153 -3
- package/test/spec/modules/deltaprojectsBidAdapter_spec.js +399 -0
- package/test/spec/modules/engageyaBidAdapter_spec.js +286 -0
- package/test/spec/modules/gumgumBidAdapter_spec.js +5 -1
- package/test/spec/modules/ixBidAdapter_spec.js +13 -3
- package/test/spec/modules/jixieBidAdapter_spec.js +13 -11
- package/test/spec/modules/justpremiumBidAdapter_spec.js +9 -2
- package/test/spec/modules/limelightDigitalBidAdapter_spec.js +155 -1
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +67 -12
- package/test/spec/modules/multibid_spec.js +31 -31
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +13 -1
- package/test/spec/modules/oguryBidAdapter_spec.js +125 -37
- package/test/spec/modules/openxBidAdapter_spec.js +85 -13
- package/test/spec/modules/operaadsBidAdapter_spec.js +38 -6
- package/test/spec/modules/otmBidAdapter_spec.js +67 -0
- package/test/spec/modules/outbrainBidAdapter_spec.js +18 -0
- package/test/spec/modules/publinkIdSystem_spec.js +6 -6
- package/test/spec/modules/pubmaticBidAdapter_spec.js +39 -1
- package/test/spec/modules/sonobiBidAdapter_spec.js +34 -1
- package/test/spec/modules/sortableBidAdapter_spec.js +11 -0
- package/test/spec/modules/talkadsBidAdapter_spec.js +231 -0
- package/test/spec/modules/teadsBidAdapter_spec.js +132 -0
- package/test/spec/modules/tripleliftBidAdapter_spec.js +128 -0
- package/test/spec/modules/trustxBidAdapter_spec.js +3 -3
- package/test/spec/modules/undertoneBidAdapter_spec.js +52 -0
- package/test/spec/modules/unicornBidAdapter_spec.js +4 -4
- package/test/spec/modules/ventesBidAdapter_spec.js +845 -0
- package/test/spec/modules/videobyteBidAdapter_spec.js +2 -2
- package/test/spec/modules/visxBidAdapter_spec.js +48 -4
- package/test/spec/modules/yahoosspBidAdapter_spec.js +1332 -0
- package/test/spec/modules/yieldlabBidAdapter_spec.js +65 -1
- package/test/spec/modules/yieldmoSyntheticInventoryModule_spec.js +89 -0
- package/test/spec/unit/core/adapterManager_spec.js +32 -0
- package/test/spec/unit/core/bidderFactory_spec.js +61 -1
- package/test/spec/unit/pbjs_api_spec.js +37 -2
- package/test/spec/unit/secureCreatives_spec.js +54 -25
- package/wdio.conf.js +1 -1
- package/modules/turktelekomBidAdapter.md +0 -49
- package/yarn.lock +0 -13122
|
@@ -27,7 +27,7 @@ export const spec = {
|
|
|
27
27
|
code: BIDDER_CODE,
|
|
28
28
|
supportedMediaTypes: [VIDEO],
|
|
29
29
|
VERSION: '1.0.0',
|
|
30
|
-
ENDPOINT: 'https://x.videobyte.com/
|
|
30
|
+
ENDPOINT: 'https://x.videobyte.com/ortbhb',
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Determines whether or not the given bid request is valid.
|
|
@@ -53,13 +53,22 @@ export const spec = {
|
|
|
53
53
|
return bidRequests.map(bidRequest => {
|
|
54
54
|
const {params} = bidRequest;
|
|
55
55
|
let pubId = params.pubId;
|
|
56
|
+
const placementId = params.placementId;
|
|
57
|
+
const nId = params.nid;
|
|
56
58
|
if (bidRequest.params.video && bidRequest.params.video.e2etest) {
|
|
57
59
|
logMessage('E2E test mode enabled');
|
|
58
60
|
pubId = 'e2etest'
|
|
59
61
|
}
|
|
62
|
+
let baseEndpoint = spec.ENDPOINT + '?pid=' + pubId;
|
|
63
|
+
if (placementId) {
|
|
64
|
+
baseEndpoint += '&placementId=' + placementId
|
|
65
|
+
}
|
|
66
|
+
if (nId) {
|
|
67
|
+
baseEndpoint += '&nid=' + nId
|
|
68
|
+
}
|
|
60
69
|
return {
|
|
61
70
|
method: 'POST',
|
|
62
|
-
url:
|
|
71
|
+
url: baseEndpoint,
|
|
63
72
|
data: JSON.stringify(buildRequestData(bidRequest, bidderRequest)),
|
|
64
73
|
}
|
|
65
74
|
});
|
|
@@ -97,8 +106,6 @@ export const spec = {
|
|
|
97
106
|
};
|
|
98
107
|
bidResponses.push(bidResponse)
|
|
99
108
|
}
|
|
100
|
-
} else {
|
|
101
|
-
logError('invalid server response received');
|
|
102
109
|
}
|
|
103
110
|
return bidResponses;
|
|
104
111
|
},
|
|
@@ -228,7 +235,7 @@ function buildRequestData(bidRequest, bidderRequest) {
|
|
|
228
235
|
// content
|
|
229
236
|
if (videoParams.content && isPlainObject(videoParams.content)) {
|
|
230
237
|
openrtbRequest.site.content = {};
|
|
231
|
-
const contentStringKeys = ['id', 'title', 'series', 'season', 'genre', 'contentrating', 'language'];
|
|
238
|
+
const contentStringKeys = ['id', 'title', 'series', 'season', 'genre', 'contentrating', 'language', 'url'];
|
|
232
239
|
const contentNumberkeys = ['episode', 'prodq', 'context', 'livestream', 'len'];
|
|
233
240
|
const contentArrayKeys = ['cat'];
|
|
234
241
|
const contentObjectKeys = ['ext'];
|
|
@@ -271,7 +278,7 @@ function validateVideo(bidRequest) {
|
|
|
271
278
|
}
|
|
272
279
|
|
|
273
280
|
if (!bidRequest.params.pubId) {
|
|
274
|
-
logError('failed validation:
|
|
281
|
+
logError('failed validation: pubId not declared');
|
|
275
282
|
return false;
|
|
276
283
|
}
|
|
277
284
|
|
|
@@ -49,6 +49,55 @@ Module that connects to VideoByte's demand sources
|
|
|
49
49
|
]
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
+
## Instream Video adUnit with placement, nid and content params
|
|
53
|
+
```
|
|
54
|
+
var adUnits = [
|
|
55
|
+
{
|
|
56
|
+
code: 'video1',
|
|
57
|
+
mediaTypes: {
|
|
58
|
+
video: {
|
|
59
|
+
context: 'instream',
|
|
60
|
+
playerSize: [640, 480],
|
|
61
|
+
mimes: ['video/mp4', 'application/javascript'],
|
|
62
|
+
protocols: [2,5],
|
|
63
|
+
api: [2],
|
|
64
|
+
position: 1,
|
|
65
|
+
delivery: [2],
|
|
66
|
+
minduration: 10,
|
|
67
|
+
maxduration: 30,
|
|
68
|
+
placement: 1,
|
|
69
|
+
playbackmethod: [1,5],
|
|
70
|
+
protocols: [2,5],
|
|
71
|
+
api: [2],
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
bids: [
|
|
75
|
+
{
|
|
76
|
+
bidder: 'videobyte',
|
|
77
|
+
params: {
|
|
78
|
+
bidfloor: 0.5,
|
|
79
|
+
pubId: 'e2etest',
|
|
80
|
+
placementId: '1234567',
|
|
81
|
+
nid: '1234',
|
|
82
|
+
video: {
|
|
83
|
+
content:{
|
|
84
|
+
id: "uuid",
|
|
85
|
+
url: "https://videobyte.com/awesome-video.mp4",
|
|
86
|
+
title: "Awesome video",
|
|
87
|
+
genre: "Comedy",
|
|
88
|
+
language: "en",
|
|
89
|
+
season: "1",
|
|
90
|
+
series: "1",
|
|
91
|
+
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
```
|
|
100
|
+
|
|
52
101
|
# End To End testing mode
|
|
53
102
|
By passing bid.params.video.e2etest = true you will be able to receive a test creative
|
|
54
103
|
|
|
@@ -168,16 +168,21 @@ export const spec = {
|
|
|
168
168
|
return bidResponses;
|
|
169
169
|
},
|
|
170
170
|
getUserSyncs: function(syncOptions, serverResponses, gdprConsent) {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
if (gdprConsent) {
|
|
174
|
-
|
|
175
|
-
query.push('gdpr_consent=' + encodeURIComponent(gdprConsent.consentString));
|
|
176
|
-
}
|
|
177
|
-
query.push('gdpr_applies=' + encodeURIComponent(
|
|
178
|
-
(typeof gdprConsent.gdprApplies === 'boolean')
|
|
179
|
-
? Number(gdprConsent.gdprApplies) : 1));
|
|
171
|
+
var query = [];
|
|
172
|
+
if (gdprConsent) {
|
|
173
|
+
if (gdprConsent.consentString) {
|
|
174
|
+
query.push('gdpr_consent=' + encodeURIComponent(gdprConsent.consentString));
|
|
180
175
|
}
|
|
176
|
+
query.push('gdpr_applies=' + encodeURIComponent(
|
|
177
|
+
(typeof gdprConsent.gdprApplies === 'boolean')
|
|
178
|
+
? Number(gdprConsent.gdprApplies) : 1));
|
|
179
|
+
}
|
|
180
|
+
if (syncOptions.iframeEnabled) {
|
|
181
|
+
return [{
|
|
182
|
+
type: 'iframe',
|
|
183
|
+
url: buildUrl(ADAPTER_SYNC_PATH) + '?iframe=1' + (query.length ? '&' + query.join('&') : '')
|
|
184
|
+
}];
|
|
185
|
+
} else if (syncOptions.pixelEnabled) {
|
|
181
186
|
return [{
|
|
182
187
|
type: 'image',
|
|
183
188
|
url: buildUrl(ADAPTER_SYNC_PATH) + (query.length ? '?' + query.join('&') : '')
|
|
@@ -230,7 +235,7 @@ function makeVideo(videoParams = {}) {
|
|
|
230
235
|
return result;
|
|
231
236
|
}, { w: deepAccess(videoParams, 'playerSize.0.0'), h: deepAccess(videoParams, 'playerSize.0.1') });
|
|
232
237
|
|
|
233
|
-
if (video.w && video.h
|
|
238
|
+
if (video.w && video.h) {
|
|
234
239
|
return video;
|
|
235
240
|
}
|
|
236
241
|
}
|
|
@@ -347,18 +352,6 @@ function _isValidVideoBid(bid, logErrors = false) {
|
|
|
347
352
|
}
|
|
348
353
|
result = false;
|
|
349
354
|
}
|
|
350
|
-
if (!videoMediaType.mimes) {
|
|
351
|
-
if (logErrors) {
|
|
352
|
-
logError(LOG_ERROR_MESS.videoMissing + 'mimes');
|
|
353
|
-
}
|
|
354
|
-
result = false;
|
|
355
|
-
}
|
|
356
|
-
if (!videoMediaType.protocols) {
|
|
357
|
-
if (logErrors) {
|
|
358
|
-
logError(LOG_ERROR_MESS.videoMissing + 'protocols');
|
|
359
|
-
}
|
|
360
|
-
result = false;
|
|
361
|
-
}
|
|
362
355
|
return result;
|
|
363
356
|
}
|
|
364
357
|
|