prebid.js 8.3.0 → 8.5.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 (354) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/a1MediaRtdProvider.js +1 -0
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adfBidAdapter.js +1 -1
  7. package/dist/adgenerationBidAdapter.js +1 -1
  8. package/dist/adkernelAdnBidAdapter.js +1 -1
  9. package/dist/adkernelBidAdapter.js +1 -1
  10. package/dist/admanBidAdapter.js +1 -1
  11. package/dist/admixerIdSystem.js +1 -1
  12. package/dist/adnuntiusBidAdapter.js +1 -1
  13. package/dist/adqueryBidAdapter.js +1 -1
  14. package/dist/adqueryIdSystem.js +1 -1
  15. package/dist/adrelevantisBidAdapter.js +1 -1
  16. package/dist/adtelligentIdSystem.js +1 -1
  17. package/dist/adtrgtmeBidAdapter.js +1 -1
  18. package/dist/adxcgBidAdapter.js +1 -1
  19. package/dist/adyoulikeBidAdapter.js +1 -1
  20. package/dist/ajaBidAdapter.js +1 -1
  21. package/dist/amxBidAdapter.js +1 -1
  22. package/dist/amxIdSystem.js +1 -1
  23. package/dist/appierAnalyticsAdapter.js +1 -1
  24. package/dist/appnexusBidAdapter.js +1 -1
  25. package/dist/asoBidAdapter.js +1 -1
  26. package/dist/axonixBidAdapter.js +1 -1
  27. package/dist/beachfrontBidAdapter.js +1 -1
  28. package/dist/bidglassBidAdapter.js +1 -1
  29. package/dist/big-richmediaBidAdapter.js +1 -1
  30. package/dist/brandmetricsRtdProvider.js +1 -1
  31. package/dist/bridBidAdapter.js +1 -1
  32. package/dist/bridgewellBidAdapter.js +1 -1
  33. package/dist/brightMountainMediaBidAdapter.js +1 -1
  34. package/dist/britepoolIdSystem.js +1 -1
  35. package/dist/carodaBidAdapter.js +1 -1
  36. package/dist/chtnwBidAdapter.js +1 -1
  37. package/dist/concertBidAdapter.js +1 -1
  38. package/dist/connectIdSystem.js +1 -1
  39. package/dist/connectadBidAdapter.js +1 -1
  40. package/dist/consentManagementGpp.js +1 -1
  41. package/dist/consumableBidAdapter.js +1 -1
  42. package/dist/conversantAnalyticsAdapter.js +1 -1
  43. package/dist/conversantBidAdapter.js +1 -1
  44. package/dist/craftBidAdapter.js +1 -1
  45. package/dist/criteoBidAdapter.js +1 -1
  46. package/dist/criteoIdSystem.js +1 -1
  47. package/dist/cwireBidAdapter.js +1 -1
  48. package/dist/czechAdIdSystem.js +1 -1
  49. package/dist/dacIdSystem.js +1 -1
  50. package/dist/deepintentDpesIdSystem.js +1 -1
  51. package/dist/dependencies.json +6 -0
  52. package/dist/dmdIdSystem.js +1 -1
  53. package/dist/dspxBidAdapter.js +1 -1
  54. package/dist/eplanningBidAdapter.js +1 -1
  55. package/dist/euidIdSystem.js +1 -1
  56. package/dist/fabrickIdSystem.js +1 -1
  57. package/dist/feedadBidAdapter.js +1 -1
  58. package/dist/finativeBidAdapter.js +1 -1
  59. package/dist/freewheel-sspBidAdapter.js +1 -1
  60. package/dist/ftrackIdSystem.js +1 -1
  61. package/dist/gdprEnforcement.js +1 -1
  62. package/dist/geolocationRtdProvider.js +1 -0
  63. package/dist/gmosspBidAdapter.js +1 -1
  64. package/dist/goldbachBidAdapter.js +1 -1
  65. package/dist/gravitoIdSystem.js +1 -1
  66. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  67. package/dist/greenbidsRtdProvider.js +1 -1
  68. package/dist/gridBidAdapter.js +1 -1
  69. package/dist/growthCodeIdSystem.js +1 -1
  70. package/dist/gumgumBidAdapter.js +1 -1
  71. package/dist/h12mediaBidAdapter.js +1 -1
  72. package/dist/hadronIdSystem.js +1 -1
  73. package/dist/hypelabBidAdapter.js +1 -1
  74. package/dist/id5IdSystem.js +1 -1
  75. package/dist/identityLinkIdSystem.js +1 -1
  76. package/dist/idxIdSystem.js +1 -1
  77. package/dist/imdsBidAdapter.js +1 -1
  78. package/dist/improvedigitalBidAdapter.js +1 -1
  79. package/dist/imuIdSystem.js +1 -1
  80. package/dist/insticatorBidAdapter.js +1 -1
  81. package/dist/intentIqIdSystem.js +1 -1
  82. package/dist/invibesBidAdapter.js +1 -1
  83. package/dist/ixBidAdapter.js +1 -1
  84. package/dist/justIdSystem.js +1 -1
  85. package/dist/justpremiumBidAdapter.js +1 -1
  86. package/dist/kargoBidAdapter.js +1 -1
  87. package/dist/kinessoIdSystem.js +1 -1
  88. package/dist/konduitAnalyticsAdapter.js +1 -1
  89. package/dist/kueezBidAdapter.js +1 -1
  90. package/dist/kueezRtbBidAdapter.js +1 -1
  91. package/dist/kulturemediaBidAdapter.js +1 -1
  92. package/dist/lassoBidAdapter.js +1 -1
  93. package/dist/lifestreetBidAdapter.js +1 -1
  94. package/dist/liveIntentIdSystem.js +1 -1
  95. package/dist/logicadBidAdapter.js +1 -1
  96. package/dist/loglyliftBidAdapter.js +1 -1
  97. package/dist/lotamePanoramaIdSystem.js +1 -1
  98. package/dist/magniteAnalyticsAdapter.js +1 -1
  99. package/dist/malltvAnalyticsAdapter.js +1 -1
  100. package/dist/marsmediaBidAdapter.js +1 -1
  101. package/dist/mediafuseBidAdapter.js +1 -1
  102. package/dist/mediasquareBidAdapter.js +1 -1
  103. package/dist/merkleIdSystem.js +1 -1
  104. package/dist/mgidBidAdapter.js +1 -1
  105. package/dist/minutemediaBidAdapter.js +1 -1
  106. package/dist/minutemediaplusBidAdapter.js +1 -1
  107. package/dist/mwOpenLinkIdSystem.js +1 -1
  108. package/dist/naveggIdSystem.js +1 -1
  109. package/dist/netIdSystem.js +1 -1
  110. package/dist/nexx360BidAdapter.js +1 -1
  111. package/dist/not-for-prod/prebid.js +185 -182
  112. package/dist/novatiqIdSystem.js +1 -1
  113. package/dist/oguryBidAdapter.js +1 -1
  114. package/dist/oneKeyIdSystem.js +1 -1
  115. package/dist/onetagBidAdapter.js +1 -1
  116. package/dist/ooloAnalyticsAdapter.js +1 -1
  117. package/dist/optidigitalBidAdapter.js +1 -1
  118. package/dist/outbrainBidAdapter.js +1 -1
  119. package/dist/ozoneBidAdapter.js +1 -1
  120. package/dist/pairIdSystem.js +1 -1
  121. package/dist/parrableIdSystem.js +1 -1
  122. package/dist/pixfutureBidAdapter.js +1 -1
  123. package/dist/prebid-core.js +2 -2
  124. package/dist/publinkIdSystem.js +1 -1
  125. package/dist/pubmaticBidAdapter.js +1 -1
  126. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  127. package/dist/pulsepointBidAdapter.js +1 -1
  128. package/dist/pxyzBidAdapter.js +1 -1
  129. package/dist/quantcastBidAdapter.js +1 -1
  130. package/dist/quantcastIdSystem.js +1 -1
  131. package/dist/readpeakBidAdapter.js +1 -1
  132. package/dist/relaidoBidAdapter.js +1 -1
  133. package/dist/retailspotBidAdapter.js +1 -1
  134. package/dist/rhythmoneBidAdapter.js +1 -1
  135. package/dist/riseBidAdapter.js +1 -1
  136. package/dist/rubiconBidAdapter.js +1 -1
  137. package/dist/seedingAllianceBidAdapter.js +1 -1
  138. package/dist/seedtagBidAdapter.js +1 -1
  139. package/dist/sharedIdSystem.js +1 -1
  140. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  141. package/dist/sharethroughBidAdapter.js +1 -1
  142. package/dist/shinezBidAdapter.js +1 -1
  143. package/dist/silverpushBidAdapter.js +1 -1
  144. package/dist/smaatoBidAdapter.js +1 -1
  145. package/dist/smartadserverBidAdapter.js +1 -1
  146. package/dist/smartxBidAdapter.js +1 -1
  147. package/dist/smilewantedBidAdapter.js +1 -1
  148. package/dist/sonobiBidAdapter.js +1 -1
  149. package/dist/sovrnAnalyticsAdapter.js +1 -1
  150. package/dist/sovrnBidAdapter.js +1 -1
  151. package/dist/ssmasBidAdapter.js +1 -0
  152. package/dist/sspBCBidAdapter.js +1 -1
  153. package/dist/stroeerCoreBidAdapter.js +1 -1
  154. package/dist/stvBidAdapter.js +1 -1
  155. package/dist/sublimeBidAdapter.js +1 -1
  156. package/dist/tapadIdSystem.js +1 -1
  157. package/dist/targetVideoBidAdapter.js +1 -1
  158. package/dist/teadsBidAdapter.js +1 -1
  159. package/dist/tncIdSystem.js +1 -1
  160. package/dist/topicsFpdModule.js +1 -1
  161. package/dist/trionBidAdapter.js +1 -1
  162. package/dist/tripleliftBidAdapter.js +1 -1
  163. package/dist/ttdBidAdapter.js +1 -1
  164. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  165. package/dist/uid2IdSystem.js +1 -1
  166. package/dist/underdogmediaBidAdapter.js +1 -1
  167. package/dist/undertoneBidAdapter.js +1 -1
  168. package/dist/unifiedIdSystem.js +1 -1
  169. package/dist/userId.js +1 -1
  170. package/dist/utiqSystem.js +1 -1
  171. package/dist/verizonMediaIdSystem.js +1 -1
  172. package/dist/vidazooBidAdapter.js +1 -1
  173. package/dist/videobyteBidAdapter.js +1 -1
  174. package/dist/visxBidAdapter.js +1 -1
  175. package/dist/voxBidAdapter.js +1 -1
  176. package/dist/vrtcalBidAdapter.js +1 -1
  177. package/dist/vuukleBidAdapter.js +1 -1
  178. package/dist/widespaceBidAdapter.js +1 -1
  179. package/dist/winrBidAdapter.js +1 -1
  180. package/dist/yahoosspBidAdapter.js +1 -1
  181. package/dist/yandexBidAdapter.js +1 -1
  182. package/dist/yieldmoBidAdapter.js +1 -1
  183. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  184. package/dist/zeotapIdPlusIdSystem.js +1 -1
  185. package/integrationExamples/gpt/adUnitFloors.html +0 -1
  186. package/integrationExamples/videoModule/jwplayer/bidMarkedAsUsed.html +1 -1
  187. package/integrationExamples/videoModule/jwplayer/eventListeners.html +2 -2
  188. package/integrationExamples/videoModule/jwplayer/eventsUI.html +1 -1
  189. package/integrationExamples/videoModule/jwplayer/gamAdServerMediation.html +1 -1
  190. package/integrationExamples/videoModule/jwplayer/mediaMetadata.html +1 -1
  191. package/integrationExamples/videoModule/jwplayer/playlist.html +1 -1
  192. package/integrationExamples/videoModule/videojs/bidMarkedAsUsed.html +1 -1
  193. package/integrationExamples/videoModule/videojs/bidRequestScheduling.html +1 -1
  194. package/integrationExamples/videoModule/videojs/eventListeners.html +1 -1
  195. package/integrationExamples/videoModule/videojs/eventsUI.html +1 -1
  196. package/integrationExamples/videoModule/videojs/gamAdServerMediation.html +1 -1
  197. package/integrationExamples/videoModule/videojs/mediaMetadata.html +1 -1
  198. package/integrationExamples/videoModule/videojs/playlist.html +1 -1
  199. package/modules/.submodules.json +1 -0
  200. package/modules/33acrossBidAdapter.js +24 -14
  201. package/modules/33acrossIdSystem.js +24 -4
  202. package/modules/a1MediaRtdProvider.js +92 -0
  203. package/modules/a1MediaRtdProvider.md +46 -0
  204. package/modules/adagioBidAdapter.js +0 -1
  205. package/modules/adfBidAdapter.js +4 -1
  206. package/modules/adkernelAdnBidAdapter.js +1 -1
  207. package/modules/adkernelBidAdapter.js +10 -3
  208. package/modules/admanBidAdapter.js +4 -0
  209. package/modules/admixerIdSystem.js +6 -0
  210. package/modules/adnuntiusBidAdapter.js +5 -13
  211. package/modules/adqueryIdSystem.js +6 -0
  212. package/modules/adtelligentIdSystem.js +6 -0
  213. package/modules/adyoulikeBidAdapter.js +6 -3
  214. package/modules/amxIdSystem.js +6 -0
  215. package/modules/beachfrontBidAdapter.js +32 -6
  216. package/modules/brandmetricsRtdProvider.js +36 -2
  217. package/modules/brandmetricsRtdProvider.md +17 -2
  218. package/modules/britepoolIdSystem.js +6 -0
  219. package/modules/connectIdSystem.js +6 -0
  220. package/modules/consentManagementGpp.js +10 -1
  221. package/modules/consumableBidAdapter.js +9 -1
  222. package/modules/criteoIdSystem.js +6 -0
  223. package/modules/czechAdIdSystem.js +6 -0
  224. package/modules/dacIdSystem.js +6 -0
  225. package/modules/deepintentDpesIdSystem.js +7 -2
  226. package/modules/dmdIdSystem.js +6 -0
  227. package/modules/euidIdSystem.js +9 -0
  228. package/modules/fabrickIdSystem.js +6 -0
  229. package/modules/ftrackIdSystem.js +16 -0
  230. package/modules/gdprEnforcement.js +27 -22
  231. package/modules/geolocationRtdProvider.js +65 -0
  232. package/modules/gravitoIdSystem.js +6 -0
  233. package/modules/greenbidsRtdProvider.js +1 -1
  234. package/modules/gridBidAdapter.js +19 -0
  235. package/modules/growthCodeIdSystem.js +20 -1
  236. package/modules/hadronIdSystem.js +6 -0
  237. package/modules/id5IdSystem.js +34 -8
  238. package/modules/identityLinkIdSystem.js +6 -0
  239. package/modules/idxIdSystem.js +6 -0
  240. package/modules/imdsBidAdapter.js +38 -14
  241. package/modules/imuIdSystem.js +10 -0
  242. package/modules/intentIqIdSystem.js +6 -0
  243. package/modules/invibesBidAdapter.js +5 -5
  244. package/modules/ixBidAdapter.js +56 -2
  245. package/modules/justIdSystem.js +6 -0
  246. package/modules/kargoBidAdapter.js +4 -0
  247. package/modules/kinessoIdSystem.js +7 -2
  248. package/modules/liveIntentIdSystem.js +53 -0
  249. package/modules/lotamePanoramaIdSystem.js +6 -0
  250. package/modules/merkleIdSystem.js +24 -0
  251. package/modules/minutemediaBidAdapter.js +17 -2
  252. package/modules/mwOpenLinkIdSystem.js +6 -0
  253. package/modules/naveggIdSystem.js +6 -0
  254. package/modules/netIdSystem.js +6 -0
  255. package/modules/novatiqIdSystem.js +12 -0
  256. package/modules/oguryBidAdapter.js +29 -16
  257. package/modules/oneKeyIdSystem.js +26 -0
  258. package/modules/ozoneBidAdapter.js +65 -18
  259. package/modules/ozoneBidAdapter.md +3 -1
  260. package/modules/pairIdSystem.js +6 -0
  261. package/modules/parrableIdSystem.js +38 -2
  262. package/modules/publinkIdSystem.js +7 -1
  263. package/modules/pubmaticBidAdapter.js +16 -1
  264. package/modules/pulsepointBidAdapter.js +63 -424
  265. package/modules/pulsepointBidAdapter.md +39 -45
  266. package/modules/quantcastIdSystem.js +6 -0
  267. package/modules/rubiconBidAdapter.js +9 -0
  268. package/modules/sharedIdSystem.js +7 -1
  269. package/modules/silverpushBidAdapter.js +2 -2
  270. package/modules/sovrnBidAdapter.js +5 -1
  271. package/modules/ssmasBidAdapter.js +126 -0
  272. package/modules/ssmasBidAdapter.md +35 -0
  273. package/modules/sspBCBidAdapter.js +36 -13
  274. package/modules/stroeerCoreBidAdapter.js +2 -3
  275. package/modules/tapadIdSystem.js +6 -0
  276. package/modules/teadsBidAdapter.js +2 -0
  277. package/modules/tncIdSystem.js +6 -0
  278. package/modules/topicsFpdModule.js +4 -1
  279. package/modules/topicsFpdModule.md +4 -0
  280. package/modules/tripleliftBidAdapter.js +5 -0
  281. package/modules/uid2IdSystem.js +14 -0
  282. package/modules/unifiedIdSystem.js +11 -0
  283. package/modules/userId/eids.js +6 -445
  284. package/modules/userId/index.js +38 -26
  285. package/modules/utiqSystem.js +9 -0
  286. package/modules/verizonMediaIdSystem.js +6 -0
  287. package/modules/vidazooBidAdapter.js +5 -7
  288. package/modules/voxBidAdapter.js +16 -5
  289. package/modules/vrtcalBidAdapter.js +10 -6
  290. package/modules/yahoosspBidAdapter.js +38 -33
  291. package/modules/yahoosspBidAdapter.md +96 -95
  292. package/modules/yandexBidAdapter.js +12 -15
  293. package/modules/zeotapIdPlusIdSystem.js +6 -0
  294. package/package.json +1 -1
  295. package/src/activities/redactor.js +1 -1
  296. package/src/adapters/bidderFactory.js +15 -6
  297. package/src/adloader.js +2 -1
  298. package/src/auction.js +24 -2
  299. package/src/constants.json +3 -1
  300. package/src/fpd/sua.js +8 -2
  301. package/test/spec/auctionmanager_spec.js +29 -1
  302. package/test/spec/fpd/enrichment_spec.js +7 -1
  303. package/test/spec/fpd/sua_spec.js +12 -0
  304. package/test/spec/modules/33acrossBidAdapter_spec.js +188 -35
  305. package/test/spec/modules/33acrossIdSystem_spec.js +122 -27
  306. package/test/spec/modules/a1MediaRtdProvider_spec.js +105 -0
  307. package/test/spec/modules/adagioBidAdapter_spec.js +0 -1
  308. package/test/spec/modules/adfBidAdapter_spec.js +47 -0
  309. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +1 -2
  310. package/test/spec/modules/adkernelBidAdapter_spec.js +7 -2
  311. package/test/spec/modules/adnuntiusBidAdapter_spec.js +116 -64
  312. package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -24
  313. package/test/spec/modules/beachfrontBidAdapter_spec.js +35 -2
  314. package/test/spec/modules/brandmetricsRtdProvider_spec.js +69 -7
  315. package/test/spec/modules/consentManagementGpp_spec.js +16 -0
  316. package/test/spec/modules/consumableBidAdapter_spec.js +15 -0
  317. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +5 -5
  318. package/test/spec/modules/gdprEnforcement_spec.js +43 -2
  319. package/test/spec/modules/geolocationRtdProvider_spec.js +119 -0
  320. package/test/spec/modules/greenbidsRtdProvider_spec.js +1 -1
  321. package/test/spec/modules/gridBidAdapter_spec.js +42 -0
  322. package/test/spec/modules/id5IdSystem_spec.js +18 -0
  323. package/test/spec/modules/imdsBidAdapter_spec.js +98 -17
  324. package/test/spec/modules/invibesBidAdapter_spec.js +123 -32
  325. package/test/spec/modules/ixBidAdapter_spec.js +95 -5
  326. package/test/spec/modules/kargoBidAdapter_spec.js +121 -106
  327. package/test/spec/modules/medianetBidAdapter_spec.js +117 -0
  328. package/test/spec/modules/minutemediaBidAdapter_spec.js +36 -5
  329. package/test/spec/modules/oguryBidAdapter_spec.js +208 -108
  330. package/test/spec/modules/outbrainBidAdapter_spec.js +3 -5
  331. package/test/spec/modules/ozoneBidAdapter_spec.js +27 -1
  332. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -20
  333. package/test/spec/modules/priceFloors_spec.js +14 -0
  334. package/test/spec/modules/pubmaticBidAdapter_spec.js +125 -373
  335. package/test/spec/modules/pulsepointBidAdapter_spec.js +225 -486
  336. package/test/spec/modules/rubiconBidAdapter_spec.js +220 -9
  337. package/test/spec/modules/smaatoBidAdapter_spec.js +4 -6
  338. package/test/spec/modules/sovrnBidAdapter_spec.js +24 -4
  339. package/test/spec/modules/ssmasBidAdapter_spec.js +244 -0
  340. package/test/spec/modules/sspBCBidAdapter_spec.js +18 -19
  341. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +8 -5
  342. package/test/spec/modules/teadsBidAdapter_spec.js +70 -21
  343. package/test/spec/modules/topicsFpdModule_spec.js +10 -4
  344. package/test/spec/modules/tripleliftBidAdapter_spec.js +40 -0
  345. package/test/spec/modules/userId_spec.js +116 -7
  346. package/test/spec/modules/vidazooBidAdapter_spec.js +0 -5
  347. package/test/spec/modules/voxBidAdapter_spec.js +93 -0
  348. package/test/spec/modules/vrtcalBidAdapter_spec.js +12 -4
  349. package/test/spec/modules/xeBidAdapter_spec.js +366 -368
  350. package/test/spec/modules/yahoosspBidAdapter_spec.js +405 -330
  351. package/test/spec/modules/yandexBidAdapter_spec.js +21 -3
  352. package/test/spec/unit/core/bidderFactory_spec.js +61 -14
  353. package/integrationExamples/gpt/inskin_example.html +0 -100
  354. package/integrationExamples/gpt/pbjs_video_adUnit.html +0 -109
