prebid.js 5.18.0 → 5.20.2
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/browsers.json +1 -0
- package/integrationExamples/gpt/akamaidap_segments_example.html +132 -0
- package/modules/.submodules.json +1 -0
- package/modules/adfBidAdapter.js +21 -16
- package/modules/adtelligentBidAdapter.js +2 -1
- package/modules/adxcgBidAdapter.js +311 -359
- package/modules/airgridRtdProvider.js +1 -1
- package/modules/akamaiDapRtdProvider.js +474 -0
- package/modules/akamaiDapRtdProvider.md +47 -0
- package/modules/appnexusBidAdapter.js +9 -3
- package/modules/atsAnalyticsAdapter.js +67 -46
- package/modules/atsAnalyticsAdapter.md +1 -0
- package/modules/betweenBidAdapter.js +20 -3
- 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/deepintentBidAdapter.js +106 -9
- package/modules/deepintentBidAdapter.md +36 -1
- package/modules/deltaprojectsBidAdapter.js +252 -0
- package/modules/deltaprojectsBidAdapter.md +32 -0
- 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/ipromBidAdapter.js +79 -0
- package/modules/ixBidAdapter.js +8 -1
- package/modules/jixieBidAdapter.js +8 -2
- package/modules/justpremiumBidAdapter.js +6 -1
- package/modules/kinessoIdSystem.js +1 -1
- package/modules/limelightDigitalBidAdapter.js +22 -2
- package/modules/livewrappedAnalyticsAdapter.js +49 -1
- package/modules/multibid/index.js +3 -3
- package/modules/nativoBidAdapter.js +5 -1
- package/modules/nextMillenniumBidAdapter.js +12 -3
- package/modules/oguryBidAdapter.js +14 -1
- 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/playwireBidAdapter.md +61 -0
- package/modules/publinkIdSystem.js +11 -6
- package/modules/rtdModule/index.js +2 -2
- package/modules/sonobiBidAdapter.js +7 -0
- package/modules/sortableBidAdapter.js +1 -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/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/yahoosspBidAdapter.js +6 -6
- 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/adtelligentBidAdapter_spec.js +1 -0
- package/test/spec/modules/adxcgBidAdapter_spec.js +827 -571
- package/test/spec/modules/akamaiDapRtdProvider_spec.js +246 -0
- package/test/spec/modules/appnexusBidAdapter_spec.js +16 -1
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +42 -9
- package/test/spec/modules/betweenBidAdapter_spec.js +41 -0
- 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/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/eplanningBidAdapter_spec.js +8 -8
- package/test/spec/modules/gumgumBidAdapter_spec.js +5 -1
- package/test/spec/modules/ipromBidAdapter_spec.js +195 -0
- 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 +52 -7
- 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 +53 -12
- 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/sonobiBidAdapter_spec.js +34 -1
- package/test/spec/modules/sortableBidAdapter_spec.js +11 -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/ventesBidAdapter_spec.js +845 -0
- package/test/spec/modules/videobyteBidAdapter_spec.js +2 -2
- package/test/spec/modules/yieldmoSyntheticInventoryModule_spec.js +89 -0
- package/test/spec/unit/core/adapterManager_spec.js +37 -2
- 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
|
@@ -29,11 +29,34 @@ describe('Adf adapter', function () {
|
|
|
29
29
|
|
|
30
30
|
it('should return true when required params found', function () {
|
|
31
31
|
assert(spec.isBidRequestValid(bid));
|
|
32
|
+
|
|
33
|
+
bid.params = {
|
|
34
|
+
inv: 1234,
|
|
35
|
+
mname: 'some-placement'
|
|
36
|
+
};
|
|
37
|
+
assert(spec.isBidRequestValid(bid));
|
|
38
|
+
|
|
39
|
+
bid.params = {
|
|
40
|
+
mid: 4332,
|
|
41
|
+
inv: 1234,
|
|
42
|
+
mname: 'some-placement'
|
|
43
|
+
};
|
|
44
|
+
assert(spec.isBidRequestValid(bid));
|
|
32
45
|
});
|
|
33
46
|
|
|
34
47
|
it('should return false when required params are missing', function () {
|
|
35
48
|
bid.params = { adxDomain: 'adx.adform.net' };
|
|
36
49
|
assert.isFalse(spec.isBidRequestValid(bid));
|
|
50
|
+
|
|
51
|
+
bid.params = {
|
|
52
|
+
mname: 'some-placement'
|
|
53
|
+
};
|
|
54
|
+
assert.isFalse(spec.isBidRequestValid(bid));
|
|
55
|
+
|
|
56
|
+
bid.params = {
|
|
57
|
+
inv: 1234
|
|
58
|
+
};
|
|
59
|
+
assert.isFalse(spec.isBidRequestValid(bid));
|
|
37
60
|
});
|
|
38
61
|
});
|
|
39
62
|
|
|
@@ -331,6 +354,30 @@ describe('Adf adapter', function () {
|
|
|
331
354
|
}
|
|
332
355
|
});
|
|
333
356
|
|
|
357
|
+
describe('dynamic placement tag', function () {
|
|
358
|
+
it('should add imp parameters correctly', function () {
|
|
359
|
+
const validBidRequests = [
|
|
360
|
+
{ bidId: 'bidId', params: { inv: 1000, mname: 'placement' }, mediaTypes: {video: {}} },
|
|
361
|
+
{ bidId: 'bidId', params: { mid: 1234, inv: 1002, mname: 'placement2' }, mediaTypes: {video: {}} },
|
|
362
|
+
{ bidId: 'bidId', params: { mid: 1234 }, mediaTypes: {video: {}} }
|
|
363
|
+
];
|
|
364
|
+
const [ imp1, imp2, imp3 ] = getRequestImps(validBidRequests);
|
|
365
|
+
|
|
366
|
+
assert.equal(imp1.ext.bidder.inv, 1000);
|
|
367
|
+
assert.equal(imp1.ext.bidder.mname, 'placement');
|
|
368
|
+
assert.equal('tagid' in imp1, false);
|
|
369
|
+
|
|
370
|
+
assert.equal(imp2.ext.bidder.inv, 1002);
|
|
371
|
+
assert.equal(imp2.ext.bidder.mname, 'placement2');
|
|
372
|
+
assert.equal(imp2.tagid, 1234);
|
|
373
|
+
|
|
374
|
+
assert.ok(imp3.ext.bidder);
|
|
375
|
+
assert.equal('inv' in imp3.ext.bidder, false);
|
|
376
|
+
assert.equal('mname' in imp3.ext.bidder, false);
|
|
377
|
+
assert.equal(imp3.tagid, 1234);
|
|
378
|
+
});
|
|
379
|
+
});
|
|
380
|
+
|
|
334
381
|
describe('price floors', function () {
|
|
335
382
|
it('should not add if floors module not configured', function () {
|
|
336
383
|
const validBidRequests = [{ bidId: 'bidId', params: {mid: 1000}, mediaTypes: {video: {}} }];
|
|
@@ -376,18 +423,14 @@ describe('Adf adapter', function () {
|
|
|
376
423
|
return {
|
|
377
424
|
currency: currency,
|
|
378
425
|
floor
|
|
379
|
-
}
|
|
426
|
+
};
|
|
380
427
|
}
|
|
381
428
|
};
|
|
382
429
|
}
|
|
383
|
-
|
|
384
|
-
function getRequestImps(validBidRequests) {
|
|
385
|
-
return JSON.parse(spec.buildRequests(validBidRequests, { refererInfo: { referer: 'page' } }).data).imp;
|
|
386
|
-
}
|
|
387
430
|
});
|
|
388
431
|
|
|
389
432
|
describe('multiple media types', function () {
|
|
390
|
-
it('should use
|
|
433
|
+
it('should use all configured media types for bidding', function () {
|
|
391
434
|
let validBidRequests = [{
|
|
392
435
|
bidId: 'bidId',
|
|
393
436
|
params: { mid: 1000 },
|
|
@@ -414,20 +457,23 @@ describe('Adf adapter', function () {
|
|
|
414
457
|
banner: {
|
|
415
458
|
sizes: [[100, 100], [200, 300]]
|
|
416
459
|
},
|
|
417
|
-
native: {}
|
|
460
|
+
native: {},
|
|
461
|
+
video: {}
|
|
418
462
|
}
|
|
419
463
|
}];
|
|
420
|
-
let [
|
|
421
|
-
|
|
422
|
-
assert.ok(
|
|
423
|
-
assert.
|
|
424
|
-
assert.equal(
|
|
425
|
-
|
|
426
|
-
assert.
|
|
427
|
-
assert.equal(
|
|
428
|
-
assert.
|
|
429
|
-
|
|
430
|
-
assert.
|
|
464
|
+
let [ first, second, third ] = JSON.parse(spec.buildRequests(validBidRequests, { refererInfo: { referer: 'page' } }).data).imp;
|
|
465
|
+
|
|
466
|
+
assert.ok(first.banner);
|
|
467
|
+
assert.ok(first.video);
|
|
468
|
+
assert.equal(first.native, undefined);
|
|
469
|
+
|
|
470
|
+
assert.ok(second.video);
|
|
471
|
+
assert.equal(second.banner, undefined);
|
|
472
|
+
assert.equal(second.native, undefined);
|
|
473
|
+
|
|
474
|
+
assert.ok(third.native);
|
|
475
|
+
assert.ok(third.video);
|
|
476
|
+
assert.ok(third.banner);
|
|
431
477
|
});
|
|
432
478
|
});
|
|
433
479
|
|
|
@@ -626,6 +672,10 @@ describe('Adf adapter', function () {
|
|
|
626
672
|
});
|
|
627
673
|
});
|
|
628
674
|
});
|
|
675
|
+
|
|
676
|
+
function getRequestImps(validBidRequests) {
|
|
677
|
+
return JSON.parse(spec.buildRequests(validBidRequests, { refererInfo: { referer: 'page' } }).data).imp;
|
|
678
|
+
}
|
|
629
679
|
});
|
|
630
680
|
|
|
631
681
|
describe('interpretResponse', function () {
|
|
@@ -754,7 +804,12 @@ describe('Adf adapter', function () {
|
|
|
754
804
|
imptrackers: ['imptrackers url1', 'imptrackers url2']
|
|
755
805
|
},
|
|
756
806
|
dealid: 'deal-id',
|
|
757
|
-
adomain: [ 'demo.com' ]
|
|
807
|
+
adomain: [ 'demo.com' ],
|
|
808
|
+
ext: {
|
|
809
|
+
prebid: {
|
|
810
|
+
type: 'native'
|
|
811
|
+
}
|
|
812
|
+
}
|
|
758
813
|
}
|
|
759
814
|
]
|
|
760
815
|
}],
|
|
@@ -767,7 +822,6 @@ describe('Adf adapter', function () {
|
|
|
767
822
|
{
|
|
768
823
|
bidId: 'bidId1',
|
|
769
824
|
params: { mid: 1000 },
|
|
770
|
-
mediaType: 'native',
|
|
771
825
|
nativeParams: {
|
|
772
826
|
title: { required: true, len: 140 },
|
|
773
827
|
image: { required: false, wmin: 836, hmin: 627, w: 325, h: 300, mimes: ['image/jpg', 'image/gif'] },
|
|
@@ -899,7 +953,7 @@ describe('Adf adapter', function () {
|
|
|
899
953
|
let serverResponse = {
|
|
900
954
|
body: {
|
|
901
955
|
seatbid: [{
|
|
902
|
-
bid: [{ impid: '1', adm: '<banner>' }]
|
|
956
|
+
bid: [{ impid: '1', adm: '<banner>', ext: { prebid: { type: 'banner' } } }]
|
|
903
957
|
}]
|
|
904
958
|
}
|
|
905
959
|
};
|
|
@@ -908,8 +962,7 @@ describe('Adf adapter', function () {
|
|
|
908
962
|
bids: [
|
|
909
963
|
{
|
|
910
964
|
bidId: 'bidId1',
|
|
911
|
-
params: { mid: 1000 }
|
|
912
|
-
mediaType: 'banner'
|
|
965
|
+
params: { mid: 1000 }
|
|
913
966
|
}
|
|
914
967
|
]
|
|
915
968
|
};
|
|
@@ -917,6 +970,8 @@ describe('Adf adapter', function () {
|
|
|
917
970
|
bids = spec.interpretResponse(serverResponse, bidRequest);
|
|
918
971
|
assert.equal(bids.length, 1);
|
|
919
972
|
assert.equal(bids[0].ad, '<banner>');
|
|
973
|
+
assert.equal(bids[0].mediaType, 'banner');
|
|
974
|
+
assert.equal(bids[0].meta.mediaType, 'banner');
|
|
920
975
|
});
|
|
921
976
|
});
|
|
922
977
|
|
|
@@ -925,7 +980,7 @@ describe('Adf adapter', function () {
|
|
|
925
980
|
let serverResponse = {
|
|
926
981
|
body: {
|
|
927
982
|
seatbid: [{
|
|
928
|
-
bid: [{ impid: '1', adm: '<vast>' }]
|
|
983
|
+
bid: [{ impid: '1', adm: '<vast>', ext: { prebid: { type: 'video' } } }]
|
|
929
984
|
}]
|
|
930
985
|
}
|
|
931
986
|
};
|
|
@@ -934,8 +989,7 @@ describe('Adf adapter', function () {
|
|
|
934
989
|
bids: [
|
|
935
990
|
{
|
|
936
991
|
bidId: 'bidId1',
|
|
937
|
-
params: { mid: 1000 }
|
|
938
|
-
mediaType: 'video'
|
|
992
|
+
params: { mid: 1000 }
|
|
939
993
|
}
|
|
940
994
|
]
|
|
941
995
|
};
|
|
@@ -943,13 +997,15 @@ describe('Adf adapter', function () {
|
|
|
943
997
|
bids = spec.interpretResponse(serverResponse, bidRequest);
|
|
944
998
|
assert.equal(bids.length, 1);
|
|
945
999
|
assert.equal(bids[0].vastXml, '<vast>');
|
|
1000
|
+
assert.equal(bids[0].mediaType, 'video');
|
|
1001
|
+
assert.equal(bids[0].meta.mediaType, 'video');
|
|
946
1002
|
});
|
|
947
1003
|
|
|
948
1004
|
it('should add renderer for outstream bids', function () {
|
|
949
1005
|
let serverResponse = {
|
|
950
1006
|
body: {
|
|
951
1007
|
seatbid: [{
|
|
952
|
-
bid: [{ impid: '1', adm: '<vast>' }, { impid: '2', adm: '<vast>' }]
|
|
1008
|
+
bid: [{ impid: '1', adm: '<vast>', ext: { prebid: { type: 'video' } } }, { impid: '2', adm: '<vast>', ext: { prebid: { type: 'video' } } }]
|
|
953
1009
|
}]
|
|
954
1010
|
}
|
|
955
1011
|
};
|
|
@@ -959,7 +1015,6 @@ describe('Adf adapter', function () {
|
|
|
959
1015
|
{
|
|
960
1016
|
bidId: 'bidId1',
|
|
961
1017
|
params: { mid: 1000 },
|
|
962
|
-
mediaType: 'video',
|
|
963
1018
|
mediaTypes: {
|
|
964
1019
|
video: {
|
|
965
1020
|
context: 'outstream'
|
|
@@ -969,7 +1024,6 @@ describe('Adf adapter', function () {
|
|
|
969
1024
|
{
|
|
970
1025
|
bidId: 'bidId2',
|
|
971
1026
|
params: { mid: 1000 },
|
|
972
|
-
mediaType: 'video',
|
|
973
1027
|
mediaTypes: {
|
|
974
1028
|
video: {
|
|
975
1029
|
constext: 'instream'
|
|
@@ -17,6 +17,7 @@ const aliasEP = {
|
|
|
17
17
|
mediafuse: 'https://ghb.hbmp.mediafuse.com/v2/auction/',
|
|
18
18
|
navelix: 'https://ghb.hb.navelix.com/v2/auction/',
|
|
19
19
|
bidsxchange: 'https://ghb.hbd.bidsxchange.com/v2/auction/',
|
|
20
|
+
streamkey: 'https://ghb.hb.streamkey.net/v2/auction/',
|
|
20
21
|
};
|
|
21
22
|
|
|
22
23
|
const DEFAULT_ADATPER_REQ = { bidderCode: 'adtelligent' };
|