@mparticle/web-rokt-kit 1.6.3 → 1.7.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.
@@ -33,6 +33,7 @@ var constructor = function () {
33
33
  self.filters = {};
34
34
  self.userAttributes = {};
35
35
  self.testHelpers = null;
36
+ self.placementEventMappingLookup = {};
36
37
 
37
38
  /**
38
39
  * Generates the Rokt launcher script URL with optional domain override and extensions
@@ -78,8 +79,16 @@ var constructor = function () {
78
79
  ) {
79
80
  var accountId = settings.accountId;
80
81
  var roktExtensions = extractRoktExtensions(settings.roktExtensions);
81
- self.userAttributes = filteredUserAttributes;
82
+ self.userAttributes = filteredUserAttributes || {};
82
83
  self.onboardingExpProvider = settings.onboardingExpProvider;
84
+
85
+ var placementEventMapping = parseSettingsString(
86
+ settings.placementEventMapping
87
+ );
88
+ self.placementEventMappingLookup = generateMappedEventLookup(
89
+ placementEventMapping
90
+ );
91
+
83
92
  var domain = window.mParticle.Rokt.domain;
84
93
  var launcherOptions = mergeObjects(
85
94
  {},
@@ -93,6 +102,9 @@ var constructor = function () {
93
102
  self.testHelpers = {
94
103
  generateLauncherScript: generateLauncherScript,
95
104
  extractRoktExtensions: extractRoktExtensions,
105
+ hashEventMessage: hashEventMessage,
106
+ parseSettingsString: parseSettingsString,
107
+ generateMappedEventLookup: generateMappedEventLookup,
96
108
  };
97
109
  attachLauncher(accountId, launcherOptions);
98
110
  return;
@@ -203,10 +215,20 @@ var constructor = function () {
203
215
 
204
216
  var filteredUserIdentities = returnUserIdentities(filteredUser);
205
217
 
218
+ var localSessionAttributes = {};
219
+
220
+ try {
221
+ localSessionAttributes =
222
+ window.mParticle.Rokt.getLocalSessionAttributes();
223
+ } catch (error) {
224
+ console.error('Error getting local session attributes:', error);
225
+ }
226
+
206
227
  var selectPlacementsAttributes = mergeObjects(
207
228
  filteredUserIdentities,
208
229
  replaceOtherWithEmailsha256(filteredAttributes),
209
230
  optimizelyAttributes,
231
+ localSessionAttributes,
210
232
  {
211
233
  mpid: mpid,
212
234
  }
@@ -235,6 +257,26 @@ var constructor = function () {
235
257
  window.Rokt.setExtensionData(partnerExtensionData);
236
258
  }
237
259
 
260
+ function processEvent(event) {
261
+ if (
262
+ !isKitReady() ||
263
+ typeof window.mParticle.Rokt.setLocalSessionAttribute !== 'function'
264
+ ) {
265
+ return;
266
+ }
267
+
268
+ var hashedEvent = hashEventMessage(
269
+ event.EventDataType,
270
+ event.EventCategory,
271
+ event.EventName
272
+ );
273
+
274
+ if (self.placementEventMappingLookup[hashedEvent]) {
275
+ var mappedValue = self.placementEventMappingLookup[hashedEvent];
276
+ window.mParticle.Rokt.setLocalSessionAttribute(mappedValue, true);
277
+ }
278
+ }
279
+
238
280
  function onUserIdentified(filteredUser) {
239
281
  self.filters.filteredUser = filteredUser;
240
282
  self.userAttributes = filteredUser.getAllUserAttributes();
@@ -334,6 +376,7 @@ var constructor = function () {
334
376
 
335
377
  // Kit Callback Methods
336
378
  this.init = initForwarder;
379
+ this.process = processEvent;
337
380
  this.setExtensionData = setExtensionData;
338
381
  this.setUserAttribute = setUserAttribute;
339
382
  this.onUserIdentified = onUserIdentified;
@@ -433,6 +476,25 @@ function extractRoktExtensions(settingsString) {
433
476
  return roktExtensions;
434
477
  }
435
478
 
479
+ function generateMappedEventLookup(placementEventMapping) {
480
+ if (!placementEventMapping) {
481
+ return {};
482
+ }
483
+
484
+ var mappedEvents = {};
485
+ for (var i = 0; i < placementEventMapping.length; i++) {
486
+ var mapping = placementEventMapping[i];
487
+ mappedEvents[mapping.jsmap] = mapping.value;
488
+ }
489
+ return mappedEvents;
490
+ }
491
+
492
+ function hashEventMessage(messageType, eventType, eventName) {
493
+ return window.mParticle.generateHash(
494
+ [messageType, eventType, eventName].join('')
495
+ );
496
+ }
497
+
436
498
  if (window && window.mParticle && window.mParticle.addForwarder) {
437
499
  window.mParticle.addForwarder({
438
500
  name: name,
@@ -32,6 +32,7 @@ var RoktKit = (function (exports) {
32
32
  self.filters = {};
33
33
  self.userAttributes = {};
34
34
  self.testHelpers = null;
35
+ self.placementEventMappingLookup = {};
35
36
 
36
37
  /**
37
38
  * Generates the Rokt launcher script URL with optional domain override and extensions
@@ -77,8 +78,16 @@ var RoktKit = (function (exports) {
77
78
  ) {
78
79
  var accountId = settings.accountId;
79
80
  var roktExtensions = extractRoktExtensions(settings.roktExtensions);
80
- self.userAttributes = filteredUserAttributes;
81
+ self.userAttributes = filteredUserAttributes || {};
81
82
  self.onboardingExpProvider = settings.onboardingExpProvider;
83
+
84
+ var placementEventMapping = parseSettingsString(
85
+ settings.placementEventMapping
86
+ );
87
+ self.placementEventMappingLookup = generateMappedEventLookup(
88
+ placementEventMapping
89
+ );
90
+
82
91
  var domain = window.mParticle.Rokt.domain;
83
92
  var launcherOptions = mergeObjects(
84
93
  {},
@@ -92,6 +101,9 @@ var RoktKit = (function (exports) {
92
101
  self.testHelpers = {
93
102
  generateLauncherScript: generateLauncherScript,
94
103
  extractRoktExtensions: extractRoktExtensions,
104
+ hashEventMessage: hashEventMessage,
105
+ parseSettingsString: parseSettingsString,
106
+ generateMappedEventLookup: generateMappedEventLookup,
95
107
  };
96
108
  attachLauncher(accountId, launcherOptions);
97
109
  return;
@@ -202,10 +214,20 @@ var RoktKit = (function (exports) {
202
214
 
203
215
  var filteredUserIdentities = returnUserIdentities(filteredUser);
204
216
 
217
+ var localSessionAttributes = {};
218
+
219
+ try {
220
+ localSessionAttributes =
221
+ window.mParticle.Rokt.getLocalSessionAttributes();
222
+ } catch (error) {
223
+ console.error('Error getting local session attributes:', error);
224
+ }
225
+
205
226
  var selectPlacementsAttributes = mergeObjects(
206
227
  filteredUserIdentities,
207
228
  replaceOtherWithEmailsha256(filteredAttributes),
208
229
  optimizelyAttributes,
230
+ localSessionAttributes,
209
231
  {
210
232
  mpid: mpid,
211
233
  }
@@ -234,6 +256,26 @@ var RoktKit = (function (exports) {
234
256
  window.Rokt.setExtensionData(partnerExtensionData);
235
257
  }
236
258
 
259
+ function processEvent(event) {
260
+ if (
261
+ !isKitReady() ||
262
+ typeof window.mParticle.Rokt.setLocalSessionAttribute !== 'function'
263
+ ) {
264
+ return;
265
+ }
266
+
267
+ var hashedEvent = hashEventMessage(
268
+ event.EventDataType,
269
+ event.EventCategory,
270
+ event.EventName
271
+ );
272
+
273
+ if (self.placementEventMappingLookup[hashedEvent]) {
274
+ var mappedValue = self.placementEventMappingLookup[hashedEvent];
275
+ window.mParticle.Rokt.setLocalSessionAttribute(mappedValue, true);
276
+ }
277
+ }
278
+
237
279
  function onUserIdentified(filteredUser) {
238
280
  self.filters.filteredUser = filteredUser;
239
281
  self.userAttributes = filteredUser.getAllUserAttributes();
@@ -333,6 +375,7 @@ var RoktKit = (function (exports) {
333
375
 
334
376
  // Kit Callback Methods
335
377
  this.init = initForwarder;
378
+ this.process = processEvent;
336
379
  this.setExtensionData = setExtensionData;
337
380
  this.setUserAttribute = setUserAttribute;
338
381
  this.onUserIdentified = onUserIdentified;
@@ -432,6 +475,25 @@ var RoktKit = (function (exports) {
432
475
  return roktExtensions;
433
476
  }
434
477
 
478
+ function generateMappedEventLookup(placementEventMapping) {
479
+ if (!placementEventMapping) {
480
+ return {};
481
+ }
482
+
483
+ var mappedEvents = {};
484
+ for (var i = 0; i < placementEventMapping.length; i++) {
485
+ var mapping = placementEventMapping[i];
486
+ mappedEvents[mapping.jsmap] = mapping.value;
487
+ }
488
+ return mappedEvents;
489
+ }
490
+
491
+ function hashEventMessage(messageType, eventType, eventName) {
492
+ return window.mParticle.generateHash(
493
+ [messageType, eventType, eventName].join('')
494
+ );
495
+ }
496
+
435
497
  if (window && window.mParticle && window.mParticle.addForwarder) {
436
498
  window.mParticle.addForwarder({
437
499
  name: name,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mparticle/web-rokt-kit",
3
- "version": "1.6.3",
3
+ "version": "1.7.0",
4
4
  "description": "mParticle integration kit for Rokt",
5
5
  "main": "dist/Rokt-Kit.common.js",
6
6
  "files": [