prebid.js 7.30.0 → 7.32.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 (197) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adagioBidAdapter.js +1 -1
  4. package/dist/adbookpspBidAdapter.js +1 -1
  5. package/dist/adgenerationBidAdapter.js +1 -1
  6. package/dist/adkernelBidAdapter.js +1 -1
  7. package/dist/adlooxRtdProvider.js +1 -1
  8. package/dist/adrelevantisBidAdapter.js +1 -1
  9. package/dist/adtrgtmeBidAdapter.js +1 -1
  10. package/dist/adxcgBidAdapter.js +1 -1
  11. package/dist/aidemBidAdapter.js +1 -1
  12. package/dist/ajaBidAdapter.js +1 -1
  13. package/dist/alkimiBidAdapter.js +1 -1
  14. package/dist/amxBidAdapter.js +1 -1
  15. package/dist/amxIdSystem.js +1 -1
  16. package/dist/aolBidAdapter.js +1 -1
  17. package/dist/appierAnalyticsAdapter.js +1 -1
  18. package/dist/appnexusBidAdapter.js +1 -1
  19. package/dist/appushBidAdapter.js +1 -0
  20. package/dist/asoBidAdapter.js +1 -1
  21. package/dist/axonixBidAdapter.js +1 -1
  22. package/dist/bidglassBidAdapter.js +1 -1
  23. package/dist/big-richmediaBidAdapter.js +1 -1
  24. package/dist/bridgewellBidAdapter.js +1 -1
  25. package/dist/brightMountainMediaBidAdapter.js +1 -1
  26. package/dist/carodaBidAdapter.js +1 -1
  27. package/dist/chtnwBidAdapter.js +1 -1
  28. package/dist/concertBidAdapter.js +1 -1
  29. package/dist/confiantRtdProvider.js +1 -0
  30. package/dist/connectIdSystem.js +1 -1
  31. package/dist/connectadBidAdapter.js +1 -1
  32. package/dist/consumableBidAdapter.js +1 -1
  33. package/dist/conversantBidAdapter.js +1 -1
  34. package/dist/craftBidAdapter.js +1 -1
  35. package/dist/criteoBidAdapter.js +1 -1
  36. package/dist/datawrkzBidAdapter.js +1 -1
  37. package/dist/dspxBidAdapter.js +1 -1
  38. package/dist/eplanningBidAdapter.js +1 -1
  39. package/dist/feedadBidAdapter.js +1 -1
  40. package/dist/finativeBidAdapter.js +1 -1
  41. package/dist/glimpseBidAdapter.js +1 -1
  42. package/dist/gmosspBidAdapter.js +1 -1
  43. package/dist/goldbachBidAdapter.js +1 -1
  44. package/dist/gridBidAdapter.js +1 -1
  45. package/dist/gridNMBidAdapter.js +1 -1
  46. package/dist/gumgumBidAdapter.js +1 -1
  47. package/dist/h12mediaBidAdapter.js +1 -1
  48. package/dist/holidBidAdapter.js +1 -0
  49. package/dist/id5IdSystem.js +1 -1
  50. package/dist/improvedigitalBidAdapter.js +1 -1
  51. package/dist/inmarBidAdapter.js +1 -1
  52. package/dist/insticatorBidAdapter.js +1 -1
  53. package/dist/ixBidAdapter.js +1 -1
  54. package/dist/justpremiumBidAdapter.js +1 -1
  55. package/dist/jwplayerVideoProvider.js +1 -1
  56. package/dist/konduitAnalyticsAdapter.js +1 -1
  57. package/dist/kueezBidAdapter.js +1 -1
  58. package/dist/kueezRtbBidAdapter.js +1 -1
  59. package/dist/lassoBidAdapter.js +1 -1
  60. package/dist/lifestreetBidAdapter.js +1 -1
  61. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  62. package/dist/logicadBidAdapter.js +1 -1
  63. package/dist/loglyliftBidAdapter.js +1 -1
  64. package/dist/magniteAnalyticsAdapter.js +1 -1
  65. package/dist/malltvAnalyticsAdapter.js +1 -1
  66. package/dist/marsmediaBidAdapter.js +1 -1
  67. package/dist/mediafuseBidAdapter.js +1 -1
  68. package/dist/medianetRtdProvider.js +1 -1
  69. package/dist/mediasquareBidAdapter.js +1 -1
  70. package/dist/mgidBidAdapter.js +1 -1
  71. package/dist/minutemediaBidAdapter.js +1 -1
  72. package/dist/nexx360BidAdapter.js +1 -1
  73. package/dist/not-for-prod/prebid.js +131 -127
  74. package/dist/oguryBidAdapter.js +1 -1
  75. package/dist/onetagBidAdapter.js +1 -1
  76. package/dist/ooloAnalyticsAdapter.js +1 -1
  77. package/dist/orbitsoftBidAdapter.js +1 -0
  78. package/dist/outbrainBidAdapter.js +1 -1
  79. package/dist/parrableIdSystem.js +1 -1
  80. package/dist/pbsExtensions.js +1 -1
  81. package/dist/permutiveRtdProvider.js +1 -1
  82. package/dist/pixfutureBidAdapter.js +1 -1
  83. package/dist/prebid-core.js +1 -1
  84. package/dist/prebidServerBidAdapter.js +1 -1
  85. package/dist/publinkIdSystem.js +1 -1
  86. package/dist/pubmaticBidAdapter.js +1 -1
  87. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  88. package/dist/pxyzBidAdapter.js +1 -1
  89. package/dist/quantcastBidAdapter.js +1 -1
  90. package/dist/readpeakBidAdapter.js +1 -1
  91. package/dist/relaidoBidAdapter.js +1 -1
  92. package/dist/rhythmoneBidAdapter.js +1 -1
  93. package/dist/riseBidAdapter.js +1 -1
  94. package/dist/rubiconAnalyticsAdapter.js +1 -1
  95. package/dist/rubiconBidAdapter.js +1 -1
  96. package/dist/seedingAllianceBidAdapter.js +1 -1
  97. package/dist/seedtagBidAdapter.js +1 -1
  98. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  99. package/dist/sharethroughBidAdapter.js +1 -1
  100. package/dist/shinezBidAdapter.js +1 -1
  101. package/dist/smaatoBidAdapter.js +1 -1
  102. package/dist/smartadserverBidAdapter.js +1 -1
  103. package/dist/smartxBidAdapter.js +1 -1
  104. package/dist/smilewantedBidAdapter.js +1 -1
  105. package/dist/sonobiBidAdapter.js +1 -1
  106. package/dist/sovrnAnalyticsAdapter.js +1 -1
  107. package/dist/sovrnBidAdapter.js +1 -1
  108. package/dist/sspBCBidAdapter.js +1 -1
  109. package/dist/sublimeBidAdapter.js +1 -1
  110. package/dist/synacormediaBidAdapter.js +1 -1
  111. package/dist/taboolaBidAdapter.js +1 -1
  112. package/dist/targetVideoBidAdapter.js +1 -1
  113. package/dist/teadsBidAdapter.js +1 -1
  114. package/dist/trionBidAdapter.js +1 -1
  115. package/dist/tripleliftBidAdapter.js +1 -1
  116. package/dist/ttdBidAdapter.js +1 -1
  117. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  118. package/dist/uid2IdSystem.js +1 -1
  119. package/dist/underdogmediaBidAdapter.js +1 -1
  120. package/dist/undertoneBidAdapter.js +1 -1
  121. package/dist/vidazooBidAdapter.js +1 -1
  122. package/dist/videobyteBidAdapter.js +1 -1
  123. package/dist/visxBidAdapter.js +1 -1
  124. package/dist/vuukleBidAdapter.js +1 -1
  125. package/dist/widespaceBidAdapter.js +1 -1
  126. package/dist/winrBidAdapter.js +1 -1
  127. package/dist/yahoosspBidAdapter.js +1 -1
  128. package/dist/yieldlabBidAdapter.js +1 -1
  129. package/dist/yieldmoBidAdapter.js +1 -1
  130. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  131. package/integrationExamples/gpt/adloox.html +5 -0
  132. package/libraries/pbsExtensions/processors/adUnitCode.js +13 -0
  133. package/libraries/pbsExtensions/processors/pbs.js +5 -0
  134. package/modules/.submodules.json +1 -0
  135. package/modules/adagioBidAdapter.js +0 -4
  136. package/modules/adagioBidAdapter.md +4 -22
  137. package/modules/adkernelBidAdapter.js +2 -1
  138. package/modules/adlooxAnalyticsAdapter.md +5 -3
  139. package/modules/adlooxRtdProvider.js +82 -278
  140. package/modules/adlooxRtdProvider.md +6 -6
  141. package/modules/aidemBidAdapter.js +4 -0
  142. package/modules/aidemBidAdapter.md +1 -0
  143. package/modules/alkimiBidAdapter.js +23 -6
  144. package/modules/aolBidAdapter.js +12 -0
  145. package/modules/appnexusBidAdapter.js +2 -2
  146. package/modules/appushBidAdapter.js +188 -0
  147. package/modules/appushBidAdapter.md +79 -0
  148. package/modules/asoBidAdapter.js +8 -5
  149. package/modules/confiantRtdProvider.js +128 -0
  150. package/modules/confiantRtdProvider.md +45 -0
  151. package/modules/connectIdSystem.js +15 -1
  152. package/modules/datawrkzBidAdapter.js +24 -4
  153. package/modules/feedadBidAdapter.js +17 -7
  154. package/modules/holidBidAdapter.js +170 -0
  155. package/modules/holidBidAdapter.md +36 -0
  156. package/modules/jwplayerVideoProvider.js +10 -3
  157. package/modules/kueezRtbBidAdapter.js +21 -8
  158. package/modules/medianetRtdProvider.js +4 -4
  159. package/modules/nexx360BidAdapter.js +5 -7
  160. package/modules/orbitsoftBidAdapter.js +150 -0
  161. package/modules/permutiveRtdProvider.js +1 -1
  162. package/modules/prebidServerBidAdapter/ortbConverter.js +1 -0
  163. package/modules/riseBidAdapter.js +2 -1
  164. package/modules/riseBidAdapter.md +2 -0
  165. package/modules/seedtagBidAdapter.js +12 -0
  166. package/modules/smartxBidAdapter.js +6 -0
  167. package/modules/taboolaBidAdapter.js +61 -14
  168. package/modules/yahoosspBidAdapter.js +5 -0
  169. package/modules/yieldlabBidAdapter.js +150 -134
  170. package/modules/yieldmoBidAdapter.js +1 -12
  171. package/package.json +1 -1
  172. package/src/adloader.js +2 -1
  173. package/src/prebid.js +7 -8
  174. package/test/spec/modules/adagioBidAdapter_spec.js +1 -28
  175. package/test/spec/modules/adlooxRtdProvider_spec.js +28 -120
  176. package/test/spec/modules/aidemBidAdapter_spec.js +10 -2
  177. package/test/spec/modules/alkimiBidAdapter_spec.js +15 -3
  178. package/test/spec/modules/aolBidAdapter_spec.js +22 -0
  179. package/test/spec/modules/appnexusBidAdapter_spec.js +7 -3
  180. package/test/spec/modules/appushBidAdapter_spec.js +372 -0
  181. package/test/spec/modules/confiantRtdProvider_spec.js +107 -0
  182. package/test/spec/modules/connectIdSystem_spec.js +17 -5
  183. package/test/spec/modules/feedadBidAdapter_spec.js +60 -13
  184. package/test/spec/modules/holidBidAdapter_spec.js +165 -0
  185. package/test/spec/modules/kueezRtbBidAdapter_spec.js +147 -24
  186. package/test/spec/modules/medianetRtdProvider_spec.js +3 -3
  187. package/test/spec/modules/orbitsoftBidAdapter_spec.js +255 -0
  188. package/test/spec/modules/riseBidAdapter_spec.js +7 -0
  189. package/test/spec/modules/seedtagBidAdapter_spec.js +56 -10
  190. package/test/spec/modules/smartxBidAdapter_spec.js +10 -0
  191. package/test/spec/modules/taboolaBidAdapter_spec.js +142 -5
  192. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +45 -10
  193. package/test/spec/modules/yahoosspBidAdapter_spec.js +16 -1
  194. package/test/spec/modules/yieldlabBidAdapter_spec.js +311 -301
  195. package/test/spec/modules/yieldmoBidAdapter_spec.js +70 -0
  196. package/test/spec/ortbConverter/pbsExtensions/adUnitCode_spec.js +23 -0
  197. package/test/spec/unit/pbjs_api_spec.js +11 -0
