prebid.js 7.8.0 → 7.11.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 (483) hide show
  1. package/README.md +0 -2
  2. package/RELEASE_SCHEDULE.md +1 -1
  3. package/allowedModules.js +3 -0
  4. package/babelConfig.js +10 -4
  5. package/dist/33acrossBidAdapter.js +1 -1
  6. package/dist/adWMGAnalyticsAdapter.js +1 -1
  7. package/dist/adagioAnalyticsAdapter.js +1 -1
  8. package/dist/adagioBidAdapter.js +1 -1
  9. package/dist/adbookpspBidAdapter.js +1 -1
  10. package/dist/adgenerationBidAdapter.js +1 -1
  11. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  12. package/dist/adkernelBidAdapter.js +1 -1
  13. package/dist/adlooxAdServerVideo.js +1 -1
  14. package/dist/adlooxAnalyticsAdapter.js +1 -1
  15. package/dist/adlooxRtdProvider.js +1 -1
  16. package/dist/adnuntiusBidAdapter.js +1 -1
  17. package/dist/adomikAnalyticsAdapter.js +1 -1
  18. package/dist/adrelevantisBidAdapter.js +1 -1
  19. package/dist/adtelligentBidAdapter.js +1 -1
  20. package/dist/adtrgtmeBidAdapter.js +1 -0
  21. package/dist/adxcgAnalyticsAdapter.js +1 -1
  22. package/dist/adxcgBidAdapter.js +1 -1
  23. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  24. package/dist/adyoulikeBidAdapter.js +1 -1
  25. package/dist/ajaBidAdapter.js +1 -1
  26. package/dist/amxBidAdapter.js +1 -1
  27. package/dist/amxIdSystem.js +1 -1
  28. package/dist/analyticsAdapter.js +1 -0
  29. package/dist/andBeyondMediaBidAdapter.js +1 -0
  30. package/dist/aniviewBidAdapter.js +1 -1
  31. package/dist/appierAnalyticsAdapter.js +1 -1
  32. package/dist/appnexusBidAdapter.js +1 -1
  33. package/dist/asoBidAdapter.js +1 -1
  34. package/dist/atsAnalyticsAdapter.js +1 -1
  35. package/dist/audiencerunBidAdapter.js +1 -1
  36. package/dist/axonixBidAdapter.js +1 -1
  37. package/dist/bidglassBidAdapter.js +1 -1
  38. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  39. package/dist/big-richmediaBidAdapter.js +1 -1
  40. package/dist/bluebillywigBidAdapter.js +1 -1
  41. package/dist/boldwinBidAdapter.js +1 -1
  42. package/dist/bridgewellBidAdapter.js +1 -1
  43. package/dist/brightMountainMediaBidAdapter.js +1 -1
  44. package/dist/browsiRtdProvider.js +1 -1
  45. package/dist/byDataAnalyticsAdapter.js +1 -1
  46. package/dist/c1xBidAdapter.js +1 -0
  47. package/dist/cleanioRtdProvider.js +1 -1
  48. package/dist/concertAnalyticsAdapter.js +1 -1
  49. package/dist/concertBidAdapter.js +1 -1
  50. package/dist/connectadBidAdapter.js +1 -1
  51. package/dist/consentManagementUsp.js +1 -1
  52. package/dist/consumableBidAdapter.js +1 -1
  53. package/dist/conversantBidAdapter.js +1 -1
  54. package/dist/cpmstarBidAdapter.js +1 -1
  55. package/dist/craftBidAdapter.js +1 -1
  56. package/dist/criteoBidAdapter.js +1 -1
  57. package/dist/datablocksAnalyticsAdapter.js +1 -1
  58. package/dist/datawrkzBidAdapter.js +1 -0
  59. package/dist/debugging-standalone.js +1 -1
  60. package/dist/dependencies.json +171 -0
  61. package/dist/dspxBidAdapter.js +1 -1
  62. package/dist/eplanningAnalyticsAdapter.js +1 -1
  63. package/dist/eplanningBidAdapter.js +1 -1
  64. package/dist/finativeBidAdapter.js +1 -1
  65. package/dist/fintezaAnalyticsAdapter.js +1 -1
  66. package/dist/freewheel-sspBidAdapter.js +1 -1
  67. package/dist/getOrigin.js +1 -1
  68. package/dist/glimpseBidAdapter.js +1 -1
  69. package/dist/gmosspBidAdapter.js +1 -1
  70. package/dist/goldbachBidAdapter.js +1 -1
  71. package/dist/gridBidAdapter.js +1 -1
  72. package/dist/gridNMBidAdapter.js +1 -1
  73. package/dist/gumgumBidAdapter.js +1 -1
  74. package/dist/h12mediaBidAdapter.js +1 -1
  75. package/dist/hadronAnalyticsAdapter.js +1 -1
  76. package/dist/id5AnalyticsAdapter.js +1 -1
  77. package/dist/id5IdSystem.js +1 -1
  78. package/dist/impactifyBidAdapter.js +1 -1
  79. package/dist/improvedigitalBidAdapter.js +1 -1
  80. package/dist/imuIdSystem.js +1 -1
  81. package/dist/inmarBidAdapter.js +1 -1
  82. package/dist/insticatorBidAdapter.js +1 -1
  83. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  84. package/dist/ixBidAdapter.js +1 -1
  85. package/dist/jixieBidAdapter.js +1 -1
  86. package/dist/justpremiumBidAdapter.js +1 -1
  87. package/dist/kargoAnalyticsAdapter.js +1 -1
  88. package/dist/kargoBidAdapter.js +1 -1
  89. package/dist/konduitAnalyticsAdapter.js +1 -1
  90. package/dist/kueezBidAdapter.js +1 -1
  91. package/dist/lassoBidAdapter.js +1 -1
  92. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  93. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  94. package/dist/logicadBidAdapter.js +1 -1
  95. package/dist/loglyliftBidAdapter.js +1 -1
  96. package/dist/malltvAnalyticsAdapter.js +1 -1
  97. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  98. package/dist/marsmediaBidAdapter.js +1 -1
  99. package/dist/mediafuseBidAdapter.js +1 -1
  100. package/dist/mediakeysBidAdapter.js +1 -1
  101. package/dist/medianetAnalyticsAdapter.js +1 -1
  102. package/dist/mediasquareBidAdapter.js +1 -1
  103. package/dist/mgidBidAdapter.js +1 -1
  104. package/dist/minutemediaBidAdapter.js +1 -1
  105. package/dist/nextMillenniumBidAdapter.js +1 -1
  106. package/dist/nobidBidAdapter.js +1 -1
  107. package/dist/not-for-prod/prebid.js +182 -176
  108. package/dist/oguryBidAdapter.js +1 -1
  109. package/dist/onetagBidAdapter.js +1 -1
  110. package/dist/ooloAnalyticsAdapter.js +1 -1
  111. package/dist/openxAnalyticsAdapter.js +1 -1
  112. package/dist/openxBidAdapter.js +1 -1
  113. package/dist/openxOrtbBidAdapter.js +1 -1
  114. package/dist/optimonAnalyticsAdapter.js +1 -1
  115. package/dist/outbrainBidAdapter.js +1 -1
  116. package/dist/ozoneBidAdapter.js +1 -1
  117. package/dist/parrableIdSystem.js +1 -1
  118. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  119. package/dist/pixfutureBidAdapter.js +1 -1
  120. package/dist/prebid-core.js +1 -1
  121. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  122. package/dist/publinkIdSystem.js +1 -1
  123. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  124. package/dist/pubmaticBidAdapter.js +1 -1
  125. package/dist/pubperfAnalyticsAdapter.js +1 -1
  126. package/dist/pubstackAnalyticsAdapter.js +1 -1
  127. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  128. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  129. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  130. package/dist/pxyzBidAdapter.js +1 -1
  131. package/dist/quantcastBidAdapter.js +1 -1
  132. package/dist/readpeakBidAdapter.js +1 -1
  133. package/dist/realvuAnalyticsAdapter.js +1 -1
  134. package/dist/relaidoBidAdapter.js +1 -1
  135. package/dist/relevantAnalyticsAdapter.js +1 -1
  136. package/dist/rhythmoneBidAdapter.js +1 -1
  137. package/dist/riseBidAdapter.js +1 -1
  138. package/dist/rivrAnalyticsAdapter.js +1 -1
  139. package/dist/roxotAnalyticsAdapter.js +1 -1
  140. package/dist/rtbhouseBidAdapter.js +1 -1
  141. package/dist/rubiconAnalyticsAdapter.js +1 -1
  142. package/dist/rubiconBidAdapter.js +1 -1
  143. package/dist/scaleableAnalyticsAdapter.js +1 -1
  144. package/dist/seedingAllianceBidAdapter.js +1 -1
  145. package/dist/seedtagBidAdapter.js +1 -1
  146. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  147. package/dist/sharethroughBidAdapter.js +1 -1
  148. package/dist/shinezBidAdapter.js +1 -1
  149. package/dist/showheroes-bsBidAdapter.js +1 -1
  150. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  151. package/dist/smaatoBidAdapter.js +1 -1
  152. package/dist/smartadserverBidAdapter.js +1 -1
  153. package/dist/smartxBidAdapter.js +1 -1
  154. package/dist/smilewantedBidAdapter.js +1 -1
  155. package/dist/snigelBidAdapter.js +1 -0
  156. package/dist/sonobiAnalyticsAdapter.js +1 -1
  157. package/dist/sonobiBidAdapter.js +1 -1
  158. package/dist/sovrnAnalyticsAdapter.js +1 -1
  159. package/dist/sovrnBidAdapter.js +1 -1
  160. package/dist/sspBCBidAdapter.js +1 -1
  161. package/dist/staqAnalyticsAdapter.js +1 -1
  162. package/dist/sublimeBidAdapter.js +1 -1
  163. package/dist/synacormediaBidAdapter.js +1 -1
  164. package/dist/tappxBidAdapter.js +1 -1
  165. package/dist/targetVideoBidAdapter.js +1 -1
  166. package/dist/teadsBidAdapter.js +1 -1
  167. package/dist/terceptAnalyticsAdapter.js +1 -1
  168. package/dist/trionBidAdapter.js +1 -1
  169. package/dist/tripleliftBidAdapter.js +1 -1
  170. package/dist/trustpidSystem.js +1 -1
  171. package/dist/ttdBidAdapter.js +1 -1
  172. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  173. package/dist/underdogmediaBidAdapter.js +1 -1
  174. package/dist/undertoneBidAdapter.js +1 -1
  175. package/dist/userId.js +1 -1
  176. package/dist/vidazooBidAdapter.js +1 -1
  177. package/dist/videobyteBidAdapter.js +1 -1
  178. package/dist/visxBidAdapter.js +1 -1
  179. package/dist/vuukleBidAdapter.js +1 -1
  180. package/dist/widespaceBidAdapter.js +1 -1
  181. package/dist/winrBidAdapter.js +1 -1
  182. package/dist/yahoosspBidAdapter.js +1 -1
  183. package/dist/yieldmoBidAdapter.js +1 -1
  184. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  185. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  186. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  187. package/dist/zeta_global_sspBidAdapter.js +1 -1
  188. package/gulpHelpers.js +22 -55
  189. package/gulpfile.js +12 -5
  190. package/integrationExamples/gpt/1plusXRtdProviderExample.html +2 -4
  191. package/integrationExamples/gpt/airgridRtdProvider_example.html +1 -4
  192. package/integrationExamples/gpt/amp/remote.html +1 -1
  193. package/integrationExamples/gpt/blueconicRtdProvider_example.html +2 -4
  194. package/integrationExamples/gpt/hadronRtdProvider_example.html +1 -3
  195. package/integrationExamples/gpt/inskin_example.html +1 -3
  196. package/integrationExamples/gpt/permutiveRtdProvider_example.html +1 -1
  197. package/integrationExamples/gpt/prebidServer_example.html +1 -3
  198. package/integrationExamples/gpt/serverbidServer_example.html +1 -3
  199. package/integrationExamples/gpt/userId_example.html +1 -3
  200. package/integrationExamples/postbid/oas/postbid-config.js +5 -5
  201. package/karma.conf.maker.js +2 -13
  202. package/libraries/LIBRARIES.md +5 -0
  203. package/{src → libraries/analyticsAdapter}/AnalyticsAdapter.js +5 -6
  204. package/{src/adapters/analytics → libraries/analyticsAdapter/examples}/example.js +1 -1
  205. package/{src/adapters/analytics → libraries/analyticsAdapter/examples}/example2.js +1 -1
  206. package/modules/.submodules.json +0 -12
  207. package/modules/1plusXRtdProvider.js +1 -1
  208. package/modules/33acrossBidAdapter.js +3 -3
  209. package/modules/adWMGAnalyticsAdapter.js +1 -1
  210. package/modules/adagioAnalyticsAdapter.js +1 -1
  211. package/modules/adagioBidAdapter.js +3 -4
  212. package/modules/adgenerationBidAdapter.js +1 -1
  213. package/modules/adkernelAdnAnalyticsAdapter.js +1 -1
  214. package/modules/adkernelBidAdapter.js +2 -1
  215. package/modules/adlooxAnalyticsAdapter.js +1 -1
  216. package/modules/admixerBidAdapter.js +1 -1
  217. package/modules/adnowBidAdapter.js +1 -1
  218. package/modules/adnuntiusBidAdapter.js +3 -1
  219. package/modules/adomikAnalyticsAdapter.js +1 -1
  220. package/modules/adpod.js +1 -1
  221. package/modules/adrelevantisBidAdapter.js +2 -2
  222. package/modules/adriverBidAdapter.js +1 -1
  223. package/modules/adtargetBidAdapter.js +1 -1
  224. package/modules/adtelligentBidAdapter.js +4 -2
  225. package/modules/adtrgtmeBidAdapter.js +333 -0
  226. package/modules/adtrgtmeBidAdapter.md +69 -0
  227. package/modules/adtrueBidAdapter.js +1 -1
  228. package/modules/adxcgAnalyticsAdapter.js +1 -1
  229. package/modules/adxpremiumAnalyticsAdapter.js +2 -2
  230. package/modules/adyoulikeBidAdapter.js +12 -8
  231. package/modules/akamaiDapRtdProvider.js +2 -2
  232. package/modules/andBeyondMediaBidAdapter.js +202 -0
  233. package/modules/andBeyondMediaBidAdapter.md +79 -0
  234. package/modules/aniviewBidAdapter.js +2 -2
  235. package/modules/apacdexBidAdapter.js +3 -3
  236. package/modules/appierAnalyticsAdapter.js +1 -1
  237. package/modules/appnexusBidAdapter.js +9 -9
  238. package/modules/apstreamBidAdapter.js +2 -2
  239. package/modules/atsAnalyticsAdapter.js +1 -1
  240. package/modules/betweenBidAdapter.js +1 -1
  241. package/modules/bidwatchAnalyticsAdapter.js +71 -12
  242. package/modules/bizzclickBidAdapter.js +1 -1
  243. package/modules/bliinkBidAdapter.js +1 -1
  244. package/modules/boldwinBidAdapter.js +16 -7
  245. package/modules/boldwinBidAdapter.md +17 -0
  246. package/modules/brightMountainMediaBidAdapter.js +1 -1
  247. package/modules/browsiRtdProvider.js +26 -12
  248. package/modules/byDataAnalyticsAdapter.js +2 -2
  249. package/modules/c1xBidAdapter.js +209 -0
  250. package/modules/c1xBidAdapter.md +70 -0
  251. package/modules/cleanioRtdProvider.js +29 -0
  252. package/modules/cleanmedianetBidAdapter.js +1 -1
  253. package/modules/colossussspBidAdapter.js +2 -2
  254. package/modules/concertAnalyticsAdapter.js +1 -1
  255. package/modules/consentManagementUsp.js +2 -2
  256. package/modules/consumableBidAdapter.js +21 -3
  257. package/modules/cpmstarBidAdapter.js +23 -13
  258. package/modules/criteoBidAdapter.js +47 -5
  259. package/modules/cwireBidAdapter.js +1 -1
  260. package/modules/datablocksAnalyticsAdapter.js +1 -1
  261. package/modules/datablocksBidAdapter.js +1 -1
  262. package/modules/datawrkzBidAdapter.js +633 -0
  263. package/modules/datawrkzBidAdapter.md +160 -0
  264. package/modules/dfpAdServerVideo.js +2 -2
  265. package/modules/dgkeywordRtdProvider.js +1 -1
  266. package/modules/dspxBidAdapter.js +1 -1
  267. package/modules/e_volutionBidAdapter.js +3 -3
  268. package/modules/ebdrBidAdapter.js +1 -1
  269. package/modules/emx_digitalBidAdapter.js +1 -1
  270. package/modules/eplanningAnalyticsAdapter.js +1 -1
  271. package/modules/eplanningBidAdapter.js +3 -3
  272. package/modules/fabrickIdSystem.js +2 -2
  273. package/modules/fintezaAnalyticsAdapter.js +2 -2
  274. package/modules/freewheel-sspBidAdapter.js +1 -1
  275. package/modules/gamoshiBidAdapter.js +1 -1
  276. package/modules/getintentBidAdapter.js +1 -1
  277. package/modules/gjirafaBidAdapter.js +2 -2
  278. package/modules/goldbachBidAdapter.js +8 -8
  279. package/modules/gothamadsBidAdapter.js +2 -2
  280. package/modules/gridBidAdapter.js +1 -1
  281. package/modules/gridNMBidAdapter.js +1 -1
  282. package/modules/gumgumBidAdapter.js +3 -3
  283. package/modules/h12mediaBidAdapter.js +1 -1
  284. package/modules/hadronAnalyticsAdapter.js +3 -3
  285. package/modules/hadronRtdProvider.js +1 -1
  286. package/modules/id5AnalyticsAdapter.js +2 -2
  287. package/modules/impactifyBidAdapter.js +1 -1
  288. package/modules/improvedigitalBidAdapter.js +5 -2
  289. package/modules/imuIdSystem.js +40 -28
  290. package/modules/imuIdSystem.md +1 -0
  291. package/modules/inskinBidAdapter.js +1 -1
  292. package/modules/integr8BidAdapter.js +2 -2
  293. package/modules/intentIqIdSystem.js +2 -2
  294. package/modules/interactiveOffersBidAdapter.js +1 -1
  295. package/modules/invisiblyAnalyticsAdapter.js +1 -1
  296. package/modules/iqmBidAdapter.js +1 -1
  297. package/modules/ixBidAdapter.js +15 -15
  298. package/modules/kargoAnalyticsAdapter.js +1 -1
  299. package/modules/kargoBidAdapter.js +4 -5
  300. package/modules/konduitAnalyticsAdapter.js +1 -1
  301. package/modules/krushmediaBidAdapter.js +2 -2
  302. package/modules/kueezBidAdapter.js +2 -2
  303. package/modules/lassoBidAdapter.js +3 -3
  304. package/modules/livewrappedAnalyticsAdapter.js +4 -4
  305. package/modules/liveyieldAnalyticsAdapter.js +1 -1
  306. package/modules/lkqdBidAdapter.js +3 -3
  307. package/modules/loganBidAdapter.js +2 -2
  308. package/modules/luponmediaBidAdapter.js +3 -3
  309. package/modules/malltvAnalyticsAdapter.js +1 -1
  310. package/modules/malltvBidAdapter.js +2 -2
  311. package/modules/marsmediaAnalyticsAdapter.js +1 -1
  312. package/modules/mediafuseBidAdapter.js +8 -8
  313. package/modules/mediakeysBidAdapter.js +2 -2
  314. package/modules/medianetAnalyticsAdapter.js +1 -1
  315. package/modules/merkleIdSystem.js +2 -2
  316. package/modules/mgidBidAdapter.js +2 -2
  317. package/modules/microadBidAdapter.js +1 -1
  318. package/modules/mobfoxpbBidAdapter.js +2 -2
  319. package/modules/newspassidBidAdapter.js +1 -1
  320. package/modules/nextMillenniumBidAdapter.js +21 -2
  321. package/modules/nobidBidAdapter.js +3 -3
  322. package/modules/novatiqIdSystem.js +1 -1
  323. package/modules/oguryBidAdapter.js +1 -1
  324. package/modules/ooloAnalyticsAdapter.js +1 -1
  325. package/modules/open8BidAdapter.js +1 -1
  326. package/modules/openwebBidAdapter.js +1 -1
  327. package/modules/openxAnalyticsAdapter.js +6 -745
  328. package/modules/openxAnalyticsAdapter.md +4 -0
  329. package/modules/openxBidAdapter.js +3 -5
  330. package/modules/openxOrtbBidAdapter.js +8 -4
  331. package/modules/operaadsBidAdapter.js +1 -1
  332. package/modules/optimonAnalyticsAdapter.js +1 -1
  333. package/modules/ozoneBidAdapter.js +102 -271
  334. package/modules/ozoneBidAdapter.md +37 -0
  335. package/modules/pianoDmpAnalyticsAdapter.js +1 -1
  336. package/modules/pixfutureBidAdapter.js +1 -1
  337. package/modules/prebidServerBidAdapter/index.js +7 -7
  338. package/modules/prebidmanagerAnalyticsAdapter.js +2 -2
  339. package/modules/priceFloors.js +1 -1
  340. package/modules/pubmaticAnalyticsAdapter.js +2 -2
  341. package/modules/pubmaticBidAdapter.js +28 -8
  342. package/modules/pubperfAnalyticsAdapter.js +1 -1
  343. package/modules/pubstackAnalyticsAdapter.js +1 -1
  344. package/modules/pubwiseAnalyticsAdapter.js +2 -2
  345. package/modules/pubwiseBidAdapter.js +3 -3
  346. package/modules/pubxBidAdapter.js +1 -1
  347. package/modules/pubxaiAnalyticsAdapter.js +3 -3
  348. package/modules/pulsepointAnalyticsAdapter.js +1 -1
  349. package/modules/pulsepointBidAdapter.js +1 -1
  350. package/modules/quantcastIdSystem.js +1 -1
  351. package/modules/radsBidAdapter.js +1 -1
  352. package/modules/realvuAnalyticsAdapter.js +1 -1
  353. package/modules/relaidoBidAdapter.js +23 -18
  354. package/modules/relevantAnalyticsAdapter.js +1 -1
  355. package/modules/revcontentBidAdapter.js +1 -1
  356. package/modules/richaudienceBidAdapter.js +1 -1
  357. package/modules/riseBidAdapter.js +8 -5
  358. package/modules/riseBidAdapter.md +3 -1
  359. package/modules/rivrAnalyticsAdapter.js +1 -1
  360. package/modules/roxotAnalyticsAdapter.js +1 -1
  361. package/modules/rtbhouseBidAdapter.js +1 -1
  362. package/modules/rubiconAnalyticsAdapter.js +1 -1
  363. package/modules/rubiconBidAdapter.js +2 -2
  364. package/modules/scaleableAnalyticsAdapter.js +1 -1
  365. package/modules/schain.js +1 -1
  366. package/modules/sharethroughAnalyticsAdapter.js +1 -1
  367. package/modules/sharethroughBidAdapter.js +3 -3
  368. package/modules/shinezBidAdapter.js +2 -2
  369. package/modules/showheroes-bsBidAdapter.js +131 -49
  370. package/modules/showheroes-bsBidAdapter.md +49 -0
  371. package/modules/sigmoidAnalyticsAdapter.js +1 -1
  372. package/modules/sirdataRtdProvider.js +3 -3
  373. package/modules/sizeMappingV2.js +1 -1
  374. package/modules/smaatoBidAdapter.js +2 -2
  375. package/modules/smartxBidAdapter.js +2 -2
  376. package/modules/snigelBidAdapter.js +150 -0
  377. package/modules/snigelBidAdapter.md +46 -0
  378. package/modules/sonobiAnalyticsAdapter.js +2 -2
  379. package/modules/sonobiBidAdapter.js +3 -3
  380. package/modules/sovrnAnalyticsAdapter.js +1 -1
  381. package/modules/spotxBidAdapter.js +5 -5
  382. package/modules/sspBCBidAdapter.js +15 -18
  383. package/modules/staqAnalyticsAdapter.js +2 -2
  384. package/modules/synacormediaBidAdapter.js +1 -1
  385. package/modules/taboolaBidAdapter.js +1 -1
  386. package/modules/tappxBidAdapter.js +4 -4
  387. package/modules/targetVideoBidAdapter.js +1 -1
  388. package/modules/terceptAnalyticsAdapter.js +1 -1
  389. package/modules/theAdxBidAdapter.js +2 -2
  390. package/modules/tpmnBidAdapter.js +1 -1
  391. package/modules/trionBidAdapter.js +2 -2
  392. package/modules/tripleliftBidAdapter.js +46 -20
  393. package/modules/trustpidSystem.js +2 -2
  394. package/modules/ttdBidAdapter.js +41 -26
  395. package/modules/ttdBidAdapter.md +4 -10
  396. package/modules/ucfunnelAnalyticsAdapter.js +1 -1
  397. package/modules/underdogmediaBidAdapter.js +1 -1
  398. package/modules/userId/eids.js +5 -0
  399. package/modules/userId/index.js +11 -7
  400. package/modules/vdoaiBidAdapter.js +1 -1
  401. package/modules/vidazooBidAdapter.js +9 -5
  402. package/modules/videoheroesBidAdapter.js +1 -1
  403. package/modules/vidoomyBidAdapter.js +1 -1
  404. package/modules/visxBidAdapter.js +1 -1
  405. package/modules/vrtcalBidAdapter.js +1 -1
  406. package/modules/weboramaRtdProvider.js +3 -3
  407. package/modules/winrBidAdapter.js +1 -1
  408. package/modules/yahoosspBidAdapter.js +4 -3
  409. package/modules/yandexBidAdapter.js +1 -1
  410. package/modules/yieldmoBidAdapter.js +3 -3
  411. package/modules/yieldoneAnalyticsAdapter.js +1 -1
  412. package/modules/yieldoneBidAdapter.js +2 -2
  413. package/modules/yuktamediaAnalyticsAdapter.js +1 -1
  414. package/modules/zeta_global_sspAnalyticsAdapter.js +1 -1
  415. package/modules/zeta_global_sspBidAdapter.js +25 -22
  416. package/package.json +4 -3
  417. package/src/Renderer.js +1 -1
  418. package/src/adapterManager.js +3 -3
  419. package/src/adapters/bidderFactory.js +1 -0
  420. package/src/auction.js +2 -2
  421. package/src/bidfactory.js +1 -1
  422. package/src/config.js +7 -7
  423. package/src/native.js +53 -58
  424. package/src/sizeMapping.js +1 -1
  425. package/src/targeting.js +1 -1
  426. package/src/userSync.js +1 -1
  427. package/src/utils.js +1 -1
  428. package/test/mocks/analyticsStub.js +1 -1
  429. package/test/spec/AnalyticsAdapter_spec.js +1 -1
  430. package/test/spec/config_spec.js +4 -0
  431. package/test/spec/modules/adagioBidAdapter_spec.js +2 -0
  432. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -3
  433. package/test/spec/modules/adtelligentBidAdapter_spec.js +1 -0
  434. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +802 -0
  435. package/test/spec/modules/adyoulikeBidAdapter_spec.js +8 -3
  436. package/test/spec/modules/andBeyondMediaBidAdapter_spec.js +400 -0
  437. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +17 -1
  438. package/test/spec/modules/boldwinBidAdapter_spec.js +2 -1
  439. package/test/spec/modules/browsiRtdProvider_spec.js +40 -1
  440. package/test/spec/modules/c1xBidAdapter_spec.js +189 -0
  441. package/test/spec/modules/cleanioRtdProvider_spec.js +23 -0
  442. package/test/spec/modules/concertAnalyticsAdapter_spec.js +2 -1
  443. package/test/spec/modules/consumableBidAdapter_spec.js +139 -0
  444. package/test/spec/modules/cpmstarBidAdapter_spec.js +1 -1
  445. package/test/spec/modules/criteoBidAdapter_spec.js +169 -38
  446. package/test/spec/modules/datawrkzBidAdapter_spec.js +656 -0
  447. package/test/spec/modules/eids_spec.js +32 -0
  448. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +2 -2
  449. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +2 -1
  450. package/test/spec/modules/improvedigitalBidAdapter_spec.js +4 -4
  451. package/test/spec/modules/imuIdSystem_spec.js +20 -4
  452. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +8 -3
  453. package/test/spec/modules/kargoBidAdapter_spec.js +11 -2
  454. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +2 -1
  455. package/test/spec/modules/nextMillenniumBidAdapter_spec.js +17 -0
  456. package/test/spec/modules/openxAnalyticsAdapter_spec.js +6 -638
  457. package/test/spec/modules/openxOrtbBidAdapter_spec.js +32 -1
  458. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +2 -1
  459. package/test/spec/modules/ozoneBidAdapter_spec.js +367 -511
  460. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +4 -0
  461. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -1
  462. package/test/spec/modules/pubmaticBidAdapter_spec.js +111 -5
  463. package/test/spec/modules/pubperfAnalyticsAdapter_spec.js +2 -1
  464. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +2 -1
  465. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +3 -3
  466. package/test/spec/modules/relaidoBidAdapter_spec.js +40 -33
  467. package/test/spec/modules/riseBidAdapter_spec.js +17 -0
  468. package/test/spec/modules/sharethroughBidAdapter_spec.js +10 -1
  469. package/test/spec/modules/showheroes-bsBidAdapter_spec.js +173 -2
  470. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +1 -1
  471. package/test/spec/modules/snigelBidAdapter_spec.js +296 -0
  472. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -1
  473. package/test/spec/modules/sspBCBidAdapter_spec.js +2 -2
  474. package/test/spec/modules/tripleliftBidAdapter_spec.js +378 -10
  475. package/test/spec/modules/ttdBidAdapter_spec.js +113 -34
  476. package/test/spec/modules/userId_spec.js +38 -2
  477. package/test/spec/modules/vidazooBidAdapter_spec.js +39 -24
  478. package/test/spec/modules/yahoosspBidAdapter_spec.js +13 -0
  479. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +5 -1
  480. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +61 -2
  481. package/test/spec/native_spec.js +96 -0
  482. package/test/spec/unit/core/bidderFactory_spec.js +27 -2
  483. package/webpack.conf.js +47 -11
