-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Discovery Bid Adapter : add ext params (#11877)
* feat(isBidRequestValid): just filter token once. not filter publisher and tagid * feat(isBidRequestValid): add unit test * feat(spec): fix eslint * feat(spec): fix unit test * feat(spec): fix unit test * feat(ext): change default value * feat(utm): build UTMTag data * feat(spec): fix utm test * feat(utm): get UTMTag * feat(utm): add unit tests * feat(utm): fix unit tests * feat(utm): fix unit tests * feat(utm): fix unit tests * feat(ext): add ids * feat(ext): fix unit test * feat(code style): extra common utils * feat(code style): extra common utils * feat(code style): extra common utils --------- Co-authored-by: yubei01 <[email protected]>
- Loading branch information
Showing
9 changed files
with
274 additions
and
455 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
import * as utils from '../../src/utils.js'; | ||
|
||
/** | ||
* get BidFloor | ||
* @param {*} bid | ||
* @returns | ||
*/ | ||
export function getBidFloor(bid) { | ||
if (!utils.isFn(bid.getFloor)) { | ||
return utils.deepAccess(bid, 'params.bidfloor', 0); | ||
} | ||
|
||
try { | ||
const bidFloor = bid.getFloor({ | ||
currency: 'USD', | ||
mediaType: '*', | ||
size: '*', | ||
}); | ||
return bidFloor.floor; | ||
} catch (_) { | ||
return 0; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
import * as utils from '../../src/utils.js'; | ||
|
||
/** | ||
* get device | ||
* @return {boolean} | ||
*/ | ||
export function getDevice() { | ||
let check = false; | ||
(function (a) { | ||
let reg1 = new RegExp( | ||
[ | ||
'(android|bbd+|meego)', | ||
'.+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)', | ||
'|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone', | ||
'|p(ixi|re)/|plucker|pocket|psp|series(4|6)0|symbian|treo|up.(browser|link)|vodafone|wap', | ||
'|windows ce|xda|xiino|android|ipad|playbook|silk', | ||
].join(''), | ||
'i' | ||
); | ||
let reg2 = new RegExp( | ||
[ | ||
'1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)', | ||
'|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )', | ||
'|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell', | ||
'|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)', | ||
'|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene', | ||
'|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c', | ||
'|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom', | ||
'|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)', | ||
'|le(no|xi)|lg( g|/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)', | ||
'|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]', | ||
'|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)', | ||
'|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio', | ||
'|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms', | ||
'|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al', | ||
'|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)', | ||
'|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|', | ||
'v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)', | ||
'|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-', | ||
'|your|zeto|zte-', | ||
].join(''), | ||
'i' | ||
); | ||
if (reg1.test(a) || reg2.test(a.substr(0, 4))) { | ||
check = true; | ||
} | ||
})(navigator.userAgent || navigator.vendor || window.opera); | ||
return check; | ||
} | ||
|
||
/** | ||
* get screen size | ||
* | ||
* @returns {Array} eg: "['widthxheight']" | ||
*/ | ||
export function getScreenSize() { | ||
return utils.parseSizesInput([window.screen.width, window.screen.height]); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
import * as utils from '../../src/utils.js'; | ||
|
||
/** | ||
* get page title | ||
* @returns {string} | ||
*/ | ||
export function getPageTitle(win = window) { | ||
try { | ||
const ogTitle = win.top.document.querySelector('meta[property="og:title"]'); | ||
return win.top.document.title || (ogTitle && ogTitle.content) || ''; | ||
} catch (e) { | ||
const ogTitle = document.querySelector('meta[property="og:title"]'); | ||
return document.title || (ogTitle && ogTitle.content) || ''; | ||
} | ||
} | ||
|
||
/** | ||
* get page description | ||
* @returns {string} | ||
*/ | ||
export function getPageDescription(win = window) { | ||
let element; | ||
|
||
try { | ||
element = win.top.document.querySelector('meta[name="description"]') || | ||
win.top.document.querySelector('meta[property="og:description"]') | ||
} catch (e) { | ||
element = document.querySelector('meta[name="description"]') || | ||
document.querySelector('meta[property="og:description"]') | ||
} | ||
|
||
return (element && element.content) || ''; | ||
} | ||
|
||
/** | ||
* get page keywords | ||
* @returns {string} | ||
*/ | ||
export function getPageKeywords(win = window) { | ||
let element; | ||
|
||
try { | ||
element = win.top.document.querySelector('meta[name="keywords"]'); | ||
} catch (e) { | ||
element = document.querySelector('meta[name="keywords"]'); | ||
} | ||
|
||
return (element && element.content) || ''; | ||
} | ||
|
||
/** | ||
* get connection downlink | ||
* @returns {number} | ||
*/ | ||
export function getConnectionDownLink(win = window) { | ||
const nav = win.navigator || {}; | ||
return nav && nav.connection && nav.connection.downlink >= 0 ? nav.connection.downlink.toString() : undefined; | ||
} | ||
|
||
/** | ||
* @param bidRequest | ||
* @param bidderRequest | ||
* @returns {string} | ||
*/ | ||
export function getReferrer(bidRequest = {}, bidderRequest = {}) { | ||
let pageUrl; | ||
if (bidRequest.params && bidRequest.params.referrer) { | ||
pageUrl = bidRequest.params.referrer; | ||
} else { | ||
pageUrl = utils.deepAccess(bidderRequest, 'refererInfo.page'); | ||
} | ||
return pageUrl; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
import * as utils from '../../src/utils.js'; | ||
|
||
/** | ||
* get sizes for rtb | ||
* @param {Array|Object} requestSizes | ||
* @return {Object} | ||
*/ | ||
export function transformSizes(requestSizes) { | ||
let sizes = []; | ||
let sizeObj = {}; | ||
|
||
if ( | ||
utils.isArray(requestSizes) && | ||
requestSizes.length === 2 && | ||
!utils.isArray(requestSizes[0]) | ||
) { | ||
sizeObj.width = parseInt(requestSizes[0], 10); | ||
sizeObj.height = parseInt(requestSizes[1], 10); | ||
sizes.push(sizeObj); | ||
} else if (typeof requestSizes === 'object') { | ||
for (let i = 0; i < requestSizes.length; i++) { | ||
let size = requestSizes[i]; | ||
sizeObj = {}; | ||
sizeObj.width = parseInt(size[0], 10); | ||
sizeObj.height = parseInt(size[1], 10); | ||
sizes.push(sizeObj); | ||
} | ||
} | ||
|
||
return sizes; | ||
} | ||
|
||
export const normalAdSize = [ | ||
{ w: 300, h: 250 }, | ||
{ w: 300, h: 600 }, | ||
{ w: 728, h: 90 }, | ||
{ w: 970, h: 250 }, | ||
{ w: 320, h: 50 }, | ||
{ w: 160, h: 600 }, | ||
{ w: 320, h: 180 }, | ||
{ w: 320, h: 100 }, | ||
{ w: 336, h: 280 }, | ||
]; |
Oops, something went wrong.