Skip to content

Commit 775a88a

Browse files
chore(build): Generate latest bundle [skip ci]
1 parent 613d790 commit 775a88a

2 files changed

Lines changed: 126 additions & 2 deletions

File tree

dist/Rokt-Kit.common.js

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ var constructor = function () {
3333
self.filters = {};
3434
self.userAttributes = {};
3535
self.testHelpers = null;
36+
self.placementEventMappingLookup = {};
3637

3738
/**
3839
* Generates the Rokt launcher script URL with optional domain override and extensions
@@ -78,8 +79,16 @@ var constructor = function () {
7879
) {
7980
var accountId = settings.accountId;
8081
var roktExtensions = extractRoktExtensions(settings.roktExtensions);
81-
self.userAttributes = filteredUserAttributes;
82+
self.userAttributes = filteredUserAttributes || {};
8283
self.onboardingExpProvider = settings.onboardingExpProvider;
84+
85+
var placementEventMapping = parseSettingsString(
86+
settings.placementEventMapping
87+
);
88+
self.placementEventMappingLookup = generateMappedEventLookup(
89+
placementEventMapping
90+
);
91+
8392
var domain = window.mParticle.Rokt.domain;
8493
var launcherOptions = mergeObjects(
8594
{},
@@ -93,6 +102,9 @@ var constructor = function () {
93102
self.testHelpers = {
94103
generateLauncherScript: generateLauncherScript,
95104
extractRoktExtensions: extractRoktExtensions,
105+
hashEventMessage: hashEventMessage,
106+
parseSettingsString: parseSettingsString,
107+
generateMappedEventLookup: generateMappedEventLookup,
96108
};
97109
attachLauncher(accountId, launcherOptions);
98110
return;
@@ -203,10 +215,20 @@ var constructor = function () {
203215

204216
var filteredUserIdentities = returnUserIdentities(filteredUser);
205217

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+
206227
var selectPlacementsAttributes = mergeObjects(
207228
filteredUserIdentities,
208229
replaceOtherWithEmailsha256(filteredAttributes),
209230
optimizelyAttributes,
231+
localSessionAttributes,
210232
{
211233
mpid: mpid,
212234
}
@@ -235,6 +257,26 @@ var constructor = function () {
235257
window.Rokt.setExtensionData(partnerExtensionData);
236258
}
237259

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+
238280
function onUserIdentified(filteredUser) {
239281
self.filters.filteredUser = filteredUser;
240282
self.userAttributes = filteredUser.getAllUserAttributes();
@@ -334,6 +376,7 @@ var constructor = function () {
334376

335377
// Kit Callback Methods
336378
this.init = initForwarder;
379+
this.process = processEvent;
337380
this.setExtensionData = setExtensionData;
338381
this.setUserAttribute = setUserAttribute;
339382
this.onUserIdentified = onUserIdentified;
@@ -433,6 +476,25 @@ function extractRoktExtensions(settingsString) {
433476
return roktExtensions;
434477
}
435478

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+
436498
if (window && window.mParticle && window.mParticle.addForwarder) {
437499
window.mParticle.addForwarder({
438500
name: name,

dist/Rokt-Kit.iife.js

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ var RoktKit = (function (exports) {
3232
self.filters = {};
3333
self.userAttributes = {};
3434
self.testHelpers = null;
35+
self.placementEventMappingLookup = {};
3536

3637
/**
3738
* Generates the Rokt launcher script URL with optional domain override and extensions
@@ -77,8 +78,16 @@ var RoktKit = (function (exports) {
7778
) {
7879
var accountId = settings.accountId;
7980
var roktExtensions = extractRoktExtensions(settings.roktExtensions);
80-
self.userAttributes = filteredUserAttributes;
81+
self.userAttributes = filteredUserAttributes || {};
8182
self.onboardingExpProvider = settings.onboardingExpProvider;
83+
84+
var placementEventMapping = parseSettingsString(
85+
settings.placementEventMapping
86+
);
87+
self.placementEventMappingLookup = generateMappedEventLookup(
88+
placementEventMapping
89+
);
90+
8291
var domain = window.mParticle.Rokt.domain;
8392
var launcherOptions = mergeObjects(
8493
{},
@@ -92,6 +101,9 @@ var RoktKit = (function (exports) {
92101
self.testHelpers = {
93102
generateLauncherScript: generateLauncherScript,
94103
extractRoktExtensions: extractRoktExtensions,
104+
hashEventMessage: hashEventMessage,
105+
parseSettingsString: parseSettingsString,
106+
generateMappedEventLookup: generateMappedEventLookup,
95107
};
96108
attachLauncher(accountId, launcherOptions);
97109
return;
@@ -202,10 +214,20 @@ var RoktKit = (function (exports) {
202214

203215
var filteredUserIdentities = returnUserIdentities(filteredUser);
204216

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+
205226
var selectPlacementsAttributes = mergeObjects(
206227
filteredUserIdentities,
207228
replaceOtherWithEmailsha256(filteredAttributes),
208229
optimizelyAttributes,
230+
localSessionAttributes,
209231
{
210232
mpid: mpid,
211233
}
@@ -234,6 +256,26 @@ var RoktKit = (function (exports) {
234256
window.Rokt.setExtensionData(partnerExtensionData);
235257
}
236258

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+
237279
function onUserIdentified(filteredUser) {
238280
self.filters.filteredUser = filteredUser;
239281
self.userAttributes = filteredUser.getAllUserAttributes();
@@ -333,6 +375,7 @@ var RoktKit = (function (exports) {
333375

334376
// Kit Callback Methods
335377
this.init = initForwarder;
378+
this.process = processEvent;
336379
this.setExtensionData = setExtensionData;
337380
this.setUserAttribute = setUserAttribute;
338381
this.onUserIdentified = onUserIdentified;
@@ -432,6 +475,25 @@ var RoktKit = (function (exports) {
432475
return roktExtensions;
433476
}
434477

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+
435497
if (window && window.mParticle && window.mParticle.addForwarder) {
436498
window.mParticle.addForwarder({
437499
name: name,

0 commit comments

Comments
 (0)