@@ -2,7 +2,7 @@ import { assert, expect } from 'chai';
2
2
  import { spec, NATIVE_ASSETS } from 'modules/yandexBidAdapter.js';
3
3
  import { parseUrl } from 'src/utils.js';
4
4
  import { BANNER, NATIVE } from '../../../src/mediaTypes';
5
- import {OPENRTB} from '../../../modules/rtbhouseBidAdapter';
5
+ import { config } from '../../../src/config';
6
6
 
7
7
  describe('Yandex adapter', function () {
8
8
  describe('isBidRequestValid', function () {
@@ -90,6 +90,22 @@ describe('Yandex adapter', function () {
90
90
  expect(data.site.ref).to.equal('https://ya.ru/');
91
91
  });
92
92
 
93
+ it('should send currency if defined', function () {
94
+ config.setConfig({
95
+ currency: {
96
+ adServerCurrency: 'USD'
97
+ }
98
+ });
99
+
100
+ const bannerRequest = getBidRequest();
101
+ const requests = spec.buildRequests([bannerRequest], bidderRequest);
102
+ const { url } = requests[0];
103
+ const parsedRequestUrl = parseUrl(url);
104
+ const { search: query } = parsedRequestUrl
105
+
106
+ expect(query['ssp-cur']).to.equal('USD');
107
+ });
108
+
93
109
  describe('banner', () => {
94
110
  it('should create valid banner object', () => {
95
111
  const bannerRequest = getBidRequest({
@@ -273,7 +289,7 @@ describe('Yandex adapter', function () {
273
289
  },
274
290
  });
275
291
  });
276
- })
292
+ });
277
293
  });
278
294
 
279
295
  describe('interpretResponse', function () {
@@ -294,6 +310,7 @@ describe('Yandex adapter', function () {
294
310
  'example.com'
295
311
  ],
296
312
  adid: 'yabs.123=',
313
+ nurl: 'https://example.com/nurl/?price=${AUCTION_PRICE}&cur=${AUCTION_CURRENCY}',
297
314
  }
298
315
  ]
299
316
  }],
