prebid.js 7.5.0 → 7.6.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.
Files changed (154) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/adagioBidAdapter.js +1 -1
  3. package/dist/adbookpspBidAdapter.js +1 -1
  4. package/dist/adgenerationBidAdapter.js +1 -1
  5. package/dist/adnuntiusBidAdapter.js +1 -1
  6. package/dist/adotBidAdapter.js +1 -1
  7. package/dist/adrelevantisBidAdapter.js +1 -1
  8. package/dist/adrinoBidAdapter.js +1 -1
  9. package/dist/adtelligentBidAdapter.js +1 -1
  10. package/dist/adxcgBidAdapter.js +1 -1
  11. package/dist/ajaBidAdapter.js +1 -1
  12. package/dist/amxBidAdapter.js +1 -1
  13. package/dist/amxIdSystem.js +1 -1
  14. package/dist/appierAnalyticsAdapter.js +1 -1
  15. package/dist/appnexusBidAdapter.js +1 -1
  16. package/dist/asoBidAdapter.js +1 -1
  17. package/dist/atsAnalyticsAdapter.js +1 -1
  18. package/dist/axonixBidAdapter.js +1 -1
  19. package/dist/bidglassBidAdapter.js +1 -1
  20. package/dist/big-richmediaBidAdapter.js +1 -1
  21. package/dist/bridgewellBidAdapter.js +1 -1
  22. package/dist/brightMountainMediaBidAdapter.js +1 -1
  23. package/dist/byDataAnalyticsAdapter.js +1 -1
  24. package/dist/concertBidAdapter.js +1 -1
  25. package/dist/connectadBidAdapter.js +1 -1
  26. package/dist/consumableBidAdapter.js +1 -1
  27. package/dist/conversantBidAdapter.js +1 -1
  28. package/dist/craftBidAdapter.js +1 -1
  29. package/dist/criteoBidAdapter.js +1 -1
  30. package/dist/dspxBidAdapter.js +1 -1
  31. package/dist/eplanningBidAdapter.js +1 -1
  32. package/dist/finativeBidAdapter.js +1 -1
  33. package/dist/glimpseBidAdapter.js +1 -1
  34. package/dist/gmosspBidAdapter.js +1 -1
  35. package/dist/goldbachBidAdapter.js +1 -1
  36. package/dist/gridBidAdapter.js +1 -1
  37. package/dist/gridNMBidAdapter.js +1 -1
  38. package/dist/gumgumBidAdapter.js +1 -1
  39. package/dist/h12mediaBidAdapter.js +1 -1
  40. package/dist/id5IdSystem.js +1 -1
  41. package/dist/imRtdProvider.js +1 -1
  42. package/dist/improvedigitalBidAdapter.js +1 -1
  43. package/dist/inmarBidAdapter.js +1 -1
  44. package/dist/insticatorBidAdapter.js +1 -1
  45. package/dist/ixBidAdapter.js +1 -1
  46. package/dist/justpremiumBidAdapter.js +1 -1
  47. package/dist/konduitAnalyticsAdapter.js +1 -1
  48. package/dist/kueezBidAdapter.js +1 -1
  49. package/dist/lassoBidAdapter.js +1 -1
  50. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  51. package/dist/logicadBidAdapter.js +1 -1
  52. package/dist/loglyliftBidAdapter.js +1 -1
  53. package/dist/malltvAnalyticsAdapter.js +1 -1
  54. package/dist/marsmediaBidAdapter.js +1 -1
  55. package/dist/mediafuseBidAdapter.js +1 -1
  56. package/dist/mediasquareBidAdapter.js +1 -1
  57. package/dist/mgidBidAdapter.js +1 -1
  58. package/dist/minutemediaBidAdapter.js +1 -1
  59. package/dist/newspassidBidAdapter.js +1 -0
  60. package/dist/nextMillenniumBidAdapter.js +1 -1
  61. package/dist/not-for-prod/prebid.js +115 -113
  62. package/dist/oguryBidAdapter.js +1 -1
  63. package/dist/onetagBidAdapter.js +1 -1
  64. package/dist/ooloAnalyticsAdapter.js +1 -1
  65. package/dist/outbrainBidAdapter.js +1 -1
  66. package/dist/parrableIdSystem.js +1 -1
  67. package/dist/pixfutureBidAdapter.js +1 -1
  68. package/dist/prebid-core.js +1 -1
  69. package/dist/priceFloors.js +1 -1
  70. package/dist/publinkIdSystem.js +1 -1
  71. package/dist/pubmaticBidAdapter.js +1 -1
  72. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  73. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  74. package/dist/pxyzBidAdapter.js +1 -1
  75. package/dist/quantcastBidAdapter.js +1 -1
  76. package/dist/rasBidAdapter.js +1 -0
  77. package/dist/readpeakBidAdapter.js +1 -1
  78. package/dist/relaidoBidAdapter.js +1 -1
  79. package/dist/rhythmoneBidAdapter.js +1 -1
  80. package/dist/riseBidAdapter.js +1 -1
  81. package/dist/rubiconAnalyticsAdapter.js +1 -1
  82. package/dist/rubiconBidAdapter.js +1 -1
  83. package/dist/seedingAllianceBidAdapter.js +1 -1
  84. package/dist/seedtagBidAdapter.js +1 -1
  85. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  86. package/dist/sharethroughBidAdapter.js +1 -1
  87. package/dist/shinezBidAdapter.js +1 -1
  88. package/dist/smaatoBidAdapter.js +1 -1
  89. package/dist/smartadserverBidAdapter.js +1 -1
  90. package/dist/smartxBidAdapter.js +1 -1
  91. package/dist/smilewantedBidAdapter.js +1 -1
  92. package/dist/sonobiBidAdapter.js +1 -1
  93. package/dist/sovrnAnalyticsAdapter.js +1 -1
  94. package/dist/sovrnBidAdapter.js +1 -1
  95. package/dist/sspBCBidAdapter.js +1 -1
  96. package/dist/sublimeBidAdapter.js +1 -1
  97. package/dist/synacormediaBidAdapter.js +1 -1
  98. package/dist/targetVideoBidAdapter.js +1 -1
  99. package/dist/teadsBidAdapter.js +1 -1
  100. package/dist/trionBidAdapter.js +1 -1
  101. package/dist/tripleliftBidAdapter.js +1 -1
  102. package/dist/ttdBidAdapter.js +1 -1
  103. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  104. package/dist/underdogmediaBidAdapter.js +1 -1
  105. package/dist/undertoneBidAdapter.js +1 -1
  106. package/dist/vidazooBidAdapter.js +1 -1
  107. package/dist/videobyteBidAdapter.js +1 -1
  108. package/dist/visxBidAdapter.js +1 -1
  109. package/dist/vuukleBidAdapter.js +1 -1
  110. package/dist/widespaceBidAdapter.js +1 -1
  111. package/dist/winrBidAdapter.js +1 -1
  112. package/dist/yahoosspBidAdapter.js +1 -1
  113. package/dist/yieldmoBidAdapter.js +1 -1
  114. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  115. package/modules/adgenerationBidAdapter.js +24 -1
  116. package/modules/adnuntiusBidAdapter.js +26 -8
  117. package/modules/adotBidAdapter.js +10 -1
  118. package/modules/adrinoBidAdapter.js +10 -2
  119. package/modules/adrinoBidAdapter.md +6 -0
  120. package/modules/adtelligentBidAdapter.js +2 -1
  121. package/modules/atsAnalyticsAdapter.js +4 -5
  122. package/modules/byDataAnalyticsAdapter.js +172 -74
  123. package/modules/byDataAnalyticsAdapter.md +5 -6
  124. package/modules/consumableBidAdapter.js +12 -1
  125. package/modules/eplanningBidAdapter.js +82 -97
  126. package/modules/gridNMBidAdapter.js +45 -4
  127. package/modules/imRtdProvider.js +0 -8
  128. package/modules/ixBidAdapter.js +5 -1
  129. package/modules/minutemediaBidAdapter.js +1 -0
  130. package/modules/newspassidBidAdapter.js +649 -0
  131. package/modules/nextMillenniumBidAdapter.js +17 -1
  132. package/modules/oguryBidAdapter.js +2 -0
  133. package/modules/priceFloors.js +1 -1
  134. package/modules/pubxaiAnalyticsAdapter.js +6 -1
  135. package/modules/rasBidAdapter.js +149 -0
  136. package/modules/rasBidAdapter.md +50 -0
  137. package/modules/seedtagBidAdapter.js +4 -0
  138. package/package.json +1 -1
  139. package/test/spec/modules/adgenerationBidAdapter_spec.js +52 -4
  140. package/test/spec/modules/adnuntiusBidAdapter_spec.js +126 -14
  141. package/test/spec/modules/adotBidAdapter_spec.js +12 -9
  142. package/test/spec/modules/adrinoBidAdapter_spec.js +22 -0
  143. package/test/spec/modules/byDataAnalyticsAdapter_spec.js +74 -24
  144. package/test/spec/modules/consumableBidAdapter_spec.js +75 -0
  145. package/test/spec/modules/eplanningBidAdapter_spec.js +58 -18
  146. package/test/spec/modules/gridNMBidAdapter_spec.js +32 -0
  147. package/test/spec/modules/imRtdProvider_spec.js +0 -1
  148. package/test/spec/modules/ixBidAdapter_spec.js +41 -0
  149. package/test/spec/modules/minutemediaBidAdapter_spec.js +3 -0
  150. package/test/spec/modules/newspassidBidAdapter_spec.js +1793 -0
  151. package/test/spec/modules/nextMillenniumBidAdapter_spec.js +20 -0
  152. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +5 -0
  153. package/test/spec/modules/rasBidAdapter_spec.js +190 -0
  154. package/test/spec/modules/seedtagBidAdapter_spec.js +25 -0
