@constructor-io/constructorio-client-javascript 2.73.1 → 2.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/modules/tracker.js +55 -4
- package/lib/types/tracker.d.ts +7 -0
- package/lib/utils/helpers.js +7 -0
- package/lib/version.js +1 -1
- package/package.json +1 -1
package/lib/modules/tracker.js
CHANGED
|
@@ -1315,10 +1315,7 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1315
1315
|
var networkParameters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1316
1316
|
// Ensure parameters are provided (required)
|
|
1317
1317
|
if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
|
|
1318
|
-
var baseUrl =
|
|
1319
|
-
if (!baseUrl.hostname.startsWith('behavior')) {
|
|
1320
|
-
baseUrl.hostname = "behavior.".concat(baseUrl.hostname);
|
|
1321
|
-
}
|
|
1318
|
+
var baseUrl = helpers.getBehaviorUrl(this.options.mediaServiceUrl);
|
|
1322
1319
|
var requestPath = "".concat(baseUrl.toString(), "v2/ad_behavioral_action/display_ad_view?");
|
|
1323
1320
|
var bodyParams = {};
|
|
1324
1321
|
var bannerAdId = parameters.bannerAdId,
|
|
@@ -1346,6 +1343,60 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1346
1343
|
return new Error('parameters are required of type object');
|
|
1347
1344
|
}
|
|
1348
1345
|
|
|
1346
|
+
/**
|
|
1347
|
+
* Send media impression click event to API
|
|
1348
|
+
*
|
|
1349
|
+
* @function trackMediaImpressionClick
|
|
1350
|
+
* @param {object} parameters - Additional parameters to be sent with request
|
|
1351
|
+
* @param {string} parameters.bannerAdId - Banner ad identifier
|
|
1352
|
+
* @param {string} parameters.placementId - Placement identifier
|
|
1353
|
+
* @param {object} [parameters.analyticsTags] - Pass additional analytics data
|
|
1354
|
+
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
1355
|
+
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
1356
|
+
* @returns {(true|Error)}
|
|
1357
|
+
* @description User clicked a media banner
|
|
1358
|
+
* @example
|
|
1359
|
+
* constructorio.tracker.trackMediaImpressionClick(
|
|
1360
|
+
* {
|
|
1361
|
+
* bannerAdId: 'banner_ad_id',
|
|
1362
|
+
* placementId: 'placement_id',
|
|
1363
|
+
* },
|
|
1364
|
+
* );
|
|
1365
|
+
*/
|
|
1366
|
+
}, {
|
|
1367
|
+
key: "trackMediaImpressionClick",
|
|
1368
|
+
value: function trackMediaImpressionClick(parameters) {
|
|
1369
|
+
var networkParameters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1370
|
+
// Ensure required parameters are provided
|
|
1371
|
+
if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
|
|
1372
|
+
var baseUrl = helpers.getBehaviorUrl(this.options.mediaServiceUrl);
|
|
1373
|
+
var requestPath = "".concat(baseUrl.toString(), "v2/ad_behavioral_action/display_ad_click?");
|
|
1374
|
+
var bodyParams = {};
|
|
1375
|
+
var bannerAdId = parameters.bannerAdId,
|
|
1376
|
+
placementId = parameters.placementId,
|
|
1377
|
+
analyticsTags = parameters.analyticsTags;
|
|
1378
|
+
if (!helpers.isNil(bannerAdId)) {
|
|
1379
|
+
bodyParams.banner_ad_id = bannerAdId;
|
|
1380
|
+
}
|
|
1381
|
+
if (!helpers.isNil(placementId)) {
|
|
1382
|
+
bodyParams.placement_id = placementId;
|
|
1383
|
+
}
|
|
1384
|
+
if (!helpers.isNil(analyticsTags)) {
|
|
1385
|
+
bodyParams.analytics_tags = analyticsTags;
|
|
1386
|
+
}
|
|
1387
|
+
var requestURL = "".concat(requestPath).concat(applyParamsAsString({}, this.options));
|
|
1388
|
+
var requestMethod = 'POST';
|
|
1389
|
+
var requestBody = applyParams(bodyParams, _objectSpread(_objectSpread({}, this.options), {}, {
|
|
1390
|
+
requestMethod: requestMethod
|
|
1391
|
+
}));
|
|
1392
|
+
this.requests.queue(requestURL, requestMethod, requestBody, networkParameters);
|
|
1393
|
+
this.requests.send();
|
|
1394
|
+
return true;
|
|
1395
|
+
}
|
|
1396
|
+
this.requests.send();
|
|
1397
|
+
return new Error('parameters are required of type object');
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1349
1400
|
/**
|
|
1350
1401
|
* Send recommendation click event to API
|
|
1351
1402
|
*
|
package/lib/types/tracker.d.ts
CHANGED
|
@@ -444,5 +444,12 @@ declare class Tracker {
|
|
|
444
444
|
}, networkParameters?: NetworkParameters
|
|
445
445
|
): true | Error;
|
|
446
446
|
|
|
447
|
+
trackMediaImpressionClick(parameters: {
|
|
448
|
+
bannerAdId: string;
|
|
449
|
+
placementId: string;
|
|
450
|
+
analyticsTags?: Record<string, string>;
|
|
451
|
+
}, networkParameters?: NetworkParameters
|
|
452
|
+
): true | Error;
|
|
453
|
+
|
|
447
454
|
on(messageType: string, callback: Function): true | Error;
|
|
448
455
|
}
|
package/lib/utils/helpers.js
CHANGED
|
@@ -338,6 +338,13 @@ var utils = {
|
|
|
338
338
|
},
|
|
339
339
|
truncateString: function truncateString(string, maxLength) {
|
|
340
340
|
return string.slice(0, maxLength);
|
|
341
|
+
},
|
|
342
|
+
getBehaviorUrl: function getBehaviorUrl(mediaServiceUrl) {
|
|
343
|
+
var baseUrl = new URL(mediaServiceUrl);
|
|
344
|
+
if (!baseUrl.hostname.startsWith('behavior')) {
|
|
345
|
+
baseUrl.hostname = "behavior.".concat(baseUrl.hostname);
|
|
346
|
+
}
|
|
347
|
+
return baseUrl;
|
|
341
348
|
}
|
|
342
349
|
};
|
|
343
350
|
module.exports = utils;
|
package/lib/version.js
CHANGED