@@ -314,11 +331,12 @@ describe('Yandex adapter', function () {
314
331
  const rtbBid = result[0];
315
332
  expect(rtbBid.width).to.equal(300);
316
333
  expect(rtbBid.height).to.equal(250);
317
- expect(rtbBid.cpm).to.be.within(0.1, 0.5);
334
+ expect(rtbBid.cpm).to.be.within(0.3, 0.3);
318
335
  expect(rtbBid.ad).to.equal('<!-- HTML/JS -->');
319
336
  expect(rtbBid.currency).to.equal('USD');
320
337
  expect(rtbBid.netRevenue).to.equal(true);
321
338
  expect(rtbBid.ttl).to.equal(180);
339
+ expect(rtbBid.nurl).to.equal('https://example.com/nurl/?price=0.3&cur=USD');
322
340
 
323
341
  expect(rtbBid.meta.advertiserDomains).to.deep.equal(['example.com']);
324
342
  });
@@ -13,7 +13,6 @@ import {stubAuctionIndex} from '../../../helpers/indexStub.js';
13
13
  import {bidderSettings} from '../../../../src/bidderSettings.js';
14
14
  import {decorateAdUnitsWithNativeParams} from '../../../../src/native.js';
15
15
  import * as activityRules from 'src/activities/rules.js';