@@ -1,4 +1,13 @@
1
- import { isStr, deepAccess, isArray, isNumber, logError, logWarn, parseGPTSingleSizeArrayToRtbSize } from '../src/utils.js';
1
+ import {
2
+ isStr,
3
+ deepAccess,
4
+ isArray,
5
+ isNumber,
6
+ logError,
7
+ logWarn,
8
+ parseGPTSingleSizeArrayToRtbSize,
9
+ mergeDeep
10
+ } from '../src/utils.js';
2
11
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
12
  import { Renderer } from '../src/Renderer.js';
4
13
  import { VIDEO } from '../src/mediaTypes.js';
@@ -153,9 +162,7 @@ export const spec = {
153
162
  user = {
154
163
  data: [{
155
164
  name: 'iow_labs_pub_data',
156
- segment: jwpseg.map((seg) => {
157
- return {name: 'jwpseg', value: seg};
158
- })
165
+ segment: segmentProcessing(jwpseg, 'jwpseg'),
159
166
  }]
160
167
  };
161
168
  }
@@ -174,9 +181,27 @@ export const spec = {
174
181
  user.ext = userExt;
175
182
  }
176
183
 
184
+ const ortb2UserData = deepAccess(bidderRequest, 'ortb2.user.data');
185
+ if (ortb2UserData && ortb2UserData.length) {
186
+ if (!user) {
187
+ user = { data: [] };
188
+ }
189
+ user = mergeDeep(user, {
190
+ data: [...ortb2UserData]
191
+ });
192
+ }
193
+
177
194
  if (user) {
178
195
  request.user = user;
179
196
  }