@@ -3,13 +3,15 @@
3
3
  import {registerBidder} from '../src/adapters/bidderFactory.js';
4
4
  import {BANNER} from '../src/mediaTypes.js';
5
5
  import {config} from '../src/config.js';
6
- import {getWindowSelf} from '../src/utils.js'
6
+ import {deepAccess, getWindowSelf, replaceAuctionPrice} from '../src/utils.js'
7
7
  import {getStorageManager} from '../src/storageManager.js';
8
+ import { ajax } from '../src/ajax.js';
8
9
 
9
10
  const BIDDER_CODE = 'taboola';
10
11
  const GVLID = 42;
11
12
  const CURRENCY = 'USD';
12
13
  export const END_POINT_URL = 'https://display.bidder.taboola.com/OpenRTB/TaboolaHB/auction';
14
+ export const USER_SYNC_IMG_URL = 'https://trc.taboola.com/sg/prebidJS/1/cm';
13
15
  const USER_ID = 'user-id';
14
16
  const STORAGE_KEY = `taboola global:${USER_ID}`;
15
17
  const COOKIE_KEY = 'trc_cookie_storage';
@@ -81,7 +83,7 @@ export const spec = {
81
83
  const [bidRequest] = validBidRequests;
82
84
  const {refererInfo, gdprConsent = {}, uspConsent} = bidderRequest;
83
85
  const {publisherId} = bidRequest.params;
84
- const site = getSiteProperties(bidRequest.params, refererInfo);
86
+ const site = getSiteProperties(bidRequest.params, refererInfo, bidderRequest.ortb2);
85
87
  const device = {ua: navigator.userAgent};
86
88
  const imps = getImps(validBidRequests);
87
89
  const user = {
@@ -102,13 +104,19 @@ export const spec = {
102
104
  regs.ext.us_privacy = uspConsent;
103
105
  }
104
106
 
107
+ if (bidderRequest.ortb2?.regs?.gpp) {
108
+ regs.ext.gpp = bidderRequest.ortb2.regs.gpp;
109
+ regs.ext.gpp_sid = bidderRequest.ortb2.regs.gpp_sid;
110
+ }
111
+
105
112
  if (config.getConfig('coppa')) {
106
113
  regs.coppa = 1;
107
114
  }
108
115
 
109
116
  const ortb2 = bidderRequest.ortb2 || {
117
+ bcat: [],
110
118
  badv: [],
111
- bcat: []
119
+ wlang: []
112
120
  };
113
121
 
114
122
  const request = {
@@ -118,10 +126,14 @@ export const spec = {
118
126
  device,
119
127
  source: {fd: 1},
120
128
  tmax: bidderRequest.timeout,
121
- bcat: ortb2.bcat,
122
- badv: ortb2.badv,
129
+ bcat: ortb2.bcat || bidRequest.params.bcat || [],
130
+ badv: ortb2.badv || bidRequest.params.badv || [],
131
+ wlang: ortb2.wlang || bidRequest.params.wlang || [],
123
132
  user,
124
- regs
133
+ regs,
134
+ ext: {
135
+ pageType: ortb2?.ext?.data?.pageType || ortb2?.ext?.data?.section || bidRequest.params.pageType
136
+ }
125
137
  };
126
138
 
127
139
  const url = [END_POINT_URL, publisherId].join('/');
@@ -149,16 +161,45 @@ export const spec = {
149
161
 
150
162
  return bidResponses.map((bidResponse) => getBid(bids, currency, bidResponse)).filter(Boolean);
151
163
  },
164
+ onBidWon: (bid) => {
165
+ if (bid.nurl) {
166
+ const resolvedNurl = replaceAuctionPrice(bid.nurl, bid.originalCpm);
167
+ ajax(resolvedNurl);
168
+ }
169
+ },
170
+ getUserSyncs: function(syncOptions, serverResponses, gdprConsent, uspConsent, gppConsent) {
171
+ const syncs = []
172
+ const queryParams = [];
173
+ if (gdprConsent) {
174
+ queryParams.push(`gdpr=${Number(gdprConsent.gdprApplies && 1)}&gdpr_consent=${encodeURIComponent(gdprConsent.consentString || '')}`);
175
+ }
176
+
177
+ if (uspConsent) {
178
+ queryParams.push('us_privacy=' + encodeURIComponent(uspConsent));
179
+ }
180
+
181
+ if (gppConsent) {
182
+ queryParams.push('gpp=' + encodeURIComponent(gppConsent));
183
+ }
184
+
185
+ if (syncOptions.pixelEnabled) {
186
+ syncs.push({
187
+ type: 'image',
188
+ url: USER_SYNC_IMG_URL + (queryParams.length ? '?' + queryParams.join('&') : '')
189
+ });
190
+ }
191
+ return syncs;
192
+ },
152
193
  };
153
194
 
154
- function getSiteProperties({publisherId, bcat = []}, refererInfo) {
195
+ function getSiteProperties({publisherId}, refererInfo, ortb2) {
155
196
  const {getPageUrl, getReferrer} = internal;
156
197
  return {
157
198
  id: publisherId,
158
199
  name: publisherId,
159
- domain: refererInfo?.domain || window.location?.host,
160
- page: getPageUrl(refererInfo),
161
- ref: getReferrer(refererInfo),
200
+ domain: ortb2?.site?.domain || refererInfo?.domain || window.location?.host,
201
+ page: ortb2?.site?.page || getPageUrl(refererInfo),
202
+ ref: ortb2?.site?.ref || getReferrer(refererInfo),
162
203
  publisher: {
163
204
  id: publisherId
164
205
  },
@@ -170,10 +211,10 @@ function getSiteProperties({publisherId, bcat = []}, refererInfo) {
170
211
 
171
212
  function getImps(validBidRequests) {
172
213
  return validBidRequests.map((bid, id) => {
173
- const {tagId} = bid.params;
214
+ const {tagId, position} = bid.params;
174
215
  const imp = {
175
216
  id: id + 1,
176
- banner: getBanners(bid),
217
+ banner: getBanners(bid, position),
177
218
  tagid: tagId
178
219
  }
179
220
  if (typeof bid.getFloor === 'function') {
@@ -191,12 +232,18 @@ function getImps(validBidRequests) {
191
232
  imp.bidfloor = bidfloor;
192
233
  imp.bidfloorcur = bidfloorcur;
193
234
  }
235
+ imp['ext'] = {
236
+ gpid: deepAccess(bid, 'ortb2Imp.ext.gpid')
237
+ }
194
238
  return imp;
195
239
  });
196
240
  }
197
241
 
198
- function getBanners(bid) {
199
- return getSizes(bid.sizes);
242
+ function getBanners(bid, pos) {
243
+ return {
244
+ ...getSizes(bid.sizes),
245
+ pos: pos
246
+ }
200
247
  }
201
248
 
202
249
  function getSizes(sizes) {
@@ -279,6 +279,11 @@ function generateOpenRtbObject(bidderRequest, bid) {
279
279
  outBoundBidRequest.site.id = bid.params.dcn;
280
280
  };
281
281
 
282
+ if (bidderRequest.ortb2?.regs?.gpp) {
283
+ outBoundBidRequest.regs.ext.gpp = bidderRequest.ortb2.regs.gpp;
284
+ outBoundBidRequest.regs.ext.gpp_sid = bidderRequest.ortb2.regs.gpp_sid
285
+ };
286
+
282
287
  if (bidderRequest.ortb2) {
283
288
  outBoundBidRequest = appendFirstPartyData(outBoundBidRequest, bid);
284
289
  };