16
- import {sandbox} from 'sinon';
17
16
  import {MODULE_TYPE_BIDDER} from '../../../../src/activities/modules.js';
18
17
  import {ACTIVITY_TRANSMIT_TID} from '../../../../src/activities/activities.js';
19
18
 
@@ -141,6 +140,21 @@ describe('bidders created by newBidder', function () {
141
140
  });
142
141
 
143
142
  describe('transaction IDs', () => {
143
+ beforeEach(() => {
144
+ activityRules.isActivityAllowed.reset();
145
+ ajaxStub.callsFake((_, callback) => callback.success(null, {getResponseHeader: sinon.stub()}));
146
+ spec.interpretResponse.callsFake(() => [
147
+ {
148
+ requestId: 'bid',
149
+ cpm: 123,
150
+ ttl: 300,
151
+ creativeId: 'crid',
152
+ netRevenue: true,
153
+ currency: 'USD'
154
+ }
155
+ ])
156
+ });
157
+
144
158
  Object.entries({
145
159
  'be hidden': false,
146
160
  'not be hidden': true,
@@ -166,21 +180,8 @@ describe('bidders created by newBidder', function () {
166
180
  bidReqs.forEach(checkBidRequest);
167
181
  return {method: 'POST'};
168
182
  });
169
- spec.interpretResponse.callsFake(() => [
170
- {
171
- requestId: 'bid',
172
- cpm: 123,
173
- ttl: 300,
174
- creativeId: 'crid',
175
- netRevenue: true,
176
- currency: 'USD'
177
- }
178
- ])
179
- activityRules.isActivityAllowed.reset();
180
183
  activityRules.isActivityAllowed.callsFake(() => allowed);
181
184
 
182
- ajaxStub.callsFake((_, callback) => callback.success(null, {getResponseHeader: sinon.stub()}));
183
-
184
185
  const bidder = newBidder(spec);
185
186
 
186
187
  bidder.callBids({
@@ -206,6 +207,33 @@ describe('bidders created by newBidder', function () {
206
207
  })
207
208
  });
208
209
  });
210
+
211
+ it('should not be hidden from request methods', (done) => {
212
+ const bidderRequest = {
213
+ bidderCode: 'mockBidder',
214
+ auctionId: 'aid',
215
+ getAID() { return this.auctionId },
216
+ bids: [
217
+ {
218
+ adUnitCode: 'mockAU',
219
+ bidId: 'bid',
220
+ transactionId: 'tid',
221
+ auctionId: 'aid',
222
+ getTIDs() {
223
+ return [this.auctionId, this.transactionId]
224
+ }
225
+ }
226
+ ]
227
+ };
228
+ activityRules.isActivityAllowed.callsFake(() => false);
229
+ spec.isBidRequestValid.returns(true);
230
+ spec.buildRequests.callsFake((reqs, bidderReq) => {
231
+ expect(bidderReq.getAID()).to.eql('aid');
232
+ expect(reqs[0].getTIDs()).to.eql(['aid', 'tid']);
233
+ done();
234
+ });
235
+ newBidder(spec).callBids(bidderRequest, addBidResponseStub, doneStub, ajaxStub, onTimelyResponseStub, wrappedCallback);
236
+ })
209
237
  });