@@ -72,3 +72,40 @@ adUnits = [{
72
72
  }]
73
73
  }];
74
74
  ```
75
+
76
+ //Instream Video adUnit
77
+
78
+ adUnits = [{
79
+ code: 'video1',
80
+ mediaTypes: {
81
+ video: {
82
+ playerSize: [640, 480],
83
+ context: 'instream',
84
+ mimes: ['video/mp4'],
85
+ protocols: [1, 2, 3, 4, 5, 6, 7, 8],
86
+ playbackmethod: [2]
87
+ }
88
+ },
89
+ bids: [{
90
+ bidder: 'ozone',
91
+ params: {
92
+ publisherId: 'OZONENUK0001',
93
+ placementId: '8000000328', // or 999
94
+ siteId: '4204204201',
95
+ video: {
96
+ skippable: true,
97
+ playback_method: ['auto_play_sound_off']
98
+ },
99
+ customData: [{
100
+ "settings": {},
101
+ "targeting": {
102
+ "key": "value",
103
+ "key2": ["value1", "value2"]
104
+ }
105
+ }
106
+ ]
107
+
108
+ }
109
+ }]
110
+ };
111
+ ```
@@ -1,4 +1,4 @@
1
- import adapter from '../src/AnalyticsAdapter.js';
1
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
2
2
  import adapterManager from '../src/adapterManager.js';