197
+ const site = deepAccess(bidderRequest, 'ortb2.site');
198
+ if (site) {
199
+ const data = deepAccess(site, 'content.data');
200
+ if (data && data.length) {
201
+ const siteContent = request.site.content || {};
202
+ request.site.content = mergeDeep(siteContent, { data });
203
+ }
204
+ }
180
205
 
181
206
  if (gdprConsent && gdprConsent.gdprApplies) {
182
207
  request.regs = {
@@ -408,4 +433,20 @@ export function getSyncUrl() {
408
433
  return SYNC_URL;
409
434
  }
410
435
 
436
+ function segmentProcessing(segment, forceSegName) {
437
+ return segment
438
+ .map((seg) => {
439
+ const value = seg && (seg.value || seg.id || seg);
440
+ if (typeof value === 'string' || typeof value === 'number') {
441
+ return {
442
+ value: value.toString(),
443
+ ...(forceSegName && { name: forceSegName }),
444
+ ...(seg.name && { name: seg.name }),
445
+ };
446
+ }
447
+ return null;
448
+ })
449
+ .filter((seg) => !!seg);
450
+ }
451
+
411
452
  registerBidder(spec);
@@ -42,14 +42,6 @@ function setImDataInCookie(value) {
42
42
  */
43
43
  export function getBidderFunction(bidderName) {
44
44
  const biddersFunction = {
45
- ix: function (bid, data) {
46
- if (data.im_segments && data.im_segments.length) {
47
- config.setConfig({
48
- ix: {firstPartyData: {im_segments: data.im_segments}},
49
- });
50
- }
51
- return bid
52
- },
53
45
  pubmatic: function (bid, data) {
54
46
  if (data.im_segments && data.im_segments.length) {
55
47
  const dctr = deepAccess(bid, 'params.dctr');
@@ -1050,6 +1050,7 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
1050
1050
 
1051
1051
  const gpid = impressions[transactionIds[adUnitIndex]].gpid;
1052
1052
  const dfpAdUnitCode = impressions[transactionIds[adUnitIndex]].dfp_ad_unit_code;
1053
+ const tid = impressions[transactionIds[adUnitIndex]].tid
1053
1054
  if (impressionObjects.length && BANNER in impressionObjects[0]) {
1054
1055
  const { id, banner: { topframe } } = impressionObjects[0];
1055
1056
  const _bannerImpression = {
@@ -1060,10 +1061,11 @@ function buildRequest(validBidRequests, bidderRequest, impressions, version) {
1060
1061
  },
1061
1062
  }
1062
1063
 
1063
- if (dfpAdUnitCode || gpid) {
1064
+ if (dfpAdUnitCode || gpid || tid) {
1064
1065
  _bannerImpression.ext = {};
1065
1066
  _bannerImpression.ext.dfp_ad_unit_code = dfpAdUnitCode;
1066
1067
  _bannerImpression.ext.gpid = gpid;
1068
+ _bannerImpression.ext.tid = tid;
1067
1069
  }
1068
1070
 
1069
1071
  if ('bidfloor' in impressionObjects[0]) {
@@ -1272,6 +1274,7 @@ function createVideoImps(validBidRequest, videoImps) {
1272
1274
  videoImps[validBidRequest.transactionId].ixImps = [];
1273
1275
  videoImps[validBidRequest.transactionId].ixImps.push(imp);
1274
1276
  videoImps[validBidRequest.transactionId].gpid = deepAccess(validBidRequest, 'ortb2Imp.ext.gpid');
1277
+ videoImps[validBidRequest.transactionId].tid = deepAccess(validBidRequest, 'ortb2Imp.ext.tid');
1275
1278
  }
1276
1279
  }
1277
1280
 
@@ -1298,6 +1301,7 @@ function createBannerImps(validBidRequest, missingBannerSizes, bannerImps) {
1298
1301
 
1299
1302
  bannerImps[validBidRequest.transactionId].gpid = deepAccess(validBidRequest, 'ortb2Imp.ext.gpid');
1300
1303
  bannerImps[validBidRequest.transactionId].dfp_ad_unit_code = deepAccess(validBidRequest, 'ortb2Imp.ext.data.adserver.adslot');
1304
+ bannerImps[validBidRequest.transactionId].tid = deepAccess(validBidRequest, 'ortb2Imp.ext.tid');
1301
1305
 
1302
1306
  // Create IX imps from params.size
1303
1307
  if (bannerSizeDefined) {
@@ -286,6 +286,7 @@ function generateBidParameters(bid, bidderRequest) {
286
286
  sizes: sizesArray,
287
287
  floorPrice: Math.max(getFloor(bid, mediaType), params.floorPrice),
288
288
  bidId: getBidIdParameter('bidId', bid),
289
+ loop: getBidIdParameter('bidderRequestsCount', bid),
289
290
  bidderRequestId: getBidIdParameter('bidderRequestId', bid),
290
291
  transactionId: getBidIdParameter('transactionId', bid),
291
292
  };