diff --git a/modules/limelightDigitalBidAdapter.js b/modules/limelightDigitalBidAdapter.js index 5cccf5300b3..acc6876b822 100644 --- a/modules/limelightDigitalBidAdapter.js +++ b/modules/limelightDigitalBidAdapter.js @@ -62,7 +62,7 @@ export const spec = { } const placements = groupBy(validBidRequests.map(bidRequest => buildPlacement(bidRequest)), 'host') return Object.keys(placements) - .map(host => buildRequest(winTop, host, placements[host].map(placement => placement.adUnit))); + .map(host => buildRequest(winTop, host, placements[host].map(placement => placement.adUnit), bidderRequest)); }, /** @@ -119,7 +119,7 @@ export const spec = { registerBidder(spec); -function buildRequest(winTop, host, adUnits) { +function buildRequest(winTop, host, adUnits, bidderRequest) { return { method: 'POST', url: `https://${host}/hb`, @@ -127,7 +127,8 @@ function buildRequest(winTop, host, adUnits) { secure: (location.protocol === 'https:'), deviceWidth: winTop.screen.width, deviceHeight: winTop.screen.height, - adUnits: adUnits + adUnits: adUnits, + sua: bidderRequest?.ortb2?.device?.sua } } } diff --git a/test/spec/modules/limelightDigitalBidAdapter_spec.js b/test/spec/modules/limelightDigitalBidAdapter_spec.js index 6348d6a1ac6..9e8a00959d4 100644 --- a/test/spec/modules/limelightDigitalBidAdapter_spec.js +++ b/test/spec/modules/limelightDigitalBidAdapter_spec.js @@ -208,7 +208,19 @@ describe('limelightDigitalAdapter', function () { } describe('buildRequests', function () { - const serverRequests = spec.buildRequests([bid1, bid2, bid3, bid4]) + const bidderRequest = { + ortb2: { + device: { + sua: { + browsers: [], + platform: [], + mobile: 1, + architecture: 'arm' + } + } + } + } + const serverRequests = spec.buildRequests([bid1, bid2, bid3, bid4], bidderRequest) it('Creates two ServerRequests', function() { expect(serverRequests).to.exist expect(serverRequests).to.have.lengthOf(2) @@ -230,7 +242,8 @@ describe('limelightDigitalAdapter', function () { 'deviceWidth', 'deviceHeight', 'secure', - 'adUnits' + 'adUnits', + 'sua' ); expect(data.deviceWidth).to.be.a('number'); expect(data.deviceHeight).to.be.a('number'); @@ -266,6 +279,10 @@ describe('limelightDigitalAdapter', function () { expect(adUnit.custom5).to.be.a('string'); expect(adUnit.page).to.be.a('string'); }) + expect(data.sua.browsers).to.be.a('array'); + expect(data.sua.platform).to.be.a('array'); + expect(data.sua.mobile).to.be.a('number'); + expect(data.sua.architecture).to.be.a('string'); }) }) it('Returns valid URL', function () {