3
3
 
4
4
  const pianoDmpAnalytics = adapter({ analyticsType: 'bundle', handler: 'on' });
@@ -211,7 +211,7 @@ function bidToTag(bid) {
211
211
  tag.code = bid.params.invCode;
212
212
  }
213
213
  tag.allow_smaller_sizes = bid.params.allowSmallerSizes || false;
214
- tag.use_pmt_rule = bid.params.usePaymentRule || false
214
+ tag.use_pmt_rule = bid.params.usePaymentRule || false;
215
215
  tag.prebid = true;
216
216
  tag.disable_psa = true;
217
217
  let bidFloor = getBidFloor(bid);
@@ -360,7 +360,7 @@ function _appendSiteAppDevice(request, pageUrl, accountId) {
360
360
  // ORTB specifies app OR site
361
361
  if (typeof config.getConfig('app') === 'object') {
362
362
  request.app = config.getConfig('app');
363
- request.app.publisher = {id: accountId}
363
+ request.app.publisher = {id: accountId};
364
364
  } else {
365
365
  request.site = {};
366
366
  if (isPlainObject(config.getConfig('site'))) {
@@ -531,7 +531,7 @@ Object.assign(ORTB2.prototype, {
531
531
  if (bid.mediaTypes != null) {
532
532
  logWarn(`Prebid Server adapter does not (yet) support bidder-specific mediaTypes for the same adUnit. Size mapping configuration will be ignored for adUnit: ${adUnit.code}, bidder: ${bid.bidder}`);
533
533
  }
534
- })
534
+ });
535
535
 
536
536
  // in case there is a duplicate imp.id, add '-2' suffix to the second imp.id.
537
537
  // e.g. if there are 2 adUnits (case of twin adUnit codes) with code 'test',
@@ -599,7 +599,7 @@ Object.assign(ORTB2.prototype, {
599
599
  }, {});
600
600
  }
