Skip to content

Commit d9dc18a

Browse files
committed
support VIDEO feature flag in PubMatic bid adapter
1 parent e7c26f8 commit d9dc18a

File tree

2 files changed

+880
-864
lines changed

2 files changed

+880
-864
lines changed

modules/pubmaticBidAdapter.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ function _createBannerRequest(bid) {
534534

535535
export function checkVideoPlacement(videoData, adUnitCode) {
536536
// Check for video.placement property. If property is missing display log message.
537-
if (!deepAccess(videoData, 'placement')) {
537+
if (FEATURES.VIDEO && !deepAccess(videoData, 'placement')) {
538538
logWarn(MSG_VIDEO_PLACEMENT_MISSING + ' for ' + adUnitCode);
539539
};
540540
}
@@ -543,7 +543,7 @@ function _createVideoRequest(bid) {
543543
var videoData = mergeDeep(deepAccess(bid.mediaTypes, 'video'), bid.params.video);
544544
var videoObj;
545545

546-
if (videoData !== UNDEFINED) {
546+
if (FEATURES.VIDEO && videoData !== UNDEFINED) {
547547
videoObj = {};
548548
checkVideoPlacement(videoData, bid.adUnitCode);
549549
for (var key in VIDEO_CUSTOM_PARAMS) {
@@ -673,7 +673,7 @@ function _createImpressionObject(bid) {
673673
isInvalidNativeRequest = false;
674674
}
675675
break;
676-
case VIDEO:
676+
case FEATURES.VIDEO && VIDEO:
677677
videoObj = _createVideoRequest(bid);
678678
if (videoObj !== UNDEFINED) {
679679
impObj.video = videoObj;
@@ -709,7 +709,7 @@ function _createImpressionObject(bid) {
709709

710710
return impObj.hasOwnProperty(BANNER) ||
711711
impObj.hasOwnProperty(NATIVE) ||
712-
impObj.hasOwnProperty(VIDEO) ? impObj : UNDEFINED;
712+
(FEATURES.VIDEO && impObj.hasOwnProperty(VIDEO)) ? impObj : UNDEFINED;
713713
}
714714

715715
function _addImpressionFPD(imp, bid) {
@@ -810,7 +810,7 @@ function _checkMediaType(bid, newBid) {
810810
var videoRegex = new RegExp(/VAST\s+version/);
811811
if (adm.indexOf('span class="PubAPIAd"') >= 0) {
812812
newBid.mediaType = BANNER;
813-
} else if (videoRegex.test(adm)) {
813+
} else if (FEATURES.VIDEO && videoRegex.test(adm)) {
814814
newBid.mediaType = VIDEO;
815815
} else {
816816
try {
@@ -896,7 +896,10 @@ function _assignRenderer(newBid, request) {
896896
for (let bidderRequestBidsIndex = 0; bidderRequestBidsIndex < request.bidderRequest.bids.length; bidderRequestBidsIndex++) {
897897
if (request.bidderRequest.bids[bidderRequestBidsIndex].bidId === newBid.requestId) {
898898
bidParams = request.bidderRequest.bids[bidderRequestBidsIndex].params;
899-
context = request.bidderRequest.bids[bidderRequestBidsIndex].mediaTypes[VIDEO].context;
899+
900+
if (FEATURES.VIDEO) {
901+
context = request.bidderRequest.bids[bidderRequestBidsIndex].mediaTypes[VIDEO].context;
902+
}
900903
adUnitCode = request.bidderRequest.bids[bidderRequestBidsIndex].adUnitCode;
901904
}
902905
}
@@ -916,7 +919,7 @@ function _assignRenderer(newBid, request) {
916919
* @returns
917920
*/
918921
export function assignDealTier(newBid, bid, request) {
919-
if (!bid?.ext?.prebiddealpriority) return;
922+
if (!bid?.ext?.prebiddealpriority || !FEATURES.VIDEO) return;
920923
const bidRequest = getBidRequest(newBid.requestId, [request.bidderRequest]);
921924
const videoObj = deepAccess(bidRequest, 'mediaTypes.video');
922925
if (videoObj?.context != ADPOD) return;
@@ -999,7 +1002,7 @@ export const spec = {
9991002
return false;
10001003
}
10011004
// video ad validation
1002-
if (bid.hasOwnProperty('mediaTypes') && bid.mediaTypes.hasOwnProperty(VIDEO)) {
1005+
if (FEATURES.VIDEO && bid.hasOwnProperty('mediaTypes') && bid.mediaTypes.hasOwnProperty(VIDEO)) {
10031006
// bid.mediaTypes.video.mimes OR bid.params.video.mimes should be present and must be a non-empty array
10041007
let mediaTypesVideoMimes = deepAccess(bid.mediaTypes, 'video.mimes');
10051008
let paramsVideoMimes = deepAccess(bid, 'params.video.mimes');
@@ -1284,7 +1287,7 @@ export const spec = {
12841287
switch (newBid.mediaType) {
12851288
case BANNER:
12861289
break;
1287-
case VIDEO:
1290+
case FEATURES.VIDEO && VIDEO:
12881291
newBid.width = bid.hasOwnProperty('w') ? bid.w : req.video.w;
12891292
newBid.height = bid.hasOwnProperty('h') ? bid.h : req.video.h;
12901293
newBid.vastXml = bid.adm;

0 commit comments

Comments
 (0)