diff --git a/modules/lunamediahbBidAdapter.js b/modules/lunamediahbBidAdapter.js index 1376d0c1714..8567ec1b690 100644 --- a/modules/lunamediahbBidAdapter.js +++ b/modules/lunamediahbBidAdapter.js @@ -14,7 +14,7 @@ function isBidResponseValid(bid) { case BANNER: return Boolean(bid.width && bid.height && bid.ad); case VIDEO: - return Boolean(bid.vastUrl); + return Boolean(bid.vastUrl) || Boolean(bid.vastXml); case NATIVE: return Boolean(bid.native && bid.native.impressionTrackers); default: @@ -74,10 +74,13 @@ export const spec = { if (mediaType && mediaType[BANNER] && mediaType[BANNER].sizes) { placement.sizes = mediaType[BANNER].sizes; placement.traffic = BANNER; - } else if (mediaType && mediaType[VIDEO] && mediaType[VIDEO].playerSize) { - placement.wPlayer = mediaType[VIDEO].playerSize[0]; - placement.hPlayer = mediaType[VIDEO].playerSize[1]; + } else if (mediaType && mediaType[VIDEO]) { + if (mediaType[VIDEO].playerSize) { + placement.wPlayer = mediaType[VIDEO].playerSize[0]; + placement.hPlayer = mediaType[VIDEO].playerSize[1]; + } placement.traffic = VIDEO; + placement.videoContext = mediaType[VIDEO].context || 'instream' } else if (mediaType && mediaType[NATIVE]) { placement.native = mediaType[NATIVE]; placement.traffic = NATIVE; diff --git a/modules/lunamediahbBidAdapter.md b/modules/lunamediahbBidAdapter.md index 184dd846a9d..7deca33db18 100644 --- a/modules/lunamediahbBidAdapter.md +++ b/modules/lunamediahbBidAdapter.md @@ -46,6 +46,23 @@ Module that connects to lunamedia demand sources } ] }, + { + code:'1', + mediaTypes:{ + video: { + playerSize: [640, 480], + context: 'outstream' + } + }, + bids:[ + { + bidder: 'lunamediahb', + params: { + placementId: 0 + } + } + ] + }, { code:'1', mediaTypes:{ diff --git a/test/spec/modules/lunamediahbBidAdapter_spec.js b/test/spec/modules/lunamediahbBidAdapter_spec.js index e9f88935ed5..a787077b84f 100644 --- a/test/spec/modules/lunamediahbBidAdapter_spec.js +++ b/test/spec/modules/lunamediahbBidAdapter_spec.js @@ -80,7 +80,7 @@ describe('LunamediaHBBidAdapter', function () { expect(data).to.be.an('object'); let placement = data['placements'][0]; expect(placement).to.be.an('object'); - expect(placement).to.have.keys('placementId', 'bidId', 'traffic', 'wPlayer', 'hPlayer', 'schain'); + expect(placement).to.have.keys('placementId', 'bidId', 'traffic', 'wPlayer', 'hPlayer', 'schain', 'videoContext'); expect(placement.traffic).to.equal(VIDEO); expect(placement.wPlayer).to.equal(playerSize[0]); expect(placement.hPlayer).to.equal(playerSize[1]);