@mparticle/web-sdk 2.21.1 → 2.22.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/dist/mparticle.common.js +40 -34
- package/dist/mparticle.esm.js +40 -34
- package/dist/mparticle.js +250 -157
- package/package.json +3 -2
- package/src/apiClient.ts +8 -71
- package/src/configAPIClient.ts +19 -10
- package/src/consent.ts +6 -9
- package/src/constants.ts +1 -1
- package/src/forwarders.js +32 -21
- package/src/helpers.js +11 -6
- package/src/identity.js +27 -40
- package/src/kitFilterHelper.ts +47 -0
- package/src/mockBatchCreator.ts +2 -0
- package/src/mp-instance.js +0 -12
- package/src/mparticle-instance-manager.js +3 -0
- package/src/sdkRuntimeModels.ts +2 -1
- package/src/sideloadedKit.ts +124 -0
- package/src/store.ts +0 -7
- package/src/types.interfaces.ts +52 -0
package/dist/mparticle.js
CHANGED
|
@@ -219,7 +219,7 @@ var mParticle = (function () {
|
|
|
219
219
|
}
|
|
220
220
|
|
|
221
221
|
var _TriggerUploadType;
|
|
222
|
-
var MessageType$
|
|
222
|
+
var MessageType$2 = {
|
|
223
223
|
SessionStart: 1,
|
|
224
224
|
SessionEnd: 2,
|
|
225
225
|
PageView: 3,
|
|
@@ -236,7 +236,7 @@ var mParticle = (function () {
|
|
|
236
236
|
|
|
237
237
|
// Dictionary that contains MessageTypes that will
|
|
238
238
|
// trigger an immediate upload.
|
|
239
|
-
var TriggerUploadType = (_TriggerUploadType = {}, _defineProperty(_TriggerUploadType, MessageType$
|
|
239
|
+
var TriggerUploadType = (_TriggerUploadType = {}, _defineProperty(_TriggerUploadType, MessageType$2.Commerce, 1), _defineProperty(_TriggerUploadType, MessageType$2.UserAttributeChange, 1), _defineProperty(_TriggerUploadType, MessageType$2.UserIdentityChange, 1), _TriggerUploadType);
|
|
240
240
|
var EventType = {
|
|
241
241
|
Unknown: 0,
|
|
242
242
|
Navigation: 1,
|
|
@@ -314,7 +314,7 @@ var mParticle = (function () {
|
|
|
314
314
|
ProductRemoveFromWishlist: 21,
|
|
315
315
|
ProductImpression: 22
|
|
316
316
|
};
|
|
317
|
-
var IdentityType = {
|
|
317
|
+
var IdentityType$1 = {
|
|
318
318
|
Other: 0,
|
|
319
319
|
CustomerId: 1,
|
|
320
320
|
Facebook: 2,
|
|
@@ -337,11 +337,11 @@ var mParticle = (function () {
|
|
|
337
337
|
PhoneNumber2: 20,
|
|
338
338
|
PhoneNumber3: 21
|
|
339
339
|
};
|
|
340
|
-
IdentityType.isValid = function (identityType) {
|
|
340
|
+
IdentityType$1.isValid = function (identityType) {
|
|
341
341
|
if (typeof identityType === 'number') {
|
|
342
|
-
for (var prop in IdentityType) {
|
|
343
|
-
if (IdentityType.hasOwnProperty(prop)) {
|
|
344
|
-
if (IdentityType[prop] === identityType) {
|
|
342
|
+
for (var prop in IdentityType$1) {
|
|
343
|
+
if (IdentityType$1.hasOwnProperty(prop)) {
|
|
344
|
+
if (IdentityType$1[prop] === identityType) {
|
|
345
345
|
return true;
|
|
346
346
|
}
|
|
347
347
|
}
|
|
@@ -349,7 +349,7 @@ var mParticle = (function () {
|
|
|
349
349
|
}
|
|
350
350
|
return false;
|
|
351
351
|
};
|
|
352
|
-
IdentityType.getName = function (identityType) {
|
|
352
|
+
IdentityType$1.getName = function (identityType) {
|
|
353
353
|
switch (identityType) {
|
|
354
354
|
case window.mParticle.IdentityType.CustomerId:
|
|
355
355
|
return 'Customer ID';
|
|
@@ -371,97 +371,97 @@ var mParticle = (function () {
|
|
|
371
371
|
return 'Other ID';
|
|
372
372
|
}
|
|
373
373
|
};
|
|
374
|
-
IdentityType.getIdentityType = function (identityName) {
|
|
374
|
+
IdentityType$1.getIdentityType = function (identityName) {
|
|
375
375
|
switch (identityName) {
|
|
376
376
|
case 'other':
|
|
377
|
-
return IdentityType.Other;
|
|
377
|
+
return IdentityType$1.Other;
|
|
378
378
|
case 'customerid':
|
|
379
|
-
return IdentityType.CustomerId;
|
|
379
|
+
return IdentityType$1.CustomerId;
|
|
380
380
|
case 'facebook':
|
|
381
|
-
return IdentityType.Facebook;
|
|
381
|
+
return IdentityType$1.Facebook;
|
|
382
382
|
case 'twitter':
|
|
383
|
-
return IdentityType.Twitter;
|
|
383
|
+
return IdentityType$1.Twitter;
|
|
384
384
|
case 'google':
|
|
385
|
-
return IdentityType.Google;
|
|
385
|
+
return IdentityType$1.Google;
|
|
386
386
|
case 'microsoft':
|
|
387
|
-
return IdentityType.Microsoft;
|
|
387
|
+
return IdentityType$1.Microsoft;
|
|
388
388
|
case 'yahoo':
|
|
389
|
-
return IdentityType.Yahoo;
|
|
389
|
+
return IdentityType$1.Yahoo;
|
|
390
390
|
case 'email':
|
|
391
|
-
return IdentityType.Email;
|
|
391
|
+
return IdentityType$1.Email;
|
|
392
392
|
case 'facebookcustomaudienceid':
|
|
393
|
-
return IdentityType.FacebookCustomAudienceId;
|
|
393
|
+
return IdentityType$1.FacebookCustomAudienceId;
|
|
394
394
|
case 'other2':
|
|
395
|
-
return IdentityType.Other2;
|
|
395
|
+
return IdentityType$1.Other2;
|
|
396
396
|
case 'other3':
|
|
397
|
-
return IdentityType.Other3;
|
|
397
|
+
return IdentityType$1.Other3;
|
|
398
398
|
case 'other4':
|
|
399
|
-
return IdentityType.Other4;
|
|
399
|
+
return IdentityType$1.Other4;
|
|
400
400
|
case 'other5':
|
|
401
|
-
return IdentityType.Other5;
|
|
401
|
+
return IdentityType$1.Other5;
|
|
402
402
|
case 'other6':
|
|
403
|
-
return IdentityType.Other6;
|
|
403
|
+
return IdentityType$1.Other6;
|
|
404
404
|
case 'other7':
|
|
405
|
-
return IdentityType.Other7;
|
|
405
|
+
return IdentityType$1.Other7;
|
|
406
406
|
case 'other8':
|
|
407
|
-
return IdentityType.Other8;
|
|
407
|
+
return IdentityType$1.Other8;
|
|
408
408
|
case 'other9':
|
|
409
|
-
return IdentityType.Other9;
|
|
409
|
+
return IdentityType$1.Other9;
|
|
410
410
|
case 'other10':
|
|
411
|
-
return IdentityType.Other10;
|
|
411
|
+
return IdentityType$1.Other10;
|
|
412
412
|
case 'mobile_number':
|
|
413
|
-
return IdentityType.MobileNumber;
|
|
413
|
+
return IdentityType$1.MobileNumber;
|
|
414
414
|
case 'phone_number_2':
|
|
415
|
-
return IdentityType.PhoneNumber2;
|
|
415
|
+
return IdentityType$1.PhoneNumber2;
|
|
416
416
|
case 'phone_number_3':
|
|
417
|
-
return IdentityType.PhoneNumber3;
|
|
417
|
+
return IdentityType$1.PhoneNumber3;
|
|
418
418
|
default:
|
|
419
419
|
return false;
|
|
420
420
|
}
|
|
421
421
|
};
|
|
422
|
-
IdentityType.getIdentityName = function (identityType) {
|
|
422
|
+
IdentityType$1.getIdentityName = function (identityType) {
|
|
423
423
|
switch (identityType) {
|
|
424
|
-
case IdentityType.Other:
|
|
424
|
+
case IdentityType$1.Other:
|
|
425
425
|
return 'other';
|
|
426
|
-
case IdentityType.CustomerId:
|
|
426
|
+
case IdentityType$1.CustomerId:
|
|
427
427
|
return 'customerid';
|
|
428
|
-
case IdentityType.Facebook:
|
|
428
|
+
case IdentityType$1.Facebook:
|
|
429
429
|
return 'facebook';
|
|
430
|
-
case IdentityType.Twitter:
|
|
430
|
+
case IdentityType$1.Twitter:
|
|
431
431
|
return 'twitter';
|
|
432
|
-
case IdentityType.Google:
|
|
432
|
+
case IdentityType$1.Google:
|
|
433
433
|
return 'google';
|
|
434
|
-
case IdentityType.Microsoft:
|
|
434
|
+
case IdentityType$1.Microsoft:
|
|
435
435
|
return 'microsoft';
|
|
436
|
-
case IdentityType.Yahoo:
|
|
436
|
+
case IdentityType$1.Yahoo:
|
|
437
437
|
return 'yahoo';
|
|
438
|
-
case IdentityType.Email:
|
|
438
|
+
case IdentityType$1.Email:
|
|
439
439
|
return 'email';
|
|
440
|
-
case IdentityType.FacebookCustomAudienceId:
|
|
440
|
+
case IdentityType$1.FacebookCustomAudienceId:
|
|
441
441
|
return 'facebookcustomaudienceid';
|
|
442
|
-
case IdentityType.Other2:
|
|
442
|
+
case IdentityType$1.Other2:
|
|
443
443
|
return 'other2';
|
|
444
|
-
case IdentityType.Other3:
|
|
444
|
+
case IdentityType$1.Other3:
|
|
445
445
|
return 'other3';
|
|
446
|
-
case IdentityType.Other4:
|
|
446
|
+
case IdentityType$1.Other4:
|
|
447
447
|
return 'other4';
|
|
448
|
-
case IdentityType.Other5:
|
|
448
|
+
case IdentityType$1.Other5:
|
|
449
449
|
return 'other5';
|
|
450
|
-
case IdentityType.Other6:
|
|
450
|
+
case IdentityType$1.Other6:
|
|
451
451
|
return 'other6';
|
|
452
|
-
case IdentityType.Other7:
|
|
452
|
+
case IdentityType$1.Other7:
|
|
453
453
|
return 'other7';
|
|
454
|
-
case IdentityType.Other8:
|
|
454
|
+
case IdentityType$1.Other8:
|
|
455
455
|
return 'other8';
|
|
456
|
-
case IdentityType.Other9:
|
|
456
|
+
case IdentityType$1.Other9:
|
|
457
457
|
return 'other9';
|
|
458
|
-
case IdentityType.Other10:
|
|
458
|
+
case IdentityType$1.Other10:
|
|
459
459
|
return 'other10';
|
|
460
|
-
case IdentityType.MobileNumber:
|
|
460
|
+
case IdentityType$1.MobileNumber:
|
|
461
461
|
return 'mobile_number';
|
|
462
|
-
case IdentityType.PhoneNumber2:
|
|
462
|
+
case IdentityType$1.PhoneNumber2:
|
|
463
463
|
return 'phone_number_2';
|
|
464
|
-
case IdentityType.PhoneNumber3:
|
|
464
|
+
case IdentityType$1.PhoneNumber3:
|
|
465
465
|
return 'phone_number_3';
|
|
466
466
|
}
|
|
467
467
|
};
|
|
@@ -570,10 +570,10 @@ var mParticle = (function () {
|
|
|
570
570
|
Development: 'development'
|
|
571
571
|
};
|
|
572
572
|
var Types = {
|
|
573
|
-
MessageType: MessageType$
|
|
573
|
+
MessageType: MessageType$2,
|
|
574
574
|
EventType: EventType,
|
|
575
575
|
CommerceEventType: CommerceEventType,
|
|
576
|
-
IdentityType: IdentityType,
|
|
576
|
+
IdentityType: IdentityType$1,
|
|
577
577
|
ProfileMessageType: ProfileMessageType,
|
|
578
578
|
ApplicationTransitionType: ApplicationTransitionType$1,
|
|
579
579
|
ProductActionType: ProductActionType,
|
|
@@ -582,7 +582,7 @@ var mParticle = (function () {
|
|
|
582
582
|
Environment: Environment
|
|
583
583
|
};
|
|
584
584
|
|
|
585
|
-
var version = "2.
|
|
585
|
+
var version = "2.22.0";
|
|
586
586
|
|
|
587
587
|
var Constants = {
|
|
588
588
|
sdkVersion: version,
|
|
@@ -730,11 +730,11 @@ var mParticle = (function () {
|
|
|
730
730
|
},
|
|
731
731
|
FeatureFlags: {
|
|
732
732
|
ReportBatching: 'reportBatching',
|
|
733
|
-
EventsV3: 'eventsV3',
|
|
734
733
|
EventBatchingIntervalMillis: 'eventBatchingIntervalMillis',
|
|
735
734
|
OfflineStorage: 'offlineStorage'
|
|
736
735
|
},
|
|
737
|
-
DefaultInstance: 'default_instance'
|
|
736
|
+
DefaultInstance: 'default_instance',
|
|
737
|
+
CCPAPurpose: 'data_sale_opt_out'
|
|
738
738
|
};
|
|
739
739
|
|
|
740
740
|
function _typeof(obj) {
|
|
@@ -2391,7 +2391,6 @@ var mParticle = (function () {
|
|
|
2391
2391
|
return XHRUploader;
|
|
2392
2392
|
}(AsyncUploader);
|
|
2393
2393
|
|
|
2394
|
-
var Messages$9 = Constants.Messages;
|
|
2395
2394
|
function APIClient(mpInstance, kitBlocker) {
|
|
2396
2395
|
this.uploader = null;
|
|
2397
2396
|
var self = this;
|
|
@@ -2403,16 +2402,6 @@ var mParticle = (function () {
|
|
|
2403
2402
|
this.uploader.queueEvent(event);
|
|
2404
2403
|
mpInstance._Persistence.update();
|
|
2405
2404
|
};
|
|
2406
|
-
this.shouldEnableBatching = function () {
|
|
2407
|
-
// Returns a string of a number that must be parsed
|
|
2408
|
-
// Invalid strings will be parsed to NaN which is falsey
|
|
2409
|
-
var eventsV3Percentage = parseInt(mpInstance._Helpers.getFeatureFlag(Constants.FeatureFlags.EventsV3), 10);
|
|
2410
|
-
if (!eventsV3Percentage) {
|
|
2411
|
-
return false;
|
|
2412
|
-
}
|
|
2413
|
-
var rampNumber = getRampNumber(mpInstance._Store.deviceId);
|
|
2414
|
-
return eventsV3Percentage >= rampNumber;
|
|
2415
|
-
};
|
|
2416
2405
|
this.processQueuedEvents = function () {
|
|
2417
2406
|
var mpid,
|
|
2418
2407
|
currentUser = mpInstance.Identity.getCurrentUser();
|
|
@@ -2458,14 +2447,13 @@ var mParticle = (function () {
|
|
|
2458
2447
|
return;
|
|
2459
2448
|
}
|
|
2460
2449
|
this.processQueuedEvents();
|
|
2461
|
-
if (event
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
}
|
|
2450
|
+
if (isEmpty(event)) {
|
|
2451
|
+
return;
|
|
2452
|
+
}
|
|
2453
|
+
if (options.shouldUploadEvent) {
|
|
2454
|
+
this.queueEventForBatchUpload(event);
|
|
2467
2455
|
}
|
|
2468
|
-
if (event
|
|
2456
|
+
if (event.EventName !== Types.MessageType.AppStateTransition) {
|
|
2469
2457
|
if (kitBlocker && kitBlocker.kitBlockingEnabled) {
|
|
2470
2458
|
event = kitBlocker.createBlockedEvent(event);
|
|
2471
2459
|
}
|
|
@@ -2476,32 +2464,6 @@ var mParticle = (function () {
|
|
|
2476
2464
|
}
|
|
2477
2465
|
}
|
|
2478
2466
|
};
|
|
2479
|
-
this.sendSingleEventToServer = function (event) {
|
|
2480
|
-
if (event.EventDataType === Types.MessageType.Media) {
|
|
2481
|
-
return;
|
|
2482
|
-
}
|
|
2483
|
-
var xhr,
|
|
2484
|
-
xhrCallback = function xhrCallback() {
|
|
2485
|
-
if (xhr.readyState === 4) {
|
|
2486
|
-
mpInstance.Logger.verbose('Received ' + xhr.statusText + ' from server');
|
|
2487
|
-
mpInstance._Persistence.update();
|
|
2488
|
-
}
|
|
2489
|
-
};
|
|
2490
|
-
if (!event) {
|
|
2491
|
-
mpInstance.Logger.error(Messages$9.ErrorMessages.EventEmpty);
|
|
2492
|
-
return;
|
|
2493
|
-
}
|
|
2494
|
-
mpInstance.Logger.verbose(Messages$9.InformationMessages.SendHttp);
|
|
2495
|
-
xhr = mpInstance._Helpers.createXHR(xhrCallback);
|
|
2496
|
-
if (xhr) {
|
|
2497
|
-
try {
|
|
2498
|
-
xhr.open('post', mpInstance._Helpers.createServiceUrl(mpInstance._Store.SDKConfig.v2SecureServiceUrl, mpInstance._Store.devToken) + '/Events');
|
|
2499
|
-
xhr.send(JSON.stringify(mpInstance._ServerModel.convertEventToV2DTO(event)));
|
|
2500
|
-
} catch (e) {
|
|
2501
|
-
mpInstance.Logger.error('Error sending event to mParticle servers. ' + e);
|
|
2502
|
-
}
|
|
2503
|
-
}
|
|
2504
|
-
};
|
|
2505
2467
|
this.sendBatchForwardingStatsToServer = function (forwardingStatsData, xhr) {
|
|
2506
2468
|
var url;
|
|
2507
2469
|
var data;
|
|
@@ -2658,6 +2620,43 @@ var mParticle = (function () {
|
|
|
2658
2620
|
}
|
|
2659
2621
|
};
|
|
2660
2622
|
|
|
2623
|
+
var KitFilterHelper = /** @class */function () {
|
|
2624
|
+
function KitFilterHelper() {}
|
|
2625
|
+
KitFilterHelper.hashEventType = function (eventType) {
|
|
2626
|
+
return generateHash(eventType);
|
|
2627
|
+
};
|
|
2628
|
+
KitFilterHelper.hashEventName = function (eventName, eventType) {
|
|
2629
|
+
return generateHash(eventType + eventName);
|
|
2630
|
+
};
|
|
2631
|
+
KitFilterHelper.hashEventAttributeKey = function (eventType, eventName, customAttributeName) {
|
|
2632
|
+
return generateHash(eventType + eventName + customAttributeName);
|
|
2633
|
+
};
|
|
2634
|
+
KitFilterHelper.hashUserAttribute = function (userAttributeKey) {
|
|
2635
|
+
return generateHash(userAttributeKey);
|
|
2636
|
+
};
|
|
2637
|
+
// User Identities are not actually hashed, this method is named this way to
|
|
2638
|
+
// be consistent with the filter class. UserIdentityType is also a number
|
|
2639
|
+
KitFilterHelper.hashUserIdentity = function (userIdentity) {
|
|
2640
|
+
return userIdentity;
|
|
2641
|
+
};
|
|
2642
|
+
KitFilterHelper.hashConsentPurpose = function (prefix, purpose) {
|
|
2643
|
+
return generateHash(prefix + purpose);
|
|
2644
|
+
};
|
|
2645
|
+
// The methods below are for conditional forwarding, a type of filter
|
|
2646
|
+
// hashAttributeCondiitonalForwarding is used for both User and Event
|
|
2647
|
+
// attribute keys and attribute values
|
|
2648
|
+
// The backend returns the hashes as strings for conditional forwarding
|
|
2649
|
+
// but returns "regular" filters as arrays of numbers
|
|
2650
|
+
// See IFilteringEventAttributeValue in configApiClient.ts as an example
|
|
2651
|
+
KitFilterHelper.hashAttributeConditionalForwarding = function (attribute) {
|
|
2652
|
+
return generateHash(attribute).toString();
|
|
2653
|
+
};
|
|
2654
|
+
KitFilterHelper.hashConsentPurposeConditionalForwarding = function (prefix, purpose) {
|
|
2655
|
+
return this.hashConsentPurpose(prefix, purpose).toString();
|
|
2656
|
+
};
|
|
2657
|
+
return KitFilterHelper;
|
|
2658
|
+
}();
|
|
2659
|
+
|
|
2661
2660
|
var StorageNames$1 = Constants.StorageNames;
|
|
2662
2661
|
function Helpers(mpInstance) {
|
|
2663
2662
|
var self = this;
|
|
@@ -2887,7 +2886,7 @@ var mParticle = (function () {
|
|
|
2887
2886
|
if (userIdentitiesObject && Object.keys(userIdentitiesObject).length) {
|
|
2888
2887
|
for (var userIdentityName in userIdentitiesObject) {
|
|
2889
2888
|
if (userIdentitiesObject.hasOwnProperty(userIdentityName)) {
|
|
2890
|
-
var userIdentityType = Types.IdentityType.getIdentityType(userIdentityName);
|
|
2889
|
+
var userIdentityType = KitFilterHelper.hashUserIdentity(Types.IdentityType.getIdentityType(userIdentityName));
|
|
2891
2890
|
if (!self.inArray(filterList, userIdentityType)) {
|
|
2892
2891
|
filteredUserIdentities[userIdentityName] = userIdentitiesObject[userIdentityName];
|
|
2893
2892
|
}
|
|
@@ -2901,7 +2900,7 @@ var mParticle = (function () {
|
|
|
2901
2900
|
if (userAttributes && Object.keys(userAttributes).length) {
|
|
2902
2901
|
for (var userAttribute in userAttributes) {
|
|
2903
2902
|
if (userAttributes.hasOwnProperty(userAttribute)) {
|
|
2904
|
-
var hashedUserAttribute =
|
|
2903
|
+
var hashedUserAttribute = KitFilterHelper.hashUserAttribute(userAttribute);
|
|
2905
2904
|
if (!self.inArray(filterList, hashedUserAttribute)) {
|
|
2906
2905
|
filteredUserAttributes[userAttribute] = userAttributes[userAttribute];
|
|
2907
2906
|
}
|
|
@@ -2911,7 +2910,7 @@ var mParticle = (function () {
|
|
|
2911
2910
|
return filteredUserAttributes;
|
|
2912
2911
|
};
|
|
2913
2912
|
this.isFilteredUserAttribute = function (userAttributeKey, filterList) {
|
|
2914
|
-
var hashedUserAttribute =
|
|
2913
|
+
var hashedUserAttribute = KitFilterHelper.hashUserAttribute(userAttributeKey);
|
|
2915
2914
|
return filterList && self.inArray(filterList, hashedUserAttribute);
|
|
2916
2915
|
};
|
|
2917
2916
|
this.isEventType = function (type) {
|
|
@@ -3963,9 +3962,6 @@ var mParticle = (function () {
|
|
|
3963
3962
|
if (!config.hasOwnProperty('flags')) {
|
|
3964
3963
|
this.SDKConfig.flags = {};
|
|
3965
3964
|
}
|
|
3966
|
-
if (!this.SDKConfig.flags.hasOwnProperty(Constants.FeatureFlags.EventsV3)) {
|
|
3967
|
-
this.SDKConfig.flags[Constants.FeatureFlags.EventsV3] = 0;
|
|
3968
|
-
}
|
|
3969
3965
|
if (!this.SDKConfig.flags.hasOwnProperty(Constants.FeatureFlags.EventBatchingIntervalMillis)) {
|
|
3970
3966
|
this.SDKConfig.flags[Constants.FeatureFlags.EventBatchingIntervalMillis] = Constants.DefaultConfig.uploadInterval;
|
|
3971
3967
|
}
|
|
@@ -5240,8 +5236,8 @@ var mParticle = (function () {
|
|
|
5240
5236
|
if (userAttributes && mpInstance._Helpers.isObject(userAttributes) && Object.keys(userAttributes).length) {
|
|
5241
5237
|
for (var attrName in userAttributes) {
|
|
5242
5238
|
if (userAttributes.hasOwnProperty(attrName)) {
|
|
5243
|
-
attrHash =
|
|
5244
|
-
valueHash =
|
|
5239
|
+
attrHash = KitFilterHelper.hashAttributeConditionalForwarding(attrName);
|
|
5240
|
+
valueHash = KitFilterHelper.hashAttributeConditionalForwarding(userAttributes[attrName]);
|
|
5245
5241
|
if (attrHash === filterObject.userAttributeName && valueHash === filterObject.userAttributeValue) {
|
|
5246
5242
|
isMatch = true;
|
|
5247
5243
|
break;
|
|
@@ -5291,7 +5287,7 @@ var mParticle = (function () {
|
|
|
5291
5287
|
filterUserIdentities = function filterUserIdentities(event, filterList) {
|
|
5292
5288
|
if (event.UserIdentities && event.UserIdentities.length) {
|
|
5293
5289
|
event.UserIdentities.forEach(function (userIdentity, i) {
|
|
5294
|
-
if (mpInstance._Helpers.inArray(filterList, userIdentity.Type)) {
|
|
5290
|
+
if (mpInstance._Helpers.inArray(filterList, KitFilterHelper.hashUserIdentity(userIdentity.Type))) {
|
|
5295
5291
|
event.UserIdentities.splice(i, 1);
|
|
5296
5292
|
if (i > 0) {
|
|
5297
5293
|
i--;
|
|
@@ -5307,7 +5303,7 @@ var mParticle = (function () {
|
|
|
5307
5303
|
}
|
|
5308
5304
|
for (var attrName in event.EventAttributes) {
|
|
5309
5305
|
if (event.EventAttributes.hasOwnProperty(attrName)) {
|
|
5310
|
-
hash =
|
|
5306
|
+
hash = KitFilterHelper.hashEventAttributeKey(event.EventCategory, event.EventName, attrName);
|
|
5311
5307
|
if (mpInstance._Helpers.inArray(filterList, hash)) {
|
|
5312
5308
|
delete event.EventAttributes[attrName];
|
|
5313
5309
|
}
|
|
@@ -5324,8 +5320,8 @@ var mParticle = (function () {
|
|
|
5324
5320
|
},
|
|
5325
5321
|
forwardingRuleMessageTypes = [Types.MessageType.PageEvent, Types.MessageType.PageView, Types.MessageType.Commerce];
|
|
5326
5322
|
if (!mpInstance._Store.webviewBridgeEnabled && mpInstance._Store.activeForwarders) {
|
|
5327
|
-
hashedEventName =
|
|
5328
|
-
hashedEventType =
|
|
5323
|
+
hashedEventName = KitFilterHelper.hashEventName(event.EventName, event.EventCategory);
|
|
5324
|
+
hashedEventType = KitFilterHelper.hashEventType(event.EventCategory);
|
|
5329
5325
|
for (var i = 0; i < mpInstance._Store.activeForwarders.length; i++) {
|
|
5330
5326
|
// Check attribute forwarding rule. This rule allows users to only forward an event if a
|
|
5331
5327
|
// specific attribute exists and has a specific value. Alternatively, they can specify
|
|
@@ -5340,11 +5336,11 @@ var mParticle = (function () {
|
|
|
5340
5336
|
if (event.EventAttributes) {
|
|
5341
5337
|
for (var prop in event.EventAttributes) {
|
|
5342
5338
|
var hashedEventAttributeName;
|
|
5343
|
-
hashedEventAttributeName =
|
|
5339
|
+
hashedEventAttributeName = KitFilterHelper.hashAttributeConditionalForwarding(prop);
|
|
5344
5340
|
if (hashedEventAttributeName === mpInstance._Store.activeForwarders[i].filteringEventAttributeValue.eventAttributeName) {
|
|
5345
5341
|
foundProp = {
|
|
5346
5342
|
name: hashedEventAttributeName,
|
|
5347
|
-
value:
|
|
5343
|
+
value: KitFilterHelper.hashAttributeConditionalForwarding(event.EventAttributes[prop])
|
|
5348
5344
|
};
|
|
5349
5345
|
}
|
|
5350
5346
|
if (foundProp) {
|
|
@@ -5561,7 +5557,11 @@ var mParticle = (function () {
|
|
|
5561
5557
|
// which is typed { kits: Dictionary<constructor> }.
|
|
5562
5558
|
// The constructors are keyed by the name of the kit.
|
|
5563
5559
|
config.sideloadedKits.forEach(function (sideloadedKit) {
|
|
5564
|
-
|
|
5560
|
+
try {
|
|
5561
|
+
sideloadedKit.kitInstance.register(sideloadedKits);
|
|
5562
|
+
} catch (e) {
|
|
5563
|
+
console.error('Error registering sideloaded kit ' + sideloadedKit.kitInstance.name);
|
|
5564
|
+
}
|
|
5565
5565
|
});
|
|
5566
5566
|
|
|
5567
5567
|
// Then configure each kit
|
|
@@ -5625,7 +5625,7 @@ var mParticle = (function () {
|
|
|
5625
5625
|
}
|
|
5626
5626
|
|
|
5627
5627
|
// TODO: This file is no longer the server model because the web SDK payload
|
|
5628
|
-
var MessageType = Types.MessageType;
|
|
5628
|
+
var MessageType$1 = Types.MessageType;
|
|
5629
5629
|
var ApplicationTransitionType = Types.ApplicationTransitionType;
|
|
5630
5630
|
// TODO: Make this a pure function that returns a new object
|
|
5631
5631
|
function convertCustomFlags(event, dto) {
|
|
@@ -5811,7 +5811,7 @@ var mParticle = (function () {
|
|
|
5811
5811
|
CurrencyCode: mpInstance._Store.currencyCode,
|
|
5812
5812
|
DataPlan: mpInstance._Store.SDKConfig.dataPlan ? mpInstance._Store.SDKConfig.dataPlan : {}
|
|
5813
5813
|
};
|
|
5814
|
-
if (eventObject.EventDataType === MessageType.AppStateTransition) {
|
|
5814
|
+
if (eventObject.EventDataType === MessageType$1.AppStateTransition) {
|
|
5815
5815
|
eventObject.IsFirstRun = mpInstance._Store.isFirstRun;
|
|
5816
5816
|
eventObject.LaunchReferral = window.location.href || null;
|
|
5817
5817
|
}
|
|
@@ -5871,7 +5871,7 @@ var mParticle = (function () {
|
|
|
5871
5871
|
if (consent) {
|
|
5872
5872
|
dto.con = consent;
|
|
5873
5873
|
}
|
|
5874
|
-
if (event.EventDataType === MessageType.AppStateTransition) {
|
|
5874
|
+
if (event.EventDataType === MessageType$1.AppStateTransition) {
|
|
5875
5875
|
dto.fr = event.IsFirstRun;
|
|
5876
5876
|
dto.iu = false;
|
|
5877
5877
|
dto.at = ApplicationTransitionType.AppInit;
|
|
@@ -5883,7 +5883,7 @@ var mParticle = (function () {
|
|
|
5883
5883
|
if (event.CustomFlags) {
|
|
5884
5884
|
convertCustomFlags(event, dto);
|
|
5885
5885
|
}
|
|
5886
|
-
if (event.EventDataType === MessageType.Commerce) {
|
|
5886
|
+
if (event.EventDataType === MessageType$1.Commerce) {
|
|
5887
5887
|
dto.cu = event.CurrencyCode;
|
|
5888
5888
|
// TODO: If Cart is deprecated, we should deprecate this too
|
|
5889
5889
|
if (event.ShoppingCart) {
|
|
@@ -5924,7 +5924,7 @@ var mParticle = (function () {
|
|
|
5924
5924
|
};
|
|
5925
5925
|
});
|
|
5926
5926
|
}
|
|
5927
|
-
} else if (event.EventDataType === MessageType.Profile) {
|
|
5927
|
+
} else if (event.EventDataType === MessageType$1.Profile) {
|
|
5928
5928
|
dto.pet = event.ProfileMessageType;
|
|
5929
5929
|
}
|
|
5930
5930
|
return dto;
|
|
@@ -6617,25 +6617,24 @@ var mParticle = (function () {
|
|
|
6617
6617
|
cookies[mpid].ua = userAttributes;
|
|
6618
6618
|
mpInstance._Persistence.savePersistence(cookies, mpid);
|
|
6619
6619
|
}
|
|
6620
|
-
|
|
6621
|
-
|
|
6622
|
-
|
|
6623
|
-
|
|
6624
|
-
|
|
6625
|
-
|
|
6626
|
-
|
|
6627
|
-
|
|
6628
|
-
|
|
6629
|
-
|
|
6630
|
-
|
|
6631
|
-
|
|
6632
|
-
|
|
6633
|
-
}
|
|
6620
|
+
|
|
6621
|
+
// If the new attributeList length is different previous, then there is a change event.
|
|
6622
|
+
// Loop through new attributes list, see if they are all in the same index as previous user attributes list
|
|
6623
|
+
// If there are any changes, break, and immediately send a userAttributeChangeEvent with full array as a value
|
|
6624
|
+
if (!previousUserAttributeValue || !Array.isArray(previousUserAttributeValue)) {
|
|
6625
|
+
userAttributeChange = true;
|
|
6626
|
+
} else if (newValue.length !== previousUserAttributeValue.length) {
|
|
6627
|
+
userAttributeChange = true;
|
|
6628
|
+
} else {
|
|
6629
|
+
for (var i = 0; i < newValue.length; i++) {
|
|
6630
|
+
if (previousUserAttributeValue[i] !== newValue[i]) {
|
|
6631
|
+
userAttributeChange = true;
|
|
6632
|
+
break;
|
|
6634
6633
|
}
|
|
6635
6634
|
}
|
|
6636
|
-
|
|
6637
|
-
|
|
6638
|
-
|
|
6635
|
+
}
|
|
6636
|
+
if (userAttributeChange) {
|
|
6637
|
+
self.sendUserAttributeChangeEvent(key, newValue, previousUserAttributeValue, isNewAttribute, false, this);
|
|
6639
6638
|
}
|
|
6640
6639
|
mpInstance._Forwarders.initForwarders(self.IdentityAPI.getCurrentUser().getUserIdentities(), mpInstance._APIClient.prepareForwardingStats);
|
|
6641
6640
|
mpInstance._Forwarders.handleForwarderUserAttributes('setUserAttribute', key, arrayCopy);
|
|
@@ -6969,9 +6968,6 @@ var mParticle = (function () {
|
|
|
6969
6968
|
|
|
6970
6969
|
this.sendUserIdentityChangeEvent = function (newUserIdentities, method, mpid, prevUserIdentities) {
|
|
6971
6970
|
var currentUserInMemory, userIdentityChangeEvent;
|
|
6972
|
-
if (!mpInstance._APIClient.shouldEnableBatching()) {
|
|
6973
|
-
return;
|
|
6974
|
-
}
|
|
6975
6971
|
if (!mpid) {
|
|
6976
6972
|
if (method !== 'modify') {
|
|
6977
6973
|
return;
|
|
@@ -7007,9 +7003,6 @@ var mParticle = (function () {
|
|
|
7007
7003
|
return userIdentityChangeEvent;
|
|
7008
7004
|
};
|
|
7009
7005
|
this.sendUserAttributeChangeEvent = function (attributeKey, newUserAttributeValue, previousUserAttributeValue, isNewAttribute, deleted, user) {
|
|
7010
|
-
if (!mpInstance._APIClient.shouldEnableBatching()) {
|
|
7011
|
-
return;
|
|
7012
|
-
}
|
|
7013
7006
|
var userAttributeChangeEvent = self.createUserAttributeChange(attributeKey, newUserAttributeValue, previousUserAttributeValue, isNewAttribute, deleted, user);
|
|
7014
7007
|
if (userAttributeChangeEvent) {
|
|
7015
7008
|
mpInstance._APIClient.sendEventToServer(userAttributeChangeEvent);
|
|
@@ -7036,8 +7029,7 @@ var mParticle = (function () {
|
|
|
7036
7029
|
};
|
|
7037
7030
|
}
|
|
7038
7031
|
|
|
7039
|
-
|
|
7040
|
-
var CCPAPurpose = 'data_sale_opt_out';
|
|
7032
|
+
var CCPAPurpose = Constants.CCPAPurpose;
|
|
7041
7033
|
function Consent(mpInstance) {
|
|
7042
7034
|
var self = this;
|
|
7043
7035
|
// this function is called when consent is required to
|
|
@@ -7058,19 +7050,19 @@ var mParticle = (function () {
|
|
|
7058
7050
|
// GDPR - '1' + purpose name
|
|
7059
7051
|
// CCPA - '2data_sale_opt_out' (there is only 1 purpose of data_sale_opt_out for CCPA)
|
|
7060
7052
|
var GDPRConsentHashPrefix = '1';
|
|
7061
|
-
var
|
|
7053
|
+
var CCPAHashPrefix = '2';
|
|
7062
7054
|
var gdprConsentState = consentState.getGDPRConsentState();
|
|
7063
7055
|
if (gdprConsentState) {
|
|
7064
7056
|
for (var purpose in gdprConsentState) {
|
|
7065
7057
|
if (gdprConsentState.hasOwnProperty(purpose)) {
|
|
7066
|
-
purposeHash =
|
|
7058
|
+
purposeHash = KitFilterHelper.hashConsentPurposeConditionalForwarding(GDPRConsentHashPrefix, purpose);
|
|
7067
7059
|
purposeHashes[purposeHash] = gdprConsentState[purpose].Consented;
|
|
7068
7060
|
}
|
|
7069
7061
|
}
|
|
7070
7062
|
}
|
|
7071
7063
|
var CCPAConsentState = consentState.getCCPAConsentState();
|
|
7072
7064
|
if (CCPAConsentState) {
|
|
7073
|
-
purposeHash =
|
|
7065
|
+
purposeHash = KitFilterHelper.hashConsentPurposeConditionalForwarding(CCPAHashPrefix, CCPAPurpose);
|
|
7074
7066
|
purposeHashes[purposeHash] = CCPAConsentState.Consented;
|
|
7075
7067
|
}
|
|
7076
7068
|
}
|
|
@@ -8850,14 +8842,6 @@ var mParticle = (function () {
|
|
|
8850
8842
|
mpInstance._APIClient = new APIClient(mpInstance, kitBlocker);
|
|
8851
8843
|
mpInstance._Forwarders = new Forwarders(mpInstance, kitBlocker);
|
|
8852
8844
|
if (config.flags) {
|
|
8853
|
-
if (config.flags.hasOwnProperty(Constants.FeatureFlags.EventsV3)) {
|
|
8854
|
-
// TODO: Remove this after 8/12/2022
|
|
8855
|
-
if (config.flags[Constants.FeatureFlags.EventsV3] !== '100') {
|
|
8856
|
-
var message = 'mParticle will be enabling Event Batching for all customers on July 12, 2022. ' + 'For more details, please see our docs: https://docs.mparticle.com/developers/sdk/web/getting-started/';
|
|
8857
|
-
mpInstance.Logger.warning(message);
|
|
8858
|
-
}
|
|
8859
|
-
mpInstance._Store.SDKConfig.flags[Constants.FeatureFlags.EventsV3] = config.flags[Constants.FeatureFlags.EventsV3];
|
|
8860
|
-
}
|
|
8861
8845
|
if (config.flags.hasOwnProperty(Constants.FeatureFlags.EventBatchingIntervalMillis)) {
|
|
8862
8846
|
mpInstance._Store.SDKConfig.flags[Constants.FeatureFlags.EventBatchingIntervalMillis] = config.flags[Constants.FeatureFlags.EventBatchingIntervalMillis];
|
|
8863
8847
|
}
|
|
@@ -9091,6 +9075,7 @@ var mParticle = (function () {
|
|
|
9091
9075
|
},
|
|
9092
9076
|
_resetForTests: mockFunction,
|
|
9093
9077
|
_APIClient: null,
|
|
9078
|
+
MPSideloadedKit: null,
|
|
9094
9079
|
_Consent: null,
|
|
9095
9080
|
_Forwarders: null,
|
|
9096
9081
|
_NativeSdkHelpers: null,
|
|
@@ -9192,6 +9177,113 @@ var mParticle = (function () {
|
|
|
9192
9177
|
return _BatchValidator;
|
|
9193
9178
|
}();
|
|
9194
9179
|
|
|
9180
|
+
var EventTypeEnum;
|
|
9181
|
+
(function (EventTypeEnum) {
|
|
9182
|
+
EventTypeEnum[EventTypeEnum["Unknown"] = 0] = "Unknown";
|
|
9183
|
+
EventTypeEnum[EventTypeEnum["Navigation"] = 1] = "Navigation";
|
|
9184
|
+
EventTypeEnum[EventTypeEnum["Location"] = 2] = "Location";
|
|
9185
|
+
EventTypeEnum[EventTypeEnum["Search"] = 3] = "Search";
|
|
9186
|
+
EventTypeEnum[EventTypeEnum["Transaction"] = 4] = "Transaction";
|
|
9187
|
+
EventTypeEnum[EventTypeEnum["UserContent"] = 5] = "UserContent";
|
|
9188
|
+
EventTypeEnum[EventTypeEnum["UserPreference"] = 6] = "UserPreference";
|
|
9189
|
+
EventTypeEnum[EventTypeEnum["Social"] = 7] = "Social";
|
|
9190
|
+
EventTypeEnum[EventTypeEnum["Other"] = 8] = "Other";
|
|
9191
|
+
EventTypeEnum[EventTypeEnum["Media"] = 9] = "Media";
|
|
9192
|
+
})(EventTypeEnum || (EventTypeEnum = {}));
|
|
9193
|
+
// TODO: https://mparticle-eng.atlassian.net/browse/SQDSDKS-5403
|
|
9194
|
+
var MessageType;
|
|
9195
|
+
(function (MessageType) {
|
|
9196
|
+
MessageType[MessageType["SessionStart"] = 1] = "SessionStart";
|
|
9197
|
+
MessageType[MessageType["SessionEnd"] = 2] = "SessionEnd";
|
|
9198
|
+
MessageType[MessageType["PageView"] = 3] = "PageView";
|
|
9199
|
+
MessageType[MessageType["PageEvent"] = 4] = "PageEvent";
|
|
9200
|
+
MessageType[MessageType["CrashReport"] = 5] = "CrashReport";
|
|
9201
|
+
MessageType[MessageType["OptOut"] = 6] = "OptOut";
|
|
9202
|
+
MessageType[MessageType["AppStateTransition"] = 10] = "AppStateTransition";
|
|
9203
|
+
MessageType[MessageType["Profile"] = 14] = "Profile";
|
|
9204
|
+
MessageType[MessageType["Commerce"] = 16] = "Commerce";
|
|
9205
|
+
MessageType[MessageType["UserAttributeChange"] = 17] = "UserAttributeChange";
|
|
9206
|
+
MessageType[MessageType["UserIdentityChange"] = 18] = "UserIdentityChange";
|
|
9207
|
+
MessageType[MessageType["Media"] = 20] = "Media";
|
|
9208
|
+
})(MessageType || (MessageType = {}));
|
|
9209
|
+
var IdentityType;
|
|
9210
|
+
(function (IdentityType) {
|
|
9211
|
+
IdentityType[IdentityType["Other"] = 0] = "Other";
|
|
9212
|
+
IdentityType[IdentityType["CustomerId"] = 1] = "CustomerId";
|
|
9213
|
+
IdentityType[IdentityType["Facebook"] = 2] = "Facebook";
|
|
9214
|
+
IdentityType[IdentityType["Twitter"] = 3] = "Twitter";
|
|
9215
|
+
IdentityType[IdentityType["Google"] = 4] = "Google";
|
|
9216
|
+
IdentityType[IdentityType["Microsoft"] = 5] = "Microsoft";
|
|
9217
|
+
IdentityType[IdentityType["Yahoo"] = 6] = "Yahoo";
|
|
9218
|
+
IdentityType[IdentityType["Email"] = 7] = "Email";
|
|
9219
|
+
IdentityType[IdentityType["FacebookCustomAudienceId"] = 9] = "FacebookCustomAudienceId";
|
|
9220
|
+
IdentityType[IdentityType["Other2"] = 10] = "Other2";
|
|
9221
|
+
IdentityType[IdentityType["Other3"] = 11] = "Other3";
|
|
9222
|
+
IdentityType[IdentityType["Other4"] = 12] = "Other4";
|
|
9223
|
+
IdentityType[IdentityType["Other5"] = 13] = "Other5";
|
|
9224
|
+
IdentityType[IdentityType["Other6"] = 14] = "Other6";
|
|
9225
|
+
IdentityType[IdentityType["Other7"] = 15] = "Other7";
|
|
9226
|
+
IdentityType[IdentityType["Other8"] = 16] = "Other8";
|
|
9227
|
+
IdentityType[IdentityType["Other9"] = 17] = "Other9";
|
|
9228
|
+
IdentityType[IdentityType["Other10"] = 18] = "Other10";
|
|
9229
|
+
IdentityType[IdentityType["MobileNumber"] = 19] = "MobileNumber";
|
|
9230
|
+
IdentityType[IdentityType["PhoneNumber2"] = 20] = "PhoneNumber2";
|
|
9231
|
+
IdentityType[IdentityType["PhoneNumber3"] = 21] = "PhoneNumber3";
|
|
9232
|
+
})(IdentityType || (IdentityType = {}));
|
|
9233
|
+
|
|
9234
|
+
var MPSideloadedKit = /** @class */function () {
|
|
9235
|
+
function MPSideloadedKit(unregisteredKitInstance) {
|
|
9236
|
+
this.filterDictionary = {
|
|
9237
|
+
eventTypeFilters: [],
|
|
9238
|
+
eventNameFilters: [],
|
|
9239
|
+
screenNameFilters: [],
|
|
9240
|
+
screenAttributeFilters: [],
|
|
9241
|
+
userIdentityFilters: [],
|
|
9242
|
+
userAttributeFilters: [],
|
|
9243
|
+
attributeFilters: [],
|
|
9244
|
+
consentRegulationFilters: [],
|
|
9245
|
+
consentRegulationPurposeFilters: [],
|
|
9246
|
+
messageTypeFilters: [],
|
|
9247
|
+
messageTypeStateFilters: [],
|
|
9248
|
+
// The below filtering members are optional, but we instantiate them
|
|
9249
|
+
// to simplify public method assignment
|
|
9250
|
+
filteringEventAttributeValue: {},
|
|
9251
|
+
filteringUserAttributeValue: {},
|
|
9252
|
+
filteringConsentRuleValues: {}
|
|
9253
|
+
};
|
|
9254
|
+
this.kitInstance = unregisteredKitInstance;
|
|
9255
|
+
}
|
|
9256
|
+
MPSideloadedKit.prototype.addEventTypeFilter = function (eventType) {
|
|
9257
|
+
var hashedEventType = KitFilterHelper.hashEventType(eventType);
|
|
9258
|
+
this.filterDictionary.eventTypeFilters.push(hashedEventType);
|
|
9259
|
+
};
|
|
9260
|
+
MPSideloadedKit.prototype.addEventNameFilter = function (eventType, eventName) {
|
|
9261
|
+
var hashedEventName = KitFilterHelper.hashEventName(eventName, eventType);
|
|
9262
|
+
this.filterDictionary.eventNameFilters.push(hashedEventName);
|
|
9263
|
+
};
|
|
9264
|
+
MPSideloadedKit.prototype.addEventAttributeFilter = function (eventType, eventName, customAttributeKey) {
|
|
9265
|
+
var hashedEventAttribute = KitFilterHelper.hashEventAttributeKey(eventType, eventName, customAttributeKey);
|
|
9266
|
+
this.filterDictionary.attributeFilters.push(hashedEventAttribute);
|
|
9267
|
+
};
|
|
9268
|
+
MPSideloadedKit.prototype.addScreenNameFilter = function (screenName) {
|
|
9269
|
+
var hashedScreenName = KitFilterHelper.hashEventName(screenName, EventTypeEnum.Unknown);
|
|
9270
|
+
this.filterDictionary.screenNameFilters.push(hashedScreenName);
|
|
9271
|
+
};
|
|
9272
|
+
MPSideloadedKit.prototype.addScreenAttributeFilter = function (screenName, screenAttribute) {
|
|
9273
|
+
var hashedScreenAttribute = KitFilterHelper.hashEventAttributeKey(EventTypeEnum.Unknown, screenName, screenAttribute);
|
|
9274
|
+
this.filterDictionary.screenAttributeFilters.push(hashedScreenAttribute);
|
|
9275
|
+
};
|
|
9276
|
+
MPSideloadedKit.prototype.addUserIdentityFilter = function (userIdentity) {
|
|
9277
|
+
var hashedIdentityType = KitFilterHelper.hashUserIdentity(userIdentity);
|
|
9278
|
+
this.filterDictionary.userIdentityFilters.push(hashedIdentityType);
|
|
9279
|
+
};
|
|
9280
|
+
MPSideloadedKit.prototype.addUserAttributeFilter = function (userAttributeKey) {
|
|
9281
|
+
var hashedUserAttributeKey = KitFilterHelper.hashUserAttribute(userAttributeKey);
|
|
9282
|
+
this.filterDictionary.userAttributeFilters.push(hashedUserAttributeKey);
|
|
9283
|
+
};
|
|
9284
|
+
return MPSideloadedKit;
|
|
9285
|
+
}();
|
|
9286
|
+
|
|
9195
9287
|
if (!Array.prototype.forEach) {
|
|
9196
9288
|
Array.prototype.forEach = Polyfill.forEach;
|
|
9197
9289
|
}
|
|
@@ -9214,6 +9306,7 @@ var mParticle = (function () {
|
|
|
9214
9306
|
this.CommerceEventType = Types.CommerceEventType;
|
|
9215
9307
|
this.PromotionType = Types.PromotionActionType;
|
|
9216
9308
|
this.ProductActionType = Types.ProductActionType;
|
|
9309
|
+
this.MPSideloadedKit = MPSideloadedKit;
|
|
9217
9310
|
if (typeof window !== 'undefined') {
|
|
9218
9311
|
this.isIOS = window.mParticle && window.mParticle.isIOS ? window.mParticle.isIOS : false;
|
|
9219
9312
|
this.config = window.mParticle && window.mParticle.config ? window.mParticle.config : {};
|