210
238
 
211
239
  it('should handle bad bid requests gracefully', function () {
@@ -1107,6 +1135,25 @@ describe('validate bid response: ', function () {
1107
1135
  expect(logErrorSpy.callCount).to.equal(0);
1108
1136
  });
1109
1137
 
1138
+ it('should disregard auctionId/transactionId set by the adapter', () => {
1139
+ let bidderRequest = {
1140
+ bids: [{
1141
+ bidder: CODE,
1142
+ bidId: '1',
1143
+ auctionId: 'aid',
1144
+ transactionId: 'tid',
1145
+ adUnitCode: 'au',
1146
+ }]
1147
+ };
1148
+ const bidder = newBidder(spec);
1149
+ spec.interpretResponse.returns(Object.assign({}, bids[0], {transactionId: 'ignored', auctionId: 'ignored'}));
1150
+ bidder.callBids(bidderRequest, addBidResponseStub, doneStub, ajaxStub, onTimelyResponseStub, wrappedCallback);
1151
+ sinon.assert.calledWith(addBidResponseStub, sinon.match.any, sinon.match({
1152
+ transactionId: 'tid',
1153
+ auctionId: 'aid'
1154
+ }));
1155
+ })
1156
+
1110
1157
  describe(' Check for alternateBiddersList ', function() {
1111
1158
  let bidRequest;
1112
1159
  let bids1;
@@ -1,100 +0,0 @@
1
- <!--
2
- This page calls a single bidder for a single ad slot. It can be considered a "hello world" example for using
3
- Prebid with the Google Publisher Tag.
4
- It also makes a good test page for new adapter PR submissions. Simply set your server's Bid Params object in the
5
- bids array inside the adUnits, and it will use your adapter to load an ad.
6
- NOTE that many ad servers won't send back an ad if the URL is localhost... so you might need to
7
- set an alias in your /etc/hosts file so that you can load this page from a different domain.
8
- -->
9
-
10
- <html>
11
- <head>
12
- <script>
13
- var PREBID_TIMEOUT = 3300;
14
-
15
- var adUnits = [{
16
- code: 'div-gpt-ad-1460505748561-0',
17
- mediaTypes: {
18
- banner: {
19
- sizes: [[300, 250]],
20
- }
21
- },
22
- // Replace this object to test a new Adapter!
23
- bids: [{
24
- bidder: 'inskin',
25
- params: {
26
- networkId: '9874',
27
- siteId: '983808'
28
- }
29
- }]
30
-
31
- }];
32
-
33
- var pbjs = pbjs || {};
34
- pbjs.que = pbjs.que || [];
35
-
36
- </script>
37
-
38
- <script type="text/javascript" src="../../build/dev/prebid.js" async></script>
39
- <script>
40
- var googletag = googletag || {};
41
- googletag.cmd = googletag.cmd || [];
42
- googletag.cmd.push(function() {
43
- googletag.pubads().disableInitialLoad();
44
- });
45
-
46
- pbjs.que.push(function() {
47
- pbjs.addAdUnits(adUnits);
48
- pbjs.requestBids({
49
- bidsBackHandler: sendAdserverRequest
50
- });
51
- });
52
-
53
- function sendAdserverRequest() {
54
- if (pbjs.adserverRequestSent) return;
55
- pbjs.adserverRequestSent = true;
56
- googletag.cmd.push(function() {
57
- pbjs.que.push(function() {
58
- pbjs.setTargetingForGPTAsync();
59
- googletag.pubads().refresh();
60
- });
61
- });
62
- }
63
-
64
- setTimeout(function() {
65
- sendAdserverRequest();
66
- }, PREBID_TIMEOUT);
67
-
68
- </script>
69
-
70
- <script>
71
- (function () {
72
- var gads = document.createElement('script');
73
- gads.async = true;
74
- gads.type = 'text/javascript';
75
- gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js';
76
- var node = document.getElementsByTagName('script')[0];
77
- node.parentNode.insertBefore(gads, node);
78
- })();
79
- </script>
80
-
81
- <script>
82
- googletag.cmd.push(function () {
83
- googletag.defineSlot('/19968336/header-bid-tag-0', [[300, 250], [300, 600]], 'div-gpt-ad-1460505748561-0').addService(googletag.pubads());
84
-
85
- googletag.pubads().enableSingleRequest();
86
- googletag.enableServices();
87
- });
88
- </script>
89
- </head>
90
-
91
- <body>
92
- <h2>Prebid.js Test</h2>
93
- <h5>Div-1</h5>
94
- <div id='div-gpt-ad-1460505748561-0'>
95
- <script type='text/javascript'>
96
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460505748561-0'); });
97
- </script>
98
- </div>
99
- </body>
100
- </html>
@@ -1,109 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <title>Prebid.js video adUnit example</title>
6
-
7
- <link href="http://vjs.zencdn.net/4.7.1/video-js.css" rel="stylesheet">
8
- <link href="https://raw.githubusercontent.com/theonion/videojs-vast-plugin/master/lib/videojs-contrib-ads/videojs.ads.css" rel="stylesheet" type="text/css">
9
- <link href="https://raw.githubusercontent.com/theonion/videojs-vast-plugin/master/videojs.vast.css" rel="stylesheet" type="text/css">
10
-
11
- <style type="text/css">
12
- .description {
13
- background-color:#eee;
14
- border: 1px solid #777;
15
- padding: 10px;
16
- font-size: .8em;
17
- line-height: 1.5em;
18
- font-family: Verdana, sans-serif;
19
- }
20
- .example-video-container {
21
- display: inline-block;
22
- }
23
- </style>
24
- <script src="/build/dev/prebid.js" async=true></script>
25
- <script>
26
-
27
- var pbjs = pbjs || {};
28
- pbjs.que = pbjs.que || [];
29
-
30
- /*
31
- adUnits can support video demand requests by setting 'mediaType' to
32
- 'video'. When an adUnit is configured to support video, all bidders
33
- within that adUnit must be video-enabled as well, as configured in
34
- adapters.json.
35
- */
36
- var videoAdUnit = {
37
- code: 'video1',
38
- sizes: [640,480],
39
- mediaTypes: { video: {} },
40
- bids: [
41
- {
42
- bidder: 'appnexusAst',
43
- params: {
44
- placementId: '123456',
45
- video: {
46
- id: 123,
47
- skipppable: true,
48
- playback_method: ['auto_play_sound_off']
49
- }
50
- }
51
- }
52
- ]
53
- };
54
-
55
- pbjs.que.push(function(){
56
- pbjs.addAdUnits(videoAdUnit);
57
- pbjs.requestBids({
58
- timeout : 3000,
59
- bidsBackHandler : function(bids) {
60
- var adserverTag = '<dfp_tag>'; // base ad server tag, see: https://support.google.com/dfp_premium/answer/1068325
61
- var options = {
62
- 'adserver': 'dfp',
63
- 'code': 'video1' //code that matches the video adUnit declared above
64
- };
65
- //generate URL
66
- var masterTagUrl = pbjs.buildMasterVideoTagFromAdserverTag(adserverTag, options);
67
- //send masterTagUrl to the video player
68
- invokeVideoPlayer(masterTagUrl);
69
-
70
- }
71
- });
72
- });
73
-
74
-
75
- </script>
76
- </head>
77
- <body>
78
-
79
- <div class="example-video-container">
80
- <video id="vid1" class="video-js vjs-default-skin" autoplay controls preload="auto"
81
- poster="http://video-js.zencoder.com/oceans-clip.png"
82
- data-setup='{}'
83
- width='640'
84
- height='480'
85
- >
86
- <source src="http://vjs.zencdn.net/v/oceans.mp4" type='video/mp4'>
87
-
88
- <p>Video Playback Not Supported</p>
89
- </video>
90
- </div>
91
-
92
- <script>
93
-
94
- var vid1 = videojs('vid1');
95
- vid1.muted(true);
96
- vid1.ads();
97
-
98
- /*
99
- This function called after prebid is back
100
- */
101
- function invokeVideoPlayer(url) {
102
- vid1.vast({
103
- url: url
104
- });
105
- }
106
- </script>
107
-
108
- </body>
109
- </html>