601
601
  }
602
- const nativeReq = deepAccess(adUnit, 'nativeOrtbRequest')
602
+ const nativeReq = deepAccess(adUnit, 'nativeOrtbRequest');
603
603
  if (FEATURES.NATIVE && nativeReq) {
604
604
  const defaultRequest = {
605
605
  // TODO: determine best way to pass these and if we allow defaults
@@ -727,7 +727,7 @@ Object.assign(ORTB2.prototype, {
727
727
 
728
728
  if (floor) {
729
729
  imp.bidfloor = floor.floor;
730
- imp.bidfloorcur = floor.currency
730
+ imp.bidfloorcur = floor.currency;
731
731
  }
732
732
 
733
733
  if (imp.banner || imp.video || imp.native) {
@@ -766,11 +766,11 @@ Object.assign(ORTB2.prototype, {
766
766
  }
767
767
 
768
768
  // This is no longer overwritten unless name and version explicitly overwritten by extPrebid (mergeDeep)
769
- request.ext.prebid = Object.assign(request.ext.prebid, {channel: {name: 'pbjs', version: $$PREBID_GLOBAL$$.version}})
769
+ request.ext.prebid = Object.assign(request.ext.prebid, {channel: {name: 'pbjs', version: $$PREBID_GLOBAL$$.version}});
770
770
 
771
771
  // set debug flag if in debug mode
772
772
  if (getConfig('debug')) {
773
- request.ext.prebid = Object.assign(request.ext.prebid, {debug: true})
773
+ request.ext.prebid = Object.assign(request.ext.prebid, {debug: true});
774
774
  }
775
775
 
776
776
  // s2sConfig video.ext.prebid is passed through openrtb to PBS
@@ -1010,7 +1010,7 @@ Object.assign(ORTB2.prototype, {
1010
1010
  if (isPlainObject(ortb) && Array.isArray(ortb.assets)) {
1011
1011
  bidObject.native = {
1012
1012
  ortb,
1013
- }
1013
+ };
1014
1014
  } else {
1015
1015
  logError('prebid server native response contained no assets');
1016
1016
  }
@@ -1,6 +1,6 @@
1
1
  import { generateUUID, getParameterByName, logError, parseUrl, logInfo } from '../src/utils.js';
2
2
  import {ajaxBuilder} from '../src/ajax.js';
3
- import adapter from '../src/AnalyticsAdapter.js';
3
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import { getStorageManager } from '../src/storageManager.js';
6
6
  import CONSTANTS from '../src/constants.json';
@@ -9,7 +9,7 @@ import CONSTANTS from '../src/constants.json';
9
9
  * prebidmanagerAnalyticsAdapter.js - analytics adapter for prebidmanager
10
10
  */
11
11
  export const storage = getStorageManager({gvlid: undefined, moduleName: 'prebidmanager'});
12
- const DEFAULT_EVENT_URL = 'https://endpoint.prebidmanager.com/endpoint'
12
+ const DEFAULT_EVENT_URL = 'https://endpoint.prebidmanager.com/endpoint';
13
13
  const analyticsType = 'endpoint';
14
14
  const analyticsName = 'Prebid Manager Analytics: ';
15
15
 
@@ -700,7 +700,7 @@ export function addBidResponseHook(fn, adUnitCode, bid) {
700
700
  return fn.call(this, adUnitCode, bid);
701
701
  }
702
702
 
703
- const matchingBidRequest = auctionManager.index.getBidRequest(bid)
703
+ const matchingBidRequest = auctionManager.index.getBidRequest(bid);
704
704
 
705
705
  // get the matching rule
706
706
  let floorInfo = getFirstMatchingFloor(floorData.data, matchingBidRequest, {...bid, size: [bid.width, bid.height]});
@@ -1,5 +1,5 @@
1
1
  import { _each, pick, logWarn, isStr, isArray, logError } from '../src/utils.js';
2
- import adapter from '../src/AnalyticsAdapter.js';
2
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import CONSTANTS from '../src/constants.json';
5
5
  import { ajax } from '../src/ajax.js';
@@ -384,7 +384,7 @@ function bidResponseHandler(args) {
384
384
 
385
385
  if (bid.bidder && args.bidderCode && bid.bidder !== args.bidderCode) {
386
386
  bid = copyRequiredBidDetails(args);
387
- cache.auctions[args.auctionId].adUnitCodes[args.adUnitCode].bids[args.requestId].push(bid)
387
+ cache.auctions[args.auctionId].adUnitCodes[args.adUnitCode].bids[args.requestId].push(bid);
388
388
  }
389
389
  bid.adId = args.adId;
390
390
  bid.source = formatSource(bid.source || args.source);
@@ -1,4 +1,4 @@
1
- import { logWarn, _each, isBoolean, isStr, isArray, inIframe, mergeDeep, deepAccess, isNumber, deepSetValue, logInfo, logError, deepClone, convertTypes } from '../src/utils.js';
1
+ import { logWarn, _each, isBoolean, isStr, isArray, inIframe, mergeDeep, deepAccess, isNumber, deepSetValue, logInfo, logError, deepClone, convertTypes, uniques } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { BANNER, VIDEO, NATIVE } from '../src/mediaTypes.js';
4
4
  import {config} from '../src/config.js';
@@ -177,13 +177,15 @@ let publisherId = 0;
177
177
  let isInvalidNativeRequest = false;
178
178
  let NATIVE_ASSET_ID_TO_KEY_MAP = {};
179
179
  let NATIVE_ASSET_KEY_TO_ASSET_MAP = {};
180
+ let biddersList = ['pubmatic'];
181
+ const allBiddersList = ['all'];
180
182
 
181
183
  // loading NATIVE_ASSET_ID_TO_KEY_MAP
182
184
  _each(NATIVE_ASSETS, anAsset => { NATIVE_ASSET_ID_TO_KEY_MAP[anAsset.ID] = anAsset.KEY });
183
185
  // loading NATIVE_ASSET_KEY_TO_ASSET_MAP
184
186
  _each(NATIVE_ASSETS, anAsset => { NATIVE_ASSET_KEY_TO_ASSET_MAP[anAsset.KEY] = anAsset });
185
187
 
186
- function _getDomainFromURL(url) {
188
+ export function _getDomainFromURL(url) {
187
189
  let anchor = document.createElement('a');
188
190
  anchor.href = url;
189
191
  return anchor.hostname;
@@ -606,7 +608,7 @@ function _addDealCustomTargetings(imp, bid) {
606
608
  if (dctr.substring(dctrLen, dctrLen - 1) === '|') {
607
609
  dctr = dctr.substring(0, dctrLen - 1);
608
610
  }
609
- imp.ext['key_val'] = dctr.trim()
611
+ imp.ext['key_val'] = dctr.trim();
610
612
  } else {
611
613
  logWarn(LOG_WARN_PREFIX + 'Ignoring param : dctr with value : ' + dctr + ', expects string-value, found empty or non-string value');
612
614
  }
@@ -809,7 +811,7 @@ function _checkMediaType(bid, newBid) {
809
811
  if (bid.ext && bid.ext['bidtype'] != undefined) {
810
812
  newBid.mediaType = MEDIATYPE[bid.ext.bidtype];
811
813
  } else {
812
- logInfo(LOG_WARN_PREFIX + 'bid.ext.bidtype does not exist, checking alternatively for mediaType')
814
+ logInfo(LOG_WARN_PREFIX + 'bid.ext.bidtype does not exist, checking alternatively for mediaType');
813
815
  var adm = bid.adm;
814
816
  var admStr = '';
815
817
  var videoRegex = new RegExp(/VAST\s+version/);
@@ -1089,10 +1091,21 @@ export const spec = {
1089
1091
  payload.ext.wrapper.wv = $$REPO_AND_VERSION$$;
1090
1092
  payload.ext.wrapper.transactionId = conf.transactionId;
1091
1093
  payload.ext.wrapper.wp = 'pbjs';
1092
- if (bidderRequest && bidderRequest.bidderCode) {
1093
- payload.ext.allowAlternateBidderCodes = bidderSettings.get(bidderRequest.bidderCode, 'allowAlternateBidderCodes');
1094
- payload.ext.allowedAlternateBidderCodes = bidderSettings.get(bidderRequest.bidderCode, 'allowedAlternateBidderCodes');
1094
+ const allowAlternateBidder = bidderRequest ? bidderSettings.get(bidderRequest.bidderCode, 'allowAlternateBidderCodes') : undefined;
1095
+ if (allowAlternateBidder !== undefined) {
1096
+ payload.ext.marketplace = {};
1097
+ if (bidderRequest && allowAlternateBidder == true) {
1098
+ let allowedBiddersList = bidderSettings.get(bidderRequest.bidderCode, 'allowedAlternateBidderCodes');
1099
+ if (isArray(allowedBiddersList)) {
1100
+ allowedBiddersList = allowedBiddersList.map(val => val.trim().toLowerCase()).filter(val => !!val).filter(uniques);
1101
+ biddersList = allowedBiddersList.includes('*') ? allBiddersList : [...biddersList, ...allowedBiddersList];
1102
+ } else {
1103
+ biddersList = allBiddersList;
1104
+ }
1105
+ }
1106
+ payload.ext.marketplace.allowedbidders = biddersList.filter(uniques);
1095
1107
  }
1108
+
1096
1109
  payload.user.gender = (conf.gender ? conf.gender.trim() : UNDEFINED);
1097
1110
  payload.user.geo = {};
1098
1111
  payload.user.geo.lat = _parseSlotParam('lat', conf.lat);
@@ -1112,6 +1125,9 @@ export const spec = {
1112
1125
  payload.device = Object.assign(payload.device, config.getConfig('device'));
1113
1126
  }
1114
1127
 
1128
+ // update device.language to ISO-639-1-alpha-2 (2 character language)
1129
+ payload.device.language = payload.device.language && payload.device.language.split('-')[0];
1130
+
1115
1131
  // passing transactionId in source.tid
1116
1132
  deepSetValue(payload, 'source.tid', conf.transactionId);
1117
1133
 
@@ -1146,13 +1162,17 @@ export const spec = {
1146
1162
  // First Party Data
1147
1163
  const commonFpd = (bidderRequest && bidderRequest.ortb2) || {};
1148
1164
  if (commonFpd.site) {
1165
+ const { page, domain, ref } = payload.site;
1149
1166
  mergeDeep(payload, {site: commonFpd.site});
1167
+ payload.site.page = page;
1168
+ payload.site.domain = domain;
1169
+ payload.site.ref = ref;
1150
1170
  }
1151
1171
  if (commonFpd.user) {
1152
1172
  mergeDeep(payload, {user: commonFpd.user});
1153
1173
  }
1154
1174
  if (commonFpd.bcat) {
1155
- blockedIabCategories = blockedIabCategories.concat(commonFpd.bcat)
1175
+ blockedIabCategories = blockedIabCategories.concat(commonFpd.bcat);
1156
1176
  }
1157
1177
  if (commonFpd.ext?.prebid?.bidderparams?.[bidderRequest.bidderCode]?.acat) {
1158
1178
  const acatParams = commonFpd.ext.prebid.bidderparams[bidderRequest.bidderCode].acat;
@@ -2,7 +2,7 @@
2
2
  * Analytics Adapter for Pubperf
3
3
  */
4
4
 
5
- import adapter from '../src/AnalyticsAdapter.js';
5
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
6
6
  import adapterManager from '../src/adapterManager.js';
7
7
  import { logError } from '../src/utils.js';
8
8
 
@@ -1,4 +1,4 @@
1
- import adapter from '../src/AnalyticsAdapter.js';
1
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
2
2
  import adapterManager from '../src/adapterManager.js';
3
3
 
4
4
  const pubstackAnalytics = adapter({
@@ -1,6 +1,6 @@
1
1
  import { getParameterByName, logInfo, generateUUID, debugTurnedOn } from '../src/utils.js';
2
2
  import {ajax} from '../src/ajax.js';
3
- import adapter from '../src/AnalyticsAdapter.js';
3
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import CONSTANTS from '../src/constants.json';
6
6
  import { getStorageManager } from '../src/storageManager.js';
@@ -295,7 +295,7 @@ pubwiseAnalytics.handleEvent = function(eventType, data) {
295
295
  if (eventType === CONSTANTS.EVENTS.AUCTION_END || eventType === CONSTANTS.EVENTS.BID_WON) {
296
296
  flushEvents();
297
297
  }
298
- }
298
+ };
299
299
 
300
300
  pubwiseAnalytics.storeSessionID = function (userSessID) {
301
301
  storage.setDataInLocalStorage(localStorageSessName(), userSessID);
@@ -161,7 +161,7 @@ export const spec = {
161
161
  }
162
162
 
163
163
  if (bid.params.isTest) {
164
- payload.test = Number(bid.params.isTest) // should be 1 or 0
164
+ payload.test = Number(bid.params.isTest); // should be 1 or 0
165
165
  }
166
166
  payload.site.publisher.id = bid.params.siteId.trim();
167
167
  payload.user.gender = (conf.gender ? conf.gender.trim() : UNDEFINED);
@@ -207,7 +207,7 @@ export const spec = {
207
207
  deepSetValue(payload, 'regs.coppa', 1);
208
208
  }
209
209
 
210
- var options = {contentType: 'text/plain'}
210
+ var options = {contentType: 'text/plain'};
211
211
 
212
212
  _logInfo('buildRequests payload', payload);
213
213
  _logInfo('buildRequests bidderRequest', bidderRequest);
@@ -463,7 +463,7 @@ function _createImpressionObject(bid, conf) {
463
463
  }
464
464
  }
465
465
  } else {
466
- _logWarn('MediaTypes are Required for all Adunit Configs', bid)
466
+ _logWarn('MediaTypes are Required for all Adunit Configs', bid);
467
467
  }
468
468
 
469
469
  _addFloorFromFloorModule(impObj, bid);
@@ -76,7 +76,7 @@ export const spec = {
76
76
  } else {
77
77
  kwString = kwContents;
78
78
  }
79
- kwEnc = encodeURIComponent(kwString)
79
+ kwEnc = encodeURIComponent(kwString);
80
80
  } else { }
81
81
  if (titleContent) {
82
82
  if (titleContent.length > 30) {
@@ -1,6 +1,6 @@
1
1
  import { deepAccess, getGptSlotInfoForAdUnitCode, parseSizesInput, getWindowLocation, buildUrl } from '../src/utils.js';
2
2
  import { ajax } from '../src/ajax.js';
3
- import adapter from '../src/AnalyticsAdapter.js';
3
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import CONSTANTS from '../src/constants.json';
6
6
 
@@ -140,7 +140,7 @@ export function getOS() {
140
140
  // add sampling rate
141
141
  pubxaiAnalyticsAdapter.shouldFireEventRequest = function (samplingRate = 1) {
142
142
  return (Math.floor((Math.random() * samplingRate + 1)) === parseInt(samplingRate));
143
- }
143
+ };
144
144
 
145
145
  function send(data, status) {
146
146
  if (pubxaiAnalyticsAdapter.shouldFireEventRequest(initOptions.samplingRate)) {
@@ -158,7 +158,7 @@ function send(data, status) {
158
158
  data.initOptions.auctionId = data.auctionInit.auctionId;
159
159
  delete data.auctionInit;
160
160
 
161
- data.pmcDetail = {}
161
+ data.pmcDetail = {};
162
162
  Object.assign(data.pmcDetail, {
163
163
  bidDensity: storage ? storage.getItem('pbx:dpbid') : null,
164
164
  maxBid: storage ? storage.getItem('pbx:mxbid') : null,
@@ -2,7 +2,7 @@
2
2
  * pulsepoint.js - Analytics Adapter for PulsePoint
3
3
  */
4
4
 
5
- import adapter from '../src/AnalyticsAdapter.js';
5
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
6
6
  import adapterManager from '../src/adapterManager.js';
7
7
 
8
8
  var pulsepointAdapter = adapter({
@@ -96,7 +96,7 @@ function bidResponseAvailable(request, response) {
96
96
  const idToImpMap = {};
97
97
  const idToBidMap = {};
98
98
  const idToSlotConfig = {};
99
- const bidResponse = response.body
99
+ const bidResponse = response.body;
100
100
  // extract the request bids and the response bids, keyed by impr-id
101
101
  const ortbRequest = request.data;
102
102
  ortbRequest.imp.forEach(imp => {
@@ -211,7 +211,7 @@ export const quantcastIdSubmodule = {
211
211
  });
212
212
  }
213
213
 
214
- return { id: fpa ? { quantcastId: fpa } : undefined }
214
+ return { id: fpa ? { quantcastId: fpa } : undefined };
215
215
  }
216
216
  };
217
217
 
@@ -65,7 +65,7 @@ export const spec = {
65
65
  method: 'GET',
66
66
  url: endpoint,
67
67
  data: objectToQueryString(payload),
68
- }
68
+ };
69
69
  });
70
70
  },
71
71
  interpretResponse: function(serverResponse, bidRequest) {
@@ -1,5 +1,5 @@
1
1
  // RealVu Analytics Adapter
2
- import adapter from '../src/AnalyticsAdapter.js';
2
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import CONSTANTS from '../src/constants.json';
5
5
  import { getStorageManager } from '../src/storageManager.js';
@@ -1,4 +1,4 @@
1
- import { deepAccess, logWarn, getBidIdParameter, parseQueryStringParameters, triggerPixel, generateUUID, isArray, isNumber } from '../src/utils.js';
1
+ import { deepAccess, logWarn, getBidIdParameter, parseQueryStringParameters, triggerPixel, generateUUID, isArray, isNumber, parseSizesInput } from '../src/utils.js';
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
3
  import { BANNER, VIDEO } from '../src/mediaTypes.js';
4
4
  import { Renderer } from '../src/Renderer.js';
@@ -7,7 +7,7 @@ import sha1 from 'crypto-js/sha1';
7
7
 
8
8
  const BIDDER_CODE = 'relaido';
9
9
  const BIDDER_DOMAIN = 'api.relaido.jp';
10
- const ADAPTER_VERSION = '1.0.9';
10
+ const ADAPTER_VERSION = '1.1.0';
11
11
  const DEFAULT_TTL = 300;
12
12
  const UUID_KEY = 'relaido_uuid';
13
13
 
@@ -71,11 +71,11 @@ function buildRequests(validBidRequests, bidderRequest) {
71
71
  }
72
72
 
73
73
  if (!bidder) {
74
- bidder = bidRequest.bidder
74
+ bidder = bidRequest.bidder;
75
75
  }
76
76
 
77
77
  if (!bidder) {
78
- bidder = bidRequest.bidder
78
+ bidder = bidRequest.bidder;
79
79
  }
80
80
 
81
81
  if (!count) {
@@ -92,6 +92,7 @@ function buildRequests(validBidRequests, bidderRequest) {
92
92
  player: bidRequest.params.player,
93
93
  width: width,
94
94
  height: height,
95
+ banner_sizes: getBannerSizes(bidRequest),
95
96
  media_type: mediaType
96
97
  });
97
98
  }
@@ -139,20 +140,24 @@ function interpretResponse(serverResponse, bidRequest) {
139
140
  dealId: body.dealId || '',
140
141
  ttl: body.ttl || DEFAULT_TTL,
141
142
  netRevenue: true,
142
- mediaType: res.mediaType || VIDEO,
143
143
  meta: {
144
144
  advertiserDomains: res.adomain || [],
145
145
  mediaType: VIDEO
146
146
  }
147
147
  };
148
148
 
149
- if (bidResponse.mediaType === VIDEO) {
149
+ if (res.vast && res.mediaType === VIDEO) {
150
+ bidResponse.mediaType = VIDEO;
150
151
  bidResponse.vastXml = res.vast;
151
152
  bidResponse.renderer = newRenderer(res.bidId, playerUrl);
152
- } else {
153
+ } else if (res.vast && res.mediaType === BANNER) {
154
+ bidResponse.mediaType = BANNER;
153
155
  const playerTag = createPlayerTag(playerUrl);
154
156
  const renderTag = createRenderTag(res.width, res.height, res.vast);
155
157
  bidResponse.ad = `<div id="rop-prebid">${playerTag}${renderTag}</div>`;
158
+ } else if (res.adTag) {
159
+ bidResponse.mediaType = BANNER;
160
+ bidResponse.ad = decodeURIComponent(res.adTag);
156
161
  }
157
162
  bidResponses.push(bidResponse);
158
163
  }
@@ -246,9 +251,6 @@ function outstreamRender(bid) {
246
251
  }
247
252
 
248
253
  function isBannerValid(bid) {
249
- if (!isMobile()) {
250
- return false;
251
- }
252
254
  const sizes = getValidSizes(deepAccess(bid, 'mediaTypes.banner.sizes'));
253
255
  if (sizes.length > 0) {
254
256
  return true;
@@ -286,14 +288,6 @@ function getCanonicalUrlHash(refererInfo) {
286
288
  return sha1(canonicalUrl).toString();
287
289
  }
288
290
 
289
- export function isMobile() {
290
- const ua = navigator.userAgent;
291
- if (ua.indexOf('iPhone') > -1 || ua.indexOf('iPod') > -1 || (ua.indexOf('Android') > -1 && ua.indexOf('Tablet') == -1)) {
292
- return true;
293
- }
294
- return false;
295
- }
296
-
297
291
  function hasBannerMediaType(bid) {
298
292
  return !!deepAccess(bid, 'mediaTypes.banner');
299
293
  }
@@ -330,6 +324,17 @@ function getValidSizes(sizes) {
330
324
  return result;
331
325
  }
332
326
 
327
+ function getBannerSizes(bidRequest) {
328
+ if (!hasBannerMediaType(bidRequest)) {
329
+ return null;
330
+ }
331
+ const sizes = deepAccess(bidRequest, 'mediaTypes.banner.sizes');
332
+ if (!isArray(sizes)) {
333
+ return null;
334
+ }
335
+ return parseSizesInput(sizes).join(',');
336
+ }
337
+
333
338
  export const spec = {
334
339
  code: BIDDER_CODE,
335
340
  supportedMediaTypes: [BANNER, VIDEO],
@@ -1,4 +1,4 @@
1
- import adapter from '../src/AnalyticsAdapter.js';
1
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
2
2
  import adapterManager from '../src/adapterManager.js';
3
3
 
4
4
  const relevantAnalytics = adapter({ analyticsType: 'bundle', handler: 'on' });
@@ -232,7 +232,7 @@ function buildImp(bid, id) {
232
232
  w: sizes[0][0],
233
233
  h: sizes[0][1],
234
234
  format: sizes.map(wh => parseGPTSingleSizeArrayToRtbSize(wh)),
235
- }
235
+ };
236
236
  } else if (nativeReq) {
237
237
  const assets = _map(bid.nativeParams, (bidParams, key) => {
238
238
  const props = NATIVE_PARAMS[key];
@@ -132,7 +132,7 @@ export const spec = {
132
132
 
133
133
  bidResponses.push(bidResponse);
134
134
  }
135
- return bidResponses
135
+ return bidResponses;
136
136
  },
137
137
  /***
138
138
  * User Syncs
@@ -8,7 +8,7 @@ const BIDDER_CODE = 'rise';
8
8
  const ADAPTER_VERSION = '6.0.0';
9
9
  const TTL = 360;
10
10
  const CURRENCY = 'USD';
11
- const SELLER_ENDPOINT = 'https://hb.yellowblue.io/';
11
+ const DEFAULT_SELLER_ENDPOINT = 'https://hb.yellowblue.io/';
12
12
  const MODES = {
13
13
  PRODUCTION: 'hb-multi',
14
14
  TEST: 'hb-multi-test'
@@ -42,13 +42,14 @@ export const spec = {
42
42
  // use data from the first bid, to create the general params for all bids
43
43
  const generalObject = validBidRequests[0];
44
44
  const testMode = generalObject.params.testMode;
45
+ const rtbDomain = generalObject.params.rtbDomain;
45
46
 
46
47
  combinedRequestsObject.params = generateGeneralParams(generalObject, bidderRequest);
47
48
  combinedRequestsObject.bids = generateBidsParams(validBidRequests, bidderRequest);
48
49
 
49
50
  return {
50
51
  method: 'POST',
51
- url: getEndpoint(testMode),
52
+ url: getEndpoint(testMode, rtbDomain),
52
53
  data: combinedRequestsObject
53
54
  }
54
55
  },
@@ -223,9 +224,11 @@ function isSyncMethodAllowed(syncRule, bidderCode) {
223
224
  /**
224
225
  * Get the seller endpoint
225
226
  * @param testMode {boolean}
227
+ * @param rtbDomain {string}
226
228
  * @returns {string}
227
229
  */
228
- function getEndpoint(testMode) {
230
+ function getEndpoint(testMode, rtbDomain) {
231
+ const SELLER_ENDPOINT = rtbDomain ? `https://${rtbDomain}/` : DEFAULT_SELLER_ENDPOINT;
229
232
  return testMode
230
233
  ? SELLER_ENDPOINT + MODES.TEST
231
234
  : SELLER_ENDPOINT + MODES.PRODUCTION;
@@ -384,7 +387,7 @@ function generateGeneralParams(generalObject, bidderRequest) {
384
387
  ua: navigator.userAgent,
385
388
  session_id: getBidIdParameter('auctionId', generalObject),
386
389
  tmax: timeout
387
- }
390
+ };
388
391
 
389
392
  const userIdsParam = getBidIdParameter('userId', generalObject);
390
393
  if (userIdsParam) {
@@ -430,5 +433,5 @@ function generateGeneralParams(generalObject, bidderRequest) {
430
433
  generalParams.page_url = deepAccess(bidderRequest, 'refererInfo.page') || deepAccess(window, 'location.href');
431
434
  }
432
435
 
433
- return generalParams
436
+ return generalParams;
434
437
  }
@@ -24,6 +24,7 @@ The adapter supports Video(instream).
24
24
  | `floorPrice` | optional | Number | Minimum price in USD. Misuse of this parameter can impact revenue | 2.00
25
25
  | `placementId` | optional | String | A unique placement identifier | "12345678"
26
26
  | `testMode` | optional | Boolean | This activates the test mode | false
27
+ | `rtbDomain` | optional | String | Sets the seller end point | "www.test.com"
27
28
 
28
29
  # Test Parameters
29
30
  ```javascript
@@ -43,7 +44,8 @@ var adUnits = [
43
44
  org: '56f91cd4d3e3660002000033', // Required
44
45
  floorPrice: 2.00, // Optional
45
46
  placementId: '12345678', // Optional
46
- testMode: false // Optional
47
+ testMode: false // Optional,
48
+ rtbDomain: "www.test.com" //Optional
47
49
  }
48
50
  }]
49
51
  }
@@ -1,5 +1,5 @@
1
1
  import {ajax} from '../src/ajax.js';
2
- import adapter from '../src/AnalyticsAdapter.js';
2
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import * as utils from '../src/utils.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import {deepClone, getParameterByName, logError, logInfo} from '../src/utils.js';
2
- import adapter from '../src/AnalyticsAdapter.js';
2
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import CONSTANTS from '../src/constants.json';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import {includes} from '../src/polyfill.js';
@@ -68,7 +68,7 @@ export const spec = {
68
68
  if (schain) {
69
69
  request.ext = {
70
70
  schain: schain,
71
- }
71
+ };
72
72
  }
73
73
  }
74
74
 
@@ -1,5 +1,5 @@
1
1
  import { generateUUID, mergeDeep, deepAccess, parseUrl, logError, pick, isEmpty, logWarn, debugTurnedOn, parseQS, getWindowLocation, isAdUnitCodeMatchingSlot, isNumber, isGptPubadsDefined, _each, deepSetValue, deepClone, logInfo } from '../src/utils.js';
2
- import adapter from '../src/AnalyticsAdapter.js';
2
+ import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import CONSTANTS from '../src/constants.json';
5
5
  import { ajax } from '../src/ajax.js';