|
1 |
| -import { deepAccess, isArray, logWarn, triggerPixel, buildUrl, logInfo, getValue, getBidIdParameter } from '../src/utils.js'; |
| 1 | +import { deepAccess, isArray, isStr, logWarn, triggerPixel, buildUrl, logInfo, getValue, getBidIdParameter } from '../src/utils.js'; |
2 | 2 | import { getRefererInfo } from '../src/refererDetection.js';
|
3 | 3 | import { registerBidder } from '../src/adapters/bidderFactory.js';
|
4 | 4 | import { config } from '../src/config.js';
|
@@ -40,19 +40,33 @@ export const spec = {
|
40 | 40 | const pageUrl = getPageUrl(bidderRequest.refererInfo, window);
|
41 | 41 | const gdpr = bidderRequest.gdprConsent;
|
42 | 42 | const firstSlot = slots[0];
|
| 43 | + const kwdsFromRequest = firstSlot.kwds; |
| 44 | + let keywords = []; |
| 45 | + if (kwdsFromRequest) { |
| 46 | + if (isArray(kwdsFromRequest)) { |
| 47 | + keywords = kwdsFromRequest; |
| 48 | + } else if (isStr(kwdsFromRequest)) { |
| 49 | + if (kwdsFromRequest.indexOf(',') != -1) { |
| 50 | + keywords = kwdsFromRequest.split(',').map((e) => { return e.trim() }); |
| 51 | + } else { |
| 52 | + keywords.push(kwdsFromRequest); |
| 53 | + } |
| 54 | + } |
| 55 | + } |
43 | 56 | const payloadObject = {
|
44 | 57 | at: new Date().toString(),
|
45 | 58 | nid: firstSlot.nid,
|
46 | 59 | nptnid: firstSlot.nptnid,
|
47 | 60 | pid: firstSlot.pid,
|
48 | 61 | url: pageUrl,
|
49 | 62 | lang: (window.navigator.language || window.navigator.languages[0]),
|
50 |
| - kwds: bidderRequest.ortb2?.site?.keywords || [], |
| 63 | + kwds: keywords, |
51 | 64 | dbg: false,
|
52 | 65 | slts: slots,
|
53 | 66 | is_amp: deepAccess(bidderRequest, 'referrerInfo.isAmp'),
|
54 | 67 | tc_string: (gdpr && gdpr.gdprApplies) ? gdpr.consentString : null,
|
55 | 68 | };
|
| 69 | + |
56 | 70 | const payloadString = JSON.stringify(payloadObject);
|
57 | 71 | return {
|
58 | 72 | method: 'POST',
|
@@ -129,6 +143,7 @@ function beOpRequestSlotsMaker(bid) {
|
129 | 143 | sizes: isArray(bannerSizes) ? bannerSizes : bid.sizes,
|
130 | 144 | flr: floor,
|
131 | 145 | pid: getValue(bid.params, 'accountId'),
|
| 146 | + kwds: getValue(bid.params, 'keywords'), |
132 | 147 | nid: getValue(bid.params, 'networkId'),
|
133 | 148 | nptnid: getValue(bid.params, 'networkPartnerId'),
|
134 | 149 | bid: getBidIdParameter('bidId', bid),
|
|
0 commit comments