@mparticle/web-sdk 2.28.2 → 2.29.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 +69 -45
- package/dist/mparticle.esm.js +69 -45
- package/dist/mparticle.js +407 -116
- package/package.json +1 -1
- package/src/aliasRequestApiClient.ts +89 -0
- package/src/constants.ts +8 -1
- package/src/identity.interfaces.ts +10 -1
- package/src/identity.js +2 -3
- package/src/identityApiClient.js +3 -53
- package/src/integrationCapture.ts +153 -0
- package/src/mp-instance.js +7 -1
- package/src/sdkRuntimeModels.ts +12 -1
- package/src/serverModel.ts +14 -1
- package/src/store.ts +2 -0
- package/src/uploaders.ts +10 -5
- package/src/utils.ts +105 -3
package/dist/mparticle.js
CHANGED
|
@@ -393,7 +393,7 @@ var mParticle = (function () {
|
|
|
393
393
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
394
394
|
};
|
|
395
395
|
|
|
396
|
-
var version = "2.
|
|
396
|
+
var version = "2.29.0";
|
|
397
397
|
|
|
398
398
|
var Constants = {
|
|
399
399
|
sdkVersion: version,
|
|
@@ -552,7 +552,8 @@ var mParticle = (function () {
|
|
|
552
552
|
OfflineStorage: 'offlineStorage',
|
|
553
553
|
DirectUrlRouting: 'directURLRouting',
|
|
554
554
|
CacheIdentity: 'cacheIdentity',
|
|
555
|
-
AudienceAPI: 'audienceAPI'
|
|
555
|
+
AudienceAPI: 'audienceAPI',
|
|
556
|
+
CaptureIntegrationSpecificIds: 'captureIntegrationSpecificIds'
|
|
556
557
|
},
|
|
557
558
|
DefaultInstance: 'default_instance',
|
|
558
559
|
CCPAPurpose: 'data_sale_opt_out',
|
|
@@ -566,9 +567,11 @@ var mParticle = (function () {
|
|
|
566
567
|
// https://go.mparticle.com/work/SQDSDKS-6080
|
|
567
568
|
var ONE_DAY_IN_SECONDS = 60 * 60 * 24;
|
|
568
569
|
var MILLIS_IN_ONE_SEC = 1000;
|
|
570
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
|
|
571
|
+
var HTTP_OK = 200;
|
|
572
|
+
var HTTP_ACCEPTED = 202;
|
|
569
573
|
|
|
570
|
-
var Messages$
|
|
571
|
-
var HTTP_SUCCESS = 200;
|
|
574
|
+
var Messages$a = Constants.Messages;
|
|
572
575
|
var createCookieString = function createCookieString(value) {
|
|
573
576
|
return replaceCommasWithPipes(replaceQuotesWithApostrophes(value));
|
|
574
577
|
};
|
|
@@ -599,10 +602,10 @@ var mParticle = (function () {
|
|
|
599
602
|
return null;
|
|
600
603
|
};
|
|
601
604
|
var generateDeprecationMessage = function generateDeprecationMessage(methodName, alternateMethod) {
|
|
602
|
-
var messageArray = [methodName, Messages$
|
|
605
|
+
var messageArray = [methodName, Messages$a.DeprecationMessages.MethodIsDeprecatedPostfix];
|
|
603
606
|
if (alternateMethod) {
|
|
604
607
|
messageArray.push(alternateMethod);
|
|
605
|
-
messageArray.push(Messages$
|
|
608
|
+
messageArray.push(Messages$a.DeprecationMessages.MethodIsDeprecatedPostfix);
|
|
606
609
|
}
|
|
607
610
|
return messageArray.join(' ');
|
|
608
611
|
};
|
|
@@ -753,6 +756,91 @@ var mParticle = (function () {
|
|
|
753
756
|
var moveElementToEnd = function moveElementToEnd(array, index) {
|
|
754
757
|
return array.slice(0, index).concat(array.slice(index + 1), array[index]);
|
|
755
758
|
};
|
|
759
|
+
var queryStringParser = function queryStringParser(url, keys) {
|
|
760
|
+
if (keys === void 0) {
|
|
761
|
+
keys = [];
|
|
762
|
+
}
|
|
763
|
+
var urlParams;
|
|
764
|
+
var results = {};
|
|
765
|
+
if (!url) return results;
|
|
766
|
+
if (typeof URL !== 'undefined' && typeof URLSearchParams !== 'undefined') {
|
|
767
|
+
var urlObject = new URL(url);
|
|
768
|
+
urlParams = new URLSearchParams(urlObject.search);
|
|
769
|
+
} else {
|
|
770
|
+
urlParams = queryStringParserFallback(url);
|
|
771
|
+
}
|
|
772
|
+
if (isEmpty(keys)) {
|
|
773
|
+
urlParams.forEach(function (value, key) {
|
|
774
|
+
results[key] = value;
|
|
775
|
+
});
|
|
776
|
+
} else {
|
|
777
|
+
keys.forEach(function (key) {
|
|
778
|
+
var value = urlParams.get(key);
|
|
779
|
+
if (value) {
|
|
780
|
+
results[key] = value;
|
|
781
|
+
}
|
|
782
|
+
});
|
|
783
|
+
}
|
|
784
|
+
return results;
|
|
785
|
+
};
|
|
786
|
+
var queryStringParserFallback = function queryStringParserFallback(url) {
|
|
787
|
+
var params = {};
|
|
788
|
+
var queryString = url.split('?')[1] || '';
|
|
789
|
+
var pairs = queryString.split('&');
|
|
790
|
+
pairs.forEach(function (pair) {
|
|
791
|
+
var _a = pair.split('='),
|
|
792
|
+
key = _a[0],
|
|
793
|
+
value = _a[1];
|
|
794
|
+
if (key && value) {
|
|
795
|
+
params[key] = decodeURIComponent(value || '');
|
|
796
|
+
}
|
|
797
|
+
});
|
|
798
|
+
return {
|
|
799
|
+
get: function get(key) {
|
|
800
|
+
return params[key];
|
|
801
|
+
},
|
|
802
|
+
forEach: function forEach(callback) {
|
|
803
|
+
for (var key in params) {
|
|
804
|
+
if (params.hasOwnProperty(key)) {
|
|
805
|
+
callback(params[key], key);
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
};
|
|
810
|
+
};
|
|
811
|
+
// Get cookies as a dictionary
|
|
812
|
+
var getCookies = function getCookies(keys) {
|
|
813
|
+
// Helper function to parse cookies from document.cookie
|
|
814
|
+
var parseCookies = function parseCookies() {
|
|
815
|
+
if (typeof window === 'undefined') {
|
|
816
|
+
return [];
|
|
817
|
+
}
|
|
818
|
+
return window.document.cookie.split(';').map(function (cookie) {
|
|
819
|
+
return cookie.trim();
|
|
820
|
+
});
|
|
821
|
+
};
|
|
822
|
+
// Helper function to filter cookies by keys
|
|
823
|
+
var filterCookies = function filterCookies(cookies, keys) {
|
|
824
|
+
var results = {};
|
|
825
|
+
for (var _i = 0, cookies_1 = cookies; _i < cookies_1.length; _i++) {
|
|
826
|
+
var cookie = cookies_1[_i];
|
|
827
|
+
var _a = cookie.split('='),
|
|
828
|
+
key = _a[0],
|
|
829
|
+
value = _a[1];
|
|
830
|
+
if (!keys || keys.includes(key)) {
|
|
831
|
+
results[key] = value;
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
return results;
|
|
835
|
+
};
|
|
836
|
+
// Parse cookies from document.cookie
|
|
837
|
+
var parsedCookies = parseCookies();
|
|
838
|
+
// Filter cookies by keys if provided
|
|
839
|
+
return filterCookies(parsedCookies, keys);
|
|
840
|
+
};
|
|
841
|
+
var getHref = function getHref() {
|
|
842
|
+
return typeof window !== 'undefined' && window.location ? window.location.href : '';
|
|
843
|
+
};
|
|
756
844
|
|
|
757
845
|
function getNewIdentitiesByName(newIdentitiesByType) {
|
|
758
846
|
var newIdentitiesByName = {};
|
|
@@ -2121,6 +2209,7 @@ var mParticle = (function () {
|
|
|
2121
2209
|
// 2 HEADERS_RECEIVED send() has been called, and headers and status are available.
|
|
2122
2210
|
// 3 LOADING Downloading; responseText holds partial data.
|
|
2123
2211
|
// 4 DONE The operation is complete.
|
|
2212
|
+
// https://go.mparticle.com/work/SQDSDKS-6736
|
|
2124
2213
|
XHRUploader.prototype.makeRequest = function (url, data, method) {
|
|
2125
2214
|
if (method === void 0) {
|
|
2126
2215
|
method = 'post';
|
|
@@ -2133,11 +2222,13 @@ var mParticle = (function () {
|
|
|
2133
2222
|
xhr.onreadystatechange = function () {
|
|
2134
2223
|
if (xhr.readyState !== 4) return;
|
|
2135
2224
|
// Process the response
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2225
|
+
// We resolve all xhr responses whose ready state is 4 regardless of HTTP codes that may be errors (400+)
|
|
2226
|
+
// because these are valid HTTP responses.
|
|
2227
|
+
resolve(xhr);
|
|
2228
|
+
};
|
|
2229
|
+
// Reject a promise only when there is an xhr error
|
|
2230
|
+
xhr.onerror = function () {
|
|
2231
|
+
reject(xhr);
|
|
2141
2232
|
};
|
|
2142
2233
|
xhr.open(method, url);
|
|
2143
2234
|
xhr.send(data);
|
|
@@ -3060,7 +3151,7 @@ var mParticle = (function () {
|
|
|
3060
3151
|
this.Validators = Validators;
|
|
3061
3152
|
}
|
|
3062
3153
|
|
|
3063
|
-
var Messages$
|
|
3154
|
+
var Messages$9 = Constants.Messages;
|
|
3064
3155
|
var androidBridgeNameBase = 'mParticleAndroid';
|
|
3065
3156
|
var iosBridgeNameBase = 'mParticle';
|
|
3066
3157
|
function NativeSdkHelpers(mpInstance) {
|
|
@@ -3143,10 +3234,10 @@ var mParticle = (function () {
|
|
|
3143
3234
|
};
|
|
3144
3235
|
this.sendViaBridgeV1 = function (path, value) {
|
|
3145
3236
|
if (window.mParticleAndroid && window.mParticleAndroid.hasOwnProperty(path)) {
|
|
3146
|
-
mpInstance.Logger.verbose(Messages$
|
|
3237
|
+
mpInstance.Logger.verbose(Messages$9.InformationMessages.SendAndroid + path);
|
|
3147
3238
|
window.mParticleAndroid[path](value);
|
|
3148
3239
|
} else if (mpInstance._Store.SDKConfig.isIOS) {
|
|
3149
|
-
mpInstance.Logger.verbose(Messages$
|
|
3240
|
+
mpInstance.Logger.verbose(Messages$9.InformationMessages.SendIOS + path);
|
|
3150
3241
|
self.sendViaIframeToIOS(path, value);
|
|
3151
3242
|
}
|
|
3152
3243
|
};
|
|
@@ -3172,23 +3263,23 @@ var mParticle = (function () {
|
|
|
3172
3263
|
iOSBridgeNonMessageHandler = mpInstance[iosBridgeName];
|
|
3173
3264
|
}
|
|
3174
3265
|
if (androidBridge && androidBridge.hasOwnProperty(path)) {
|
|
3175
|
-
mpInstance.Logger.verbose(Messages$
|
|
3266
|
+
mpInstance.Logger.verbose(Messages$9.InformationMessages.SendAndroid + path);
|
|
3176
3267
|
androidBridge[path](value);
|
|
3177
3268
|
return;
|
|
3178
3269
|
} else if (iOSBridgeMessageHandler) {
|
|
3179
|
-
mpInstance.Logger.verbose(Messages$
|
|
3270
|
+
mpInstance.Logger.verbose(Messages$9.InformationMessages.SendIOS + path);
|
|
3180
3271
|
iOSBridgeMessageHandler.postMessage(JSON.stringify({
|
|
3181
3272
|
path: path,
|
|
3182
3273
|
value: value ? JSON.parse(value) : null
|
|
3183
3274
|
}));
|
|
3184
3275
|
} else if (iOSBridgeNonMessageHandler) {
|
|
3185
|
-
mpInstance.Logger.verbose(Messages$
|
|
3276
|
+
mpInstance.Logger.verbose(Messages$9.InformationMessages.SendIOS + path);
|
|
3186
3277
|
self.sendViaIframeToIOS(path, value);
|
|
3187
3278
|
}
|
|
3188
3279
|
};
|
|
3189
3280
|
}
|
|
3190
3281
|
|
|
3191
|
-
var Messages$
|
|
3282
|
+
var Messages$8 = Constants.Messages;
|
|
3192
3283
|
function cookieSyncManager(mpInstance) {
|
|
3193
3284
|
var self = this;
|
|
3194
3285
|
|
|
@@ -3297,7 +3388,7 @@ var mParticle = (function () {
|
|
|
3297
3388
|
// function polls the user object and consent multiple times.
|
|
3298
3389
|
if (mpInstance._Consent.isEnabledForUserConsent(filteringConsentRuleValues, mpInstance.Identity.getCurrentUser())) {
|
|
3299
3390
|
var img = document.createElement('img');
|
|
3300
|
-
mpInstance.Logger.verbose(Messages$
|
|
3391
|
+
mpInstance.Logger.verbose(Messages$8.InformationMessages.CookieSync);
|
|
3301
3392
|
img.onload = function () {
|
|
3302
3393
|
// TODO: Break this out into a convenience method so we can unit test
|
|
3303
3394
|
cookieSyncDates[moduleId.toString()] = new Date().getTime();
|
|
@@ -3308,7 +3399,7 @@ var mParticle = (function () {
|
|
|
3308
3399
|
};
|
|
3309
3400
|
}
|
|
3310
3401
|
|
|
3311
|
-
var Messages$
|
|
3402
|
+
var Messages$7 = Constants.Messages;
|
|
3312
3403
|
function SessionManager(mpInstance) {
|
|
3313
3404
|
var self = this;
|
|
3314
3405
|
this.initialize = function () {
|
|
@@ -3339,7 +3430,7 @@ var mParticle = (function () {
|
|
|
3339
3430
|
return mpInstance._Store.sessionId;
|
|
3340
3431
|
};
|
|
3341
3432
|
this.startNewSession = function () {
|
|
3342
|
-
mpInstance.Logger.verbose(Messages$
|
|
3433
|
+
mpInstance.Logger.verbose(Messages$7.InformationMessages.StartingNewSession);
|
|
3343
3434
|
if (mpInstance._Helpers.canLog()) {
|
|
3344
3435
|
mpInstance._Store.sessionId = mpInstance._Helpers.generateUniqueId().toUpperCase();
|
|
3345
3436
|
var currentUser = mpInstance.Identity.getCurrentUser();
|
|
@@ -3362,12 +3453,12 @@ var mParticle = (function () {
|
|
|
3362
3453
|
messageType: Types.MessageType.SessionStart
|
|
3363
3454
|
});
|
|
3364
3455
|
} else {
|
|
3365
|
-
mpInstance.Logger.verbose(Messages$
|
|
3456
|
+
mpInstance.Logger.verbose(Messages$7.InformationMessages.AbandonStartSession);
|
|
3366
3457
|
}
|
|
3367
3458
|
};
|
|
3368
3459
|
this.endSession = function (override) {
|
|
3369
3460
|
var _a;
|
|
3370
|
-
mpInstance.Logger.verbose(Messages$
|
|
3461
|
+
mpInstance.Logger.verbose(Messages$7.InformationMessages.StartingEndSession);
|
|
3371
3462
|
if (override) {
|
|
3372
3463
|
mpInstance._Events.logEvent({
|
|
3373
3464
|
messageType: Types.MessageType.SessionEnd
|
|
@@ -3380,14 +3471,14 @@ var mParticle = (function () {
|
|
|
3380
3471
|
// - the SDK's store is not enabled because mParticle.setOptOut was called
|
|
3381
3472
|
// - the devToken is undefined
|
|
3382
3473
|
// - webviewBridgeEnabled is set to false
|
|
3383
|
-
mpInstance.Logger.verbose(Messages$
|
|
3474
|
+
mpInstance.Logger.verbose(Messages$7.InformationMessages.AbandonEndSession);
|
|
3384
3475
|
return;
|
|
3385
3476
|
}
|
|
3386
3477
|
var sessionTimeoutInMilliseconds;
|
|
3387
3478
|
var timeSinceLastEventSent;
|
|
3388
3479
|
var cookies = mpInstance._Persistence.getPersistence();
|
|
3389
3480
|
if (!cookies || cookies.gs && !cookies.gs.sid) {
|
|
3390
|
-
mpInstance.Logger.verbose(Messages$
|
|
3481
|
+
mpInstance.Logger.verbose(Messages$7.InformationMessages.NoSessionToEnd);
|
|
3391
3482
|
return;
|
|
3392
3483
|
}
|
|
3393
3484
|
// sessionId is not equal to cookies.sid if cookies.sid is changed in another tab
|
|
@@ -3442,7 +3533,7 @@ var mParticle = (function () {
|
|
|
3442
3533
|
};
|
|
3443
3534
|
}
|
|
3444
3535
|
|
|
3445
|
-
var Messages$
|
|
3536
|
+
var Messages$6 = Constants.Messages;
|
|
3446
3537
|
function Ecommerce(mpInstance) {
|
|
3447
3538
|
var self = this;
|
|
3448
3539
|
this.convertTransactionAttributesToProductAction = function (transactionAttributes, productAction) {
|
|
@@ -3674,7 +3765,7 @@ var mParticle = (function () {
|
|
|
3674
3765
|
};
|
|
3675
3766
|
this.createPromotion = function (id, creative, name, position) {
|
|
3676
3767
|
if (!mpInstance._Helpers.Validators.isStringOrNumber(id)) {
|
|
3677
|
-
mpInstance.Logger.error(Messages$
|
|
3768
|
+
mpInstance.Logger.error(Messages$6.ErrorMessages.PromotionIdRequired);
|
|
3678
3769
|
return null;
|
|
3679
3770
|
}
|
|
3680
3771
|
return {
|
|
@@ -3700,7 +3791,7 @@ var mParticle = (function () {
|
|
|
3700
3791
|
};
|
|
3701
3792
|
this.createTransactionAttributes = function (id, affiliation, couponCode, revenue, shipping, tax) {
|
|
3702
3793
|
if (!mpInstance._Helpers.Validators.isStringOrNumber(id)) {
|
|
3703
|
-
mpInstance.Logger.error(Messages$
|
|
3794
|
+
mpInstance.Logger.error(Messages$6.ErrorMessages.TransactionIdRequired);
|
|
3704
3795
|
return null;
|
|
3705
3796
|
}
|
|
3706
3797
|
return {
|
|
@@ -3814,7 +3905,7 @@ var mParticle = (function () {
|
|
|
3814
3905
|
};
|
|
3815
3906
|
this.createCommerceEventObject = function (customFlags, options) {
|
|
3816
3907
|
var baseEvent;
|
|
3817
|
-
mpInstance.Logger.verbose(Messages$
|
|
3908
|
+
mpInstance.Logger.verbose(Messages$6.InformationMessages.StartingLogCommerceEvent);
|
|
3818
3909
|
if (mpInstance._Helpers.canLog()) {
|
|
3819
3910
|
baseEvent = mpInstance._ServerModel.createEventObject({
|
|
3820
3911
|
messageType: Types.MessageType.Commerce,
|
|
@@ -3826,7 +3917,7 @@ var mParticle = (function () {
|
|
|
3826
3917
|
baseEvent.CustomFlags = customFlags;
|
|
3827
3918
|
return baseEvent;
|
|
3828
3919
|
} else {
|
|
3829
|
-
mpInstance.Logger.verbose(Messages$
|
|
3920
|
+
mpInstance.Logger.verbose(Messages$6.InformationMessages.AbandonLogEvent);
|
|
3830
3921
|
}
|
|
3831
3922
|
return null;
|
|
3832
3923
|
};
|
|
@@ -4212,7 +4303,8 @@ var mParticle = (function () {
|
|
|
4212
4303
|
OfflineStorage = _a.OfflineStorage,
|
|
4213
4304
|
DirectUrlRouting = _a.DirectUrlRouting,
|
|
4214
4305
|
CacheIdentity = _a.CacheIdentity,
|
|
4215
|
-
AudienceAPI = _a.AudienceAPI
|
|
4306
|
+
AudienceAPI = _a.AudienceAPI,
|
|
4307
|
+
CaptureIntegrationSpecificIds = _a.CaptureIntegrationSpecificIds;
|
|
4216
4308
|
if (!config.flags) {
|
|
4217
4309
|
return {};
|
|
4218
4310
|
}
|
|
@@ -4225,6 +4317,7 @@ var mParticle = (function () {
|
|
|
4225
4317
|
flags[DirectUrlRouting] = config.flags[DirectUrlRouting] === 'True';
|
|
4226
4318
|
flags[CacheIdentity] = config.flags[CacheIdentity] === 'True';
|
|
4227
4319
|
flags[AudienceAPI] = config.flags[AudienceAPI] === 'True';
|
|
4320
|
+
flags[CaptureIntegrationSpecificIds] = config.flags[CaptureIntegrationSpecificIds] === 'True';
|
|
4228
4321
|
return flags;
|
|
4229
4322
|
}
|
|
4230
4323
|
function processBaseUrls(config, flags, apiKey) {
|
|
@@ -4332,7 +4425,7 @@ var mParticle = (function () {
|
|
|
4332
4425
|
}
|
|
4333
4426
|
|
|
4334
4427
|
var Base64 = Polyfill.Base64,
|
|
4335
|
-
Messages$
|
|
4428
|
+
Messages$5 = Constants.Messages,
|
|
4336
4429
|
Base64CookieKeys = Constants.Base64CookieKeys,
|
|
4337
4430
|
SDKv2NonMPIDCookieKeys = Constants.SDKv2NonMPIDCookieKeys,
|
|
4338
4431
|
StorageNames = Constants.StorageNames;
|
|
@@ -4455,7 +4548,7 @@ var mParticle = (function () {
|
|
|
4455
4548
|
try {
|
|
4456
4549
|
mpInstance._Store.cartProducts = products[mpid] && products[mpid].cp ? products[mpid].cp : [];
|
|
4457
4550
|
} catch (e) {
|
|
4458
|
-
mpInstance.Logger.error(Messages$
|
|
4551
|
+
mpInstance.Logger.error(Messages$5.ErrorMessages.CookieParseError);
|
|
4459
4552
|
}
|
|
4460
4553
|
}
|
|
4461
4554
|
};
|
|
@@ -4464,7 +4557,7 @@ var mParticle = (function () {
|
|
|
4464
4557
|
this.storeDataInMemory = function (obj, currentMPID) {
|
|
4465
4558
|
try {
|
|
4466
4559
|
if (!obj) {
|
|
4467
|
-
mpInstance.Logger.verbose(Messages$
|
|
4560
|
+
mpInstance.Logger.verbose(Messages$5.InformationMessages.CookieNotFound);
|
|
4468
4561
|
mpInstance._Store.clientId = mpInstance._Store.clientId || mpInstance._Helpers.generateUniqueId();
|
|
4469
4562
|
mpInstance._Store.deviceId = mpInstance._Store.deviceId || mpInstance._Helpers.generateUniqueId();
|
|
4470
4563
|
} else {
|
|
@@ -4509,7 +4602,7 @@ var mParticle = (function () {
|
|
|
4509
4602
|
}
|
|
4510
4603
|
}
|
|
4511
4604
|
} catch (e) {
|
|
4512
|
-
mpInstance.Logger.error(Messages$
|
|
4605
|
+
mpInstance.Logger.error(Messages$5.ErrorMessages.CookieParseError);
|
|
4513
4606
|
}
|
|
4514
4607
|
};
|
|
4515
4608
|
|
|
@@ -4682,7 +4775,7 @@ var mParticle = (function () {
|
|
|
4682
4775
|
name,
|
|
4683
4776
|
cookie,
|
|
4684
4777
|
result = key ? undefined : {};
|
|
4685
|
-
mpInstance.Logger.verbose(Messages$
|
|
4778
|
+
mpInstance.Logger.verbose(Messages$5.InformationMessages.CookieSearch);
|
|
4686
4779
|
for (i = 0, l = cookies.length; i < l; i++) {
|
|
4687
4780
|
try {
|
|
4688
4781
|
parts = cookies[i].split('=');
|
|
@@ -4700,7 +4793,7 @@ var mParticle = (function () {
|
|
|
4700
4793
|
}
|
|
4701
4794
|
}
|
|
4702
4795
|
if (result) {
|
|
4703
|
-
mpInstance.Logger.verbose(Messages$
|
|
4796
|
+
mpInstance.Logger.verbose(Messages$5.InformationMessages.CookieFound);
|
|
4704
4797
|
return JSON.parse(self.decodePersistence(result));
|
|
4705
4798
|
} else {
|
|
4706
4799
|
return null;
|
|
@@ -4742,7 +4835,7 @@ var mParticle = (function () {
|
|
|
4742
4835
|
mpInstance._Store.nonCurrentUserMPIDs = {};
|
|
4743
4836
|
}
|
|
4744
4837
|
encodedCookiesWithExpirationAndPath = self.reduceAndEncodePersistence(cookies, expires, domain, mpInstance._Store.SDKConfig.maxCookieSize);
|
|
4745
|
-
mpInstance.Logger.verbose(Messages$
|
|
4838
|
+
mpInstance.Logger.verbose(Messages$5.InformationMessages.CookieSet);
|
|
4746
4839
|
window.document.cookie = encodeURIComponent(key) + '=' + encodedCookiesWithExpirationAndPath;
|
|
4747
4840
|
};
|
|
4748
4841
|
|
|
@@ -5136,16 +5229,16 @@ var mParticle = (function () {
|
|
|
5136
5229
|
};
|
|
5137
5230
|
}
|
|
5138
5231
|
|
|
5139
|
-
var Messages$
|
|
5232
|
+
var Messages$4 = Constants.Messages;
|
|
5140
5233
|
function Events(mpInstance) {
|
|
5141
5234
|
var self = this;
|
|
5142
5235
|
this.logEvent = function (event, options) {
|
|
5143
|
-
mpInstance.Logger.verbose(Messages$
|
|
5236
|
+
mpInstance.Logger.verbose(Messages$4.InformationMessages.StartingLogEvent + ': ' + event.name);
|
|
5144
5237
|
if (mpInstance._Helpers.canLog()) {
|
|
5145
5238
|
var uploadObject = mpInstance._ServerModel.createEventObject(event);
|
|
5146
5239
|
mpInstance._APIClient.sendEventToServer(uploadObject, options);
|
|
5147
5240
|
} else {
|
|
5148
|
-
mpInstance.Logger.verbose(Messages$
|
|
5241
|
+
mpInstance.Logger.verbose(Messages$4.InformationMessages.AbandonLogEvent);
|
|
5149
5242
|
}
|
|
5150
5243
|
};
|
|
5151
5244
|
this.startTracking = function (callback) {
|
|
@@ -5201,7 +5294,7 @@ var mParticle = (function () {
|
|
|
5201
5294
|
}
|
|
5202
5295
|
};
|
|
5203
5296
|
this.logOptOut = function () {
|
|
5204
|
-
mpInstance.Logger.verbose(Messages$
|
|
5297
|
+
mpInstance.Logger.verbose(Messages$4.InformationMessages.StartingLogOptOut);
|
|
5205
5298
|
var event = mpInstance._ServerModel.createEventObject({
|
|
5206
5299
|
messageType: Types.MessageType.OptOut,
|
|
5207
5300
|
eventType: Types.EventType.Other
|
|
@@ -5272,7 +5365,7 @@ var mParticle = (function () {
|
|
|
5272
5365
|
};
|
|
5273
5366
|
this.logRefundEvent = function (transactionAttributes, product, attrs, customFlags) {
|
|
5274
5367
|
if (!transactionAttributes) {
|
|
5275
|
-
mpInstance.Logger.error(Messages$
|
|
5368
|
+
mpInstance.Logger.error(Messages$4.ErrorMessages.TransactionRequired);
|
|
5276
5369
|
return;
|
|
5277
5370
|
}
|
|
5278
5371
|
var event = mpInstance._Ecommerce.createCommerceEventObject(customFlags);
|
|
@@ -5318,7 +5411,7 @@ var mParticle = (function () {
|
|
|
5318
5411
|
}
|
|
5319
5412
|
};
|
|
5320
5413
|
this.logCommerceEvent = function (commerceEvent, attrs, options) {
|
|
5321
|
-
mpInstance.Logger.verbose(Messages$
|
|
5414
|
+
mpInstance.Logger.verbose(Messages$4.InformationMessages.StartingLogCommerceEvent);
|
|
5322
5415
|
|
|
5323
5416
|
// If a developer typos the ProductActionType, the event category will be
|
|
5324
5417
|
// null, resulting in kit forwarding errors on the server.
|
|
@@ -5342,7 +5435,7 @@ var mParticle = (function () {
|
|
|
5342
5435
|
// https://go.mparticle.com/work/SQDSDKS-6038
|
|
5343
5436
|
mpInstance._Persistence.update();
|
|
5344
5437
|
} else {
|
|
5345
|
-
mpInstance.Logger.verbose(Messages$
|
|
5438
|
+
mpInstance.Logger.verbose(Messages$4.InformationMessages.AbandonLogEvent);
|
|
5346
5439
|
}
|
|
5347
5440
|
};
|
|
5348
5441
|
this.addEventHandler = function (domEvent, selector, eventName, data, eventType) {
|
|
@@ -6505,6 +6598,15 @@ var mParticle = (function () {
|
|
|
6505
6598
|
var optOut = event.messageType === Types.MessageType.OptOut ? !mpInstance._Store.isEnabled : null;
|
|
6506
6599
|
// TODO: Why is Webview Bridge Enabled or Opt Out necessary here?
|
|
6507
6600
|
if (mpInstance._Store.sessionId || event.messageType === Types.MessageType.OptOut || mpInstance._Store.webviewBridgeEnabled) {
|
|
6601
|
+
var customFlags = __assign({}, event.customFlags);
|
|
6602
|
+
// https://go.mparticle.com/work/SQDSDKS-5053
|
|
6603
|
+
if (mpInstance._Helpers.getFeatureFlag && mpInstance._Helpers.getFeatureFlag(Constants.FeatureFlags.CaptureIntegrationSpecificIds)) {
|
|
6604
|
+
// Attempt to recapture click IDs in case a third party integration
|
|
6605
|
+
// has added or updated new click IDs since the last event was sent.
|
|
6606
|
+
mpInstance._IntegrationCapture.capture();
|
|
6607
|
+
var transformedClickIDs = mpInstance._IntegrationCapture.getClickIdsAsCustomFlags();
|
|
6608
|
+
customFlags = __assign(__assign({}, transformedClickIDs), customFlags);
|
|
6609
|
+
}
|
|
6508
6610
|
if (event.hasOwnProperty('toEventAPIObject')) {
|
|
6509
6611
|
eventObject = event.toEventAPIObject();
|
|
6510
6612
|
} else {
|
|
@@ -6517,7 +6619,7 @@ var mParticle = (function () {
|
|
|
6517
6619
|
EventAttributes: mpInstance._Helpers.sanitizeAttributes(event.data, event.name),
|
|
6518
6620
|
SourceMessageId: event.sourceMessageId || mpInstance._Helpers.generateUniqueId(),
|
|
6519
6621
|
EventDataType: event.messageType,
|
|
6520
|
-
CustomFlags:
|
|
6622
|
+
CustomFlags: customFlags,
|
|
6521
6623
|
UserAttributeChanges: event.userAttributeChanges,
|
|
6522
6624
|
UserIdentityChanges: event.userIdentityChanges
|
|
6523
6625
|
};
|
|
@@ -6952,11 +7054,11 @@ var mParticle = (function () {
|
|
|
6952
7054
|
return !prevUser || prevUser.getMPID() && identityApiResult.mpid && identityApiResult.mpid !== prevUser.getMPID();
|
|
6953
7055
|
}
|
|
6954
7056
|
|
|
6955
|
-
var Messages$
|
|
6956
|
-
HTTPCodes$
|
|
7057
|
+
var Messages$3 = Constants.Messages,
|
|
7058
|
+
HTTPCodes$3 = Constants.HTTPCodes,
|
|
6957
7059
|
FeatureFlags$1 = Constants.FeatureFlags,
|
|
6958
7060
|
IdentityMethods = Constants.IdentityMethods;
|
|
6959
|
-
var ErrorMessages = Messages$
|
|
7061
|
+
var ErrorMessages = Messages$3.ErrorMessages;
|
|
6960
7062
|
var CacheIdentity = FeatureFlags$1.CacheIdentity;
|
|
6961
7063
|
var Identify = IdentityMethods.Identify,
|
|
6962
7064
|
Modify$1 = IdentityMethods.Modify,
|
|
@@ -6973,7 +7075,7 @@ var mParticle = (function () {
|
|
|
6973
7075
|
// https://go.mparticle.com/work/SQDSDKS-6353
|
|
6974
7076
|
this.IdentityRequest = {
|
|
6975
7077
|
preProcessIdentityRequest: function preProcessIdentityRequest(identityApiData, callback, method) {
|
|
6976
|
-
mpInstance.Logger.verbose(Messages$
|
|
7078
|
+
mpInstance.Logger.verbose(Messages$3.InformationMessages.StartingLogEvent + ': ' + method);
|
|
6977
7079
|
var identityValidationResult = mpInstance._Helpers.Validators.validateIdentities(identityApiData, method);
|
|
6978
7080
|
if (!identityValidationResult.valid) {
|
|
6979
7081
|
mpInstance.Logger.error('ERROR: ' + identityValidationResult.error);
|
|
@@ -7098,7 +7200,7 @@ var mParticle = (function () {
|
|
|
7098
7200
|
* @class mParticle.Identity
|
|
7099
7201
|
*/
|
|
7100
7202
|
this.IdentityAPI = {
|
|
7101
|
-
HTTPCodes: HTTPCodes$
|
|
7203
|
+
HTTPCodes: HTTPCodes$3,
|
|
7102
7204
|
/**
|
|
7103
7205
|
* Initiate a logout request to the mParticle server
|
|
7104
7206
|
* @method identify
|
|
@@ -7124,16 +7226,16 @@ var mParticle = (function () {
|
|
|
7124
7226
|
if (mpInstance._Helpers.canLog()) {
|
|
7125
7227
|
if (mpInstance._Store.webviewBridgeEnabled) {
|
|
7126
7228
|
mpInstance._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Identify, JSON.stringify(mpInstance._Identity.IdentityRequest.convertToNative(identityApiData)));
|
|
7127
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7229
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.nativeIdentityRequest, 'Identify request sent to native sdk');
|
|
7128
7230
|
} else {
|
|
7129
7231
|
mpInstance._IdentityAPIClient.sendIdentityRequest(identityApiRequest, Identify, callback, identityApiData, self.parseIdentityResponse, mpid, identityApiRequest.known_identities);
|
|
7130
7232
|
}
|
|
7131
7233
|
} else {
|
|
7132
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7133
|
-
mpInstance.Logger.verbose(Messages$
|
|
7234
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.loggingDisabledOrMissingAPIKey, Messages$3.InformationMessages.AbandonLogEvent);
|
|
7235
|
+
mpInstance.Logger.verbose(Messages$3.InformationMessages.AbandonLogEvent);
|
|
7134
7236
|
}
|
|
7135
7237
|
} else {
|
|
7136
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7238
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.validationIssue, preProcessResult.error);
|
|
7137
7239
|
mpInstance.Logger.verbose(preProcessResult);
|
|
7138
7240
|
}
|
|
7139
7241
|
},
|
|
@@ -7157,7 +7259,7 @@ var mParticle = (function () {
|
|
|
7157
7259
|
if (mpInstance._Helpers.canLog()) {
|
|
7158
7260
|
if (mpInstance._Store.webviewBridgeEnabled) {
|
|
7159
7261
|
mpInstance._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Logout, JSON.stringify(mpInstance._Identity.IdentityRequest.convertToNative(identityApiData)));
|
|
7160
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7262
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.nativeIdentityRequest, 'Logout request sent to native sdk');
|
|
7161
7263
|
} else {
|
|
7162
7264
|
mpInstance._IdentityAPIClient.sendIdentityRequest(identityApiRequest, Logout, callback, identityApiData, self.parseIdentityResponse, mpid);
|
|
7163
7265
|
evt = mpInstance._ServerModel.createEventObject({
|
|
@@ -7173,11 +7275,11 @@ var mParticle = (function () {
|
|
|
7173
7275
|
}
|
|
7174
7276
|
}
|
|
7175
7277
|
} else {
|
|
7176
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7177
|
-
mpInstance.Logger.verbose(Messages$
|
|
7278
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.loggingDisabledOrMissingAPIKey, Messages$3.InformationMessages.AbandonLogEvent);
|
|
7279
|
+
mpInstance.Logger.verbose(Messages$3.InformationMessages.AbandonLogEvent);
|
|
7178
7280
|
}
|
|
7179
7281
|
} else {
|
|
7180
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7282
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.validationIssue, preProcessResult.error);
|
|
7181
7283
|
mpInstance.Logger.verbose(preProcessResult);
|
|
7182
7284
|
}
|
|
7183
7285
|
},
|
|
@@ -7206,16 +7308,16 @@ var mParticle = (function () {
|
|
|
7206
7308
|
if (mpInstance._Helpers.canLog()) {
|
|
7207
7309
|
if (mpInstance._Store.webviewBridgeEnabled) {
|
|
7208
7310
|
mpInstance._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Login, JSON.stringify(mpInstance._Identity.IdentityRequest.convertToNative(identityApiData)));
|
|
7209
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7311
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.nativeIdentityRequest, 'Login request sent to native sdk');
|
|
7210
7312
|
} else {
|
|
7211
7313
|
mpInstance._IdentityAPIClient.sendIdentityRequest(identityApiRequest, Login, callback, identityApiData, self.parseIdentityResponse, mpid, identityApiRequest.known_identities);
|
|
7212
7314
|
}
|
|
7213
7315
|
} else {
|
|
7214
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7215
|
-
mpInstance.Logger.verbose(Messages$
|
|
7316
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.loggingDisabledOrMissingAPIKey, Messages$3.InformationMessages.AbandonLogEvent);
|
|
7317
|
+
mpInstance.Logger.verbose(Messages$3.InformationMessages.AbandonLogEvent);
|
|
7216
7318
|
}
|
|
7217
7319
|
} else {
|
|
7218
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7320
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.validationIssue, preProcessResult.error);
|
|
7219
7321
|
mpInstance.Logger.verbose(preProcessResult);
|
|
7220
7322
|
}
|
|
7221
7323
|
},
|
|
@@ -7239,16 +7341,16 @@ var mParticle = (function () {
|
|
|
7239
7341
|
if (mpInstance._Helpers.canLog()) {
|
|
7240
7342
|
if (mpInstance._Store.webviewBridgeEnabled) {
|
|
7241
7343
|
mpInstance._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Modify, JSON.stringify(mpInstance._Identity.IdentityRequest.convertToNative(identityApiData)));
|
|
7242
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7344
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.nativeIdentityRequest, 'Modify request sent to native sdk');
|
|
7243
7345
|
} else {
|
|
7244
7346
|
mpInstance._IdentityAPIClient.sendIdentityRequest(identityApiRequest, Modify$1, callback, identityApiData, self.parseIdentityResponse, mpid, identityApiRequest.known_identities);
|
|
7245
7347
|
}
|
|
7246
7348
|
} else {
|
|
7247
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7248
|
-
mpInstance.Logger.verbose(Messages$
|
|
7349
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.loggingDisabledOrMissingAPIKey, Messages$3.InformationMessages.AbandonLogEvent);
|
|
7350
|
+
mpInstance.Logger.verbose(Messages$3.InformationMessages.AbandonLogEvent);
|
|
7249
7351
|
}
|
|
7250
7352
|
} else {
|
|
7251
|
-
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$
|
|
7353
|
+
mpInstance._Helpers.invokeCallback(callback, HTTPCodes$3.validationIssue, preProcessResult.error);
|
|
7252
7354
|
mpInstance.Logger.verbose(preProcessResult);
|
|
7253
7355
|
}
|
|
7254
7356
|
},
|
|
@@ -7327,34 +7429,34 @@ var mParticle = (function () {
|
|
|
7327
7429
|
aliasUsers: function aliasUsers(aliasRequest, callback) {
|
|
7328
7430
|
var message;
|
|
7329
7431
|
if (!aliasRequest.destinationMpid || !aliasRequest.sourceMpid) {
|
|
7330
|
-
message = Messages$
|
|
7432
|
+
message = Messages$3.ValidationMessages.AliasMissingMpid;
|
|
7331
7433
|
}
|
|
7332
7434
|
if (aliasRequest.destinationMpid === aliasRequest.sourceMpid) {
|
|
7333
|
-
message = Messages$
|
|
7435
|
+
message = Messages$3.ValidationMessages.AliasNonUniqueMpid;
|
|
7334
7436
|
}
|
|
7335
7437
|
if (!aliasRequest.startTime || !aliasRequest.endTime) {
|
|
7336
|
-
message = Messages$
|
|
7438
|
+
message = Messages$3.ValidationMessages.AliasMissingTime;
|
|
7337
7439
|
}
|
|
7338
7440
|
if (aliasRequest.startTime > aliasRequest.endTime) {
|
|
7339
|
-
message = Messages$
|
|
7441
|
+
message = Messages$3.ValidationMessages.AliasStartBeforeEndTime;
|
|
7340
7442
|
}
|
|
7341
7443
|
if (message) {
|
|
7342
7444
|
mpInstance.Logger.warning(message);
|
|
7343
|
-
mpInstance._Helpers.invokeAliasCallback(callback, HTTPCodes$
|
|
7445
|
+
mpInstance._Helpers.invokeAliasCallback(callback, HTTPCodes$3.validationIssue, message);
|
|
7344
7446
|
return;
|
|
7345
7447
|
}
|
|
7346
7448
|
if (mpInstance._Helpers.canLog()) {
|
|
7347
7449
|
if (mpInstance._Store.webviewBridgeEnabled) {
|
|
7348
7450
|
mpInstance._NativeSdkHelpers.sendToNative(Constants.NativeSdkPaths.Alias, JSON.stringify(mpInstance._Identity.IdentityRequest.convertAliasToNative(aliasRequest)));
|
|
7349
|
-
mpInstance._Helpers.invokeAliasCallback(callback, HTTPCodes$
|
|
7451
|
+
mpInstance._Helpers.invokeAliasCallback(callback, HTTPCodes$3.nativeIdentityRequest, 'Alias request sent to native sdk');
|
|
7350
7452
|
} else {
|
|
7351
|
-
mpInstance.Logger.verbose(Messages$
|
|
7453
|
+
mpInstance.Logger.verbose(Messages$3.InformationMessages.StartingAliasRequest + ': ' + aliasRequest.sourceMpid + ' -> ' + aliasRequest.destinationMpid);
|
|
7352
7454
|
var aliasRequestMessage = mpInstance._Identity.IdentityRequest.createAliasNetworkRequest(aliasRequest);
|
|
7353
7455
|
mpInstance._IdentityAPIClient.sendAliasRequest(aliasRequestMessage, callback);
|
|
7354
7456
|
}
|
|
7355
7457
|
} else {
|
|
7356
|
-
mpInstance._Helpers.invokeAliasCallback(callback, HTTPCodes$
|
|
7357
|
-
mpInstance.Logger.verbose(Messages$
|
|
7458
|
+
mpInstance._Helpers.invokeAliasCallback(callback, HTTPCodes$3.loggingDisabledOrMissingAPIKey, Messages$3.InformationMessages.AbandonAliasUsers);
|
|
7459
|
+
mpInstance.Logger.verbose(Messages$3.InformationMessages.AbandonAliasUsers);
|
|
7358
7460
|
}
|
|
7359
7461
|
},
|
|
7360
7462
|
/**
|
|
@@ -7449,7 +7551,7 @@ var mParticle = (function () {
|
|
|
7449
7551
|
*/
|
|
7450
7552
|
setUserTag: function setUserTag(tagName) {
|
|
7451
7553
|
if (!mpInstance._Helpers.Validators.isValidKeyValue(tagName)) {
|
|
7452
|
-
mpInstance.Logger.error(Messages$
|
|
7554
|
+
mpInstance.Logger.error(Messages$3.ErrorMessages.BadKey);
|
|
7453
7555
|
return;
|
|
7454
7556
|
}
|
|
7455
7557
|
this.setUserAttribute(tagName, null);
|
|
@@ -7461,7 +7563,7 @@ var mParticle = (function () {
|
|
|
7461
7563
|
*/
|
|
7462
7564
|
removeUserTag: function removeUserTag(tagName) {
|
|
7463
7565
|
if (!mpInstance._Helpers.Validators.isValidKeyValue(tagName)) {
|
|
7464
|
-
mpInstance.Logger.error(Messages$
|
|
7566
|
+
mpInstance.Logger.error(Messages$3.ErrorMessages.BadKey);
|
|
7465
7567
|
return;
|
|
7466
7568
|
}
|
|
7467
7569
|
this.removeUserAttribute(tagName);
|
|
@@ -7478,11 +7580,11 @@ var mParticle = (function () {
|
|
|
7478
7580
|
mpInstance._SessionManager.resetSessionTimer();
|
|
7479
7581
|
if (mpInstance._Helpers.canLog()) {
|
|
7480
7582
|
if (!mpInstance._Helpers.Validators.isValidAttributeValue(newValue)) {
|
|
7481
|
-
mpInstance.Logger.error(Messages$
|
|
7583
|
+
mpInstance.Logger.error(Messages$3.ErrorMessages.BadAttribute);
|
|
7482
7584
|
return;
|
|
7483
7585
|
}
|
|
7484
7586
|
if (!mpInstance._Helpers.Validators.isValidKeyValue(key)) {
|
|
7485
|
-
mpInstance.Logger.error(Messages$
|
|
7587
|
+
mpInstance.Logger.error(Messages$3.ErrorMessages.BadKey);
|
|
7486
7588
|
return;
|
|
7487
7589
|
}
|
|
7488
7590
|
if (mpInstance._Store.webviewBridgeEnabled) {
|
|
@@ -7539,7 +7641,7 @@ var mParticle = (function () {
|
|
|
7539
7641
|
var cookies, userAttributes;
|
|
7540
7642
|
mpInstance._SessionManager.resetSessionTimer();
|
|
7541
7643
|
if (!mpInstance._Helpers.Validators.isValidKeyValue(key)) {
|
|
7542
|
-
mpInstance.Logger.error(Messages$
|
|
7644
|
+
mpInstance.Logger.error(Messages$3.ErrorMessages.BadKey);
|
|
7543
7645
|
return;
|
|
7544
7646
|
}
|
|
7545
7647
|
if (mpInstance._Store.webviewBridgeEnabled) {
|
|
@@ -7575,7 +7677,7 @@ var mParticle = (function () {
|
|
|
7575
7677
|
setUserAttributeList: function setUserAttributeList(key, newValue) {
|
|
7576
7678
|
mpInstance._SessionManager.resetSessionTimer();
|
|
7577
7679
|
if (!mpInstance._Helpers.Validators.isValidKeyValue(key)) {
|
|
7578
|
-
mpInstance.Logger.error(Messages$
|
|
7680
|
+
mpInstance.Logger.error(Messages$3.ErrorMessages.BadKey);
|
|
7579
7681
|
return;
|
|
7580
7682
|
}
|
|
7581
7683
|
if (!Array.isArray(newValue)) {
|
|
@@ -7889,7 +7991,7 @@ var mParticle = (function () {
|
|
|
7889
7991
|
// https://go.mparticle.com/work/SQDSDKS-6329
|
|
7890
7992
|
mpInstance._Persistence.setFirstSeenTime(identityApiResult.mpid);
|
|
7891
7993
|
}
|
|
7892
|
-
if (identityResponse.status ===
|
|
7994
|
+
if (identityResponse.status === HTTP_OK) {
|
|
7893
7995
|
if (getFeatureFlag(CacheIdentity)) {
|
|
7894
7996
|
var identityResponseForCache = xhrIdentityResponseAdapter(identityResponse);
|
|
7895
7997
|
cacheOrClearIdCache(method, knownIdentities, self.idCache, identityResponseForCache, parsingCachedResponse);
|
|
@@ -7941,7 +8043,7 @@ var mParticle = (function () {
|
|
|
7941
8043
|
self.sendUserIdentityChangeEvent(newIdentitiesByName, method, identityApiResult.mpid, uiByName);
|
|
7942
8044
|
}
|
|
7943
8045
|
if (callback) {
|
|
7944
|
-
var callbackCode = identityResponse.status === 0 ? HTTPCodes$
|
|
8046
|
+
var callbackCode = identityResponse.status === 0 ? HTTPCodes$3.noHttpCoverage : identityResponse.status;
|
|
7945
8047
|
mpInstance._Helpers.invokeCallback(callback, callbackCode, identityApiResult || null, newUser);
|
|
7946
8048
|
} else if (identityApiResult && !isEmpty(identityApiResult.errors)) {
|
|
7947
8049
|
// https://go.mparticle.com/work/SQDSDKS-6500
|
|
@@ -8882,42 +8984,108 @@ var mParticle = (function () {
|
|
|
8882
8984
|
};
|
|
8883
8985
|
}
|
|
8884
8986
|
|
|
8987
|
+
var HTTPCodes$2 = Constants.HTTPCodes,
|
|
8988
|
+
Messages$2 = Constants.Messages;
|
|
8989
|
+
function sendAliasRequest(mpInstance, aliasRequest, aliasCallback) {
|
|
8990
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
8991
|
+
var _a, verbose, error, invokeAliasCallback, aliasUrl, apiKey, uploadUrl, uploader, uploadPayload, response, message, aliasResponseBody, xhrResponse, errorMessage, e_2, err;
|
|
8992
|
+
return __generator(this, function (_b) {
|
|
8993
|
+
switch (_b.label) {
|
|
8994
|
+
case 0:
|
|
8995
|
+
_a = mpInstance.Logger, verbose = _a.verbose, error = _a.error;
|
|
8996
|
+
invokeAliasCallback = mpInstance._Helpers.invokeAliasCallback;
|
|
8997
|
+
aliasUrl = mpInstance._Store.SDKConfig.aliasUrl;
|
|
8998
|
+
apiKey = mpInstance._Store.devToken;
|
|
8999
|
+
verbose(Messages$2.InformationMessages.SendAliasHttp);
|
|
9000
|
+
uploadUrl = "https://".concat(aliasUrl).concat(apiKey, "/Alias");
|
|
9001
|
+
uploader = window.fetch ? new FetchUploader(uploadUrl) : new XHRUploader(uploadUrl);
|
|
9002
|
+
uploadPayload = {
|
|
9003
|
+
method: 'post',
|
|
9004
|
+
headers: {
|
|
9005
|
+
Accept: 'text/plain;charset=UTF-8',
|
|
9006
|
+
'Content-Type': 'application/json'
|
|
9007
|
+
},
|
|
9008
|
+
body: JSON.stringify(aliasRequest)
|
|
9009
|
+
};
|
|
9010
|
+
_b.label = 1;
|
|
9011
|
+
case 1:
|
|
9012
|
+
_b.trys.push([1, 9,, 10]);
|
|
9013
|
+
return [4 /*yield*/, uploader.upload(uploadPayload)];
|
|
9014
|
+
case 2:
|
|
9015
|
+
response = _b.sent();
|
|
9016
|
+
message = void 0;
|
|
9017
|
+
aliasResponseBody = void 0;
|
|
9018
|
+
if (!response.json) return [3 /*break*/, 7];
|
|
9019
|
+
_b.label = 3;
|
|
9020
|
+
case 3:
|
|
9021
|
+
_b.trys.push([3, 5,, 6]);
|
|
9022
|
+
return [4 /*yield*/, response.json()];
|
|
9023
|
+
case 4:
|
|
9024
|
+
aliasResponseBody = _b.sent();
|
|
9025
|
+
return [3 /*break*/, 6];
|
|
9026
|
+
case 5:
|
|
9027
|
+
_b.sent();
|
|
9028
|
+
verbose('The request has no response body');
|
|
9029
|
+
return [3 /*break*/, 6];
|
|
9030
|
+
case 6:
|
|
9031
|
+
return [3 /*break*/, 8];
|
|
9032
|
+
case 7:
|
|
9033
|
+
xhrResponse = response;
|
|
9034
|
+
// debugger;
|
|
9035
|
+
aliasResponseBody = xhrResponse.responseText ? JSON.parse(xhrResponse.responseText) : '';
|
|
9036
|
+
_b.label = 8;
|
|
9037
|
+
case 8:
|
|
9038
|
+
errorMessage = void 0;
|
|
9039
|
+
switch (response.status) {
|
|
9040
|
+
case HTTP_OK:
|
|
9041
|
+
case HTTP_ACCEPTED:
|
|
9042
|
+
// https://go.mparticle.com/work/SQDSDKS-6670
|
|
9043
|
+
message = 'Successfully sent forwarding stats to mParticle Servers';
|
|
9044
|
+
break;
|
|
9045
|
+
default:
|
|
9046
|
+
// 400 has an error message, but 403 doesn't
|
|
9047
|
+
if (aliasResponseBody === null || aliasResponseBody === void 0 ? void 0 : aliasResponseBody.message) {
|
|
9048
|
+
errorMessage = aliasResponseBody.message;
|
|
9049
|
+
}
|
|
9050
|
+
message = 'Issue with sending Alias Request to mParticle Servers, received HTTP Code of ' + response.status;
|
|
9051
|
+
}
|
|
9052
|
+
verbose(message);
|
|
9053
|
+
invokeAliasCallback(aliasCallback, response.status, errorMessage);
|
|
9054
|
+
return [3 /*break*/, 10];
|
|
9055
|
+
case 9:
|
|
9056
|
+
e_2 = _b.sent();
|
|
9057
|
+
err = e_2;
|
|
9058
|
+
error('Error sending alias request to mParticle servers. ' + err);
|
|
9059
|
+
invokeAliasCallback(aliasCallback, HTTPCodes$2.noHttpCoverage, err.message);
|
|
9060
|
+
return [3 /*break*/, 10];
|
|
9061
|
+
case 10:
|
|
9062
|
+
return [2 /*return*/];
|
|
9063
|
+
}
|
|
9064
|
+
});
|
|
9065
|
+
});
|
|
9066
|
+
}
|
|
9067
|
+
|
|
8885
9068
|
var HTTPCodes$1 = Constants.HTTPCodes,
|
|
8886
9069
|
Messages$1 = Constants.Messages;
|
|
8887
9070
|
var Modify = Constants.IdentityMethods.Modify;
|
|
8888
9071
|
function IdentityAPIClient(mpInstance) {
|
|
8889
|
-
this.sendAliasRequest = function (
|
|
8890
|
-
var
|
|
8891
|
-
|
|
8892
|
-
|
|
8893
|
-
|
|
8894
|
-
|
|
8895
|
-
|
|
8896
|
-
|
|
8897
|
-
|
|
8898
|
-
|
|
8899
|
-
if (response.hasOwnProperty('message')) {
|
|
8900
|
-
var errorMessage = response.message;
|
|
8901
|
-
mpInstance._Helpers.invokeAliasCallback(callback, xhr.status, errorMessage);
|
|
8902
|
-
return;
|
|
8903
|
-
}
|
|
8904
|
-
}
|
|
8905
|
-
}
|
|
8906
|
-
mpInstance._Helpers.invokeAliasCallback(callback, xhr.status);
|
|
9072
|
+
this.sendAliasRequest = /*#__PURE__*/function () {
|
|
9073
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(aliasRequest, callback) {
|
|
9074
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
9075
|
+
while (1) switch (_context.prev = _context.next) {
|
|
9076
|
+
case 0:
|
|
9077
|
+
_context.next = 2;
|
|
9078
|
+
return sendAliasRequest(mpInstance, aliasRequest, callback);
|
|
9079
|
+
case 2:
|
|
9080
|
+
case "end":
|
|
9081
|
+
return _context.stop();
|
|
8907
9082
|
}
|
|
8908
|
-
};
|
|
8909
|
-
|
|
8910
|
-
|
|
8911
|
-
|
|
8912
|
-
|
|
8913
|
-
|
|
8914
|
-
xhr.send(JSON.stringify(aliasRequest));
|
|
8915
|
-
} catch (e) {
|
|
8916
|
-
mpInstance._Helpers.invokeAliasCallback(callback, HTTPCodes$1.noHttpCoverage, e);
|
|
8917
|
-
mpInstance.Logger.error('Error sending alias request to mParticle servers. ' + e);
|
|
8918
|
-
}
|
|
8919
|
-
}
|
|
8920
|
-
};
|
|
9083
|
+
}, _callee);
|
|
9084
|
+
}));
|
|
9085
|
+
return function (_x, _x2) {
|
|
9086
|
+
return _ref.apply(this, arguments);
|
|
9087
|
+
};
|
|
9088
|
+
}();
|
|
8921
9089
|
this.sendIdentityRequest = function (identityApiRequest, method, callback, originalIdentityApiData, parseIdentityResponse, mpid, knownIdentities) {
|
|
8922
9090
|
var xhr,
|
|
8923
9091
|
previousMPID,
|
|
@@ -8963,10 +9131,129 @@ var mParticle = (function () {
|
|
|
8963
9131
|
};
|
|
8964
9132
|
}
|
|
8965
9133
|
|
|
9134
|
+
// Facebook Click ID has specific formatting rules
|
|
9135
|
+
// The formatted ClickID value must be of the form version.subdomainIndex.creationTime.<fbclid>, where:
|
|
9136
|
+
// - version is always this prefix: fb
|
|
9137
|
+
// - subdomainIndex is which domain the cookie is defined on ('com' = 0, 'example.com' = 1, 'www.example.com' = 2)
|
|
9138
|
+
// - creationTime is the UNIX time since epoch in milliseconds when the _fbc was stored. If you don't save the _fbc cookie, use the timestamp when you first observed or received this fbclid value
|
|
9139
|
+
// - <fbclid> is the value for the fbclid query parameter in the page URL.
|
|
9140
|
+
// https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc
|
|
9141
|
+
var facebookClickIdProcessor = function facebookClickIdProcessor(clickId, url, timestamp) {
|
|
9142
|
+
if (!clickId || !url) {
|
|
9143
|
+
return '';
|
|
9144
|
+
}
|
|
9145
|
+
var urlSegments = url === null || url === void 0 ? void 0 : url.split('//');
|
|
9146
|
+
if (!urlSegments) {
|
|
9147
|
+
return '';
|
|
9148
|
+
}
|
|
9149
|
+
var urlParts = urlSegments[1].split('/');
|
|
9150
|
+
var domainParts = urlParts[0].split('.');
|
|
9151
|
+
var subdomainIndex = 1;
|
|
9152
|
+
// The rules for subdomainIndex are for parsing the domain portion
|
|
9153
|
+
// of the URL for cookies, but in this case we are parsing the URL
|
|
9154
|
+
// itself, so we can ignore the use of 0 for 'com'
|
|
9155
|
+
if (domainParts.length >= 3) {
|
|
9156
|
+
subdomainIndex = 2;
|
|
9157
|
+
}
|
|
9158
|
+
// If timestamp is not provided, use the current time
|
|
9159
|
+
var _timestamp = timestamp || Date.now();
|
|
9160
|
+
return "fb.".concat(subdomainIndex, ".").concat(_timestamp, ".").concat(clickId);
|
|
9161
|
+
};
|
|
9162
|
+
var integrationMapping = {
|
|
9163
|
+
fbclid: {
|
|
9164
|
+
mappedKey: 'Facebook.ClickId',
|
|
9165
|
+
processor: facebookClickIdProcessor
|
|
9166
|
+
},
|
|
9167
|
+
_fbp: {
|
|
9168
|
+
mappedKey: 'Facebook.BrowserId'
|
|
9169
|
+
},
|
|
9170
|
+
_fbc: {
|
|
9171
|
+
mappedKey: 'Facebook.ClickId'
|
|
9172
|
+
}
|
|
9173
|
+
};
|
|
9174
|
+
var IntegrationCapture = /** @class */function () {
|
|
9175
|
+
function IntegrationCapture() {
|
|
9176
|
+
this.initialTimestamp = Date.now();
|
|
9177
|
+
}
|
|
9178
|
+
/**
|
|
9179
|
+
* Captures Integration Ids from cookies and query params and stores them in clickIds object
|
|
9180
|
+
*/
|
|
9181
|
+
IntegrationCapture.prototype.capture = function () {
|
|
9182
|
+
var queryParams = this.captureQueryParams() || {};
|
|
9183
|
+
var cookies = this.captureCookies() || {};
|
|
9184
|
+
// Exclude _fbc if fbclid is present
|
|
9185
|
+
// https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc#retrieve-from-fbclid-url-query-parameter
|
|
9186
|
+
if (queryParams['fbclid'] && cookies['_fbc']) {
|
|
9187
|
+
delete cookies['_fbc'];
|
|
9188
|
+
}
|
|
9189
|
+
this.clickIds = __assign(__assign(__assign({}, this.clickIds), queryParams), cookies);
|
|
9190
|
+
};
|
|
9191
|
+
/**
|
|
9192
|
+
* Captures cookies based on the integration ID mapping.
|
|
9193
|
+
*/
|
|
9194
|
+
IntegrationCapture.prototype.captureCookies = function () {
|
|
9195
|
+
var cookies = getCookies(Object.keys(integrationMapping));
|
|
9196
|
+
return this.applyProcessors(cookies);
|
|
9197
|
+
};
|
|
9198
|
+
/**
|
|
9199
|
+
* Captures query parameters based on the integration ID mapping.
|
|
9200
|
+
*/
|
|
9201
|
+
IntegrationCapture.prototype.captureQueryParams = function () {
|
|
9202
|
+
var queryParams = this.getQueryParams();
|
|
9203
|
+
return this.applyProcessors(queryParams, getHref(), this.initialTimestamp);
|
|
9204
|
+
};
|
|
9205
|
+
/**
|
|
9206
|
+
* Gets the query parameters based on the integration ID mapping.
|
|
9207
|
+
* @returns {Dictionary<string>} The query parameters.
|
|
9208
|
+
*/
|
|
9209
|
+
IntegrationCapture.prototype.getQueryParams = function () {
|
|
9210
|
+
return queryStringParser(getHref(), Object.keys(integrationMapping));
|
|
9211
|
+
};
|
|
9212
|
+
/**
|
|
9213
|
+
* Converts captured click IDs to custom flags for SDK events.
|
|
9214
|
+
* @returns {SDKEventCustomFlags} The custom flags.
|
|
9215
|
+
*/
|
|
9216
|
+
IntegrationCapture.prototype.getClickIdsAsCustomFlags = function () {
|
|
9217
|
+
var _a;
|
|
9218
|
+
var customFlags = {};
|
|
9219
|
+
if (!this.clickIds) {
|
|
9220
|
+
return customFlags;
|
|
9221
|
+
}
|
|
9222
|
+
for (var _i = 0, _b = Object.entries(this.clickIds); _i < _b.length; _i++) {
|
|
9223
|
+
var _c = _b[_i],
|
|
9224
|
+
key = _c[0],
|
|
9225
|
+
value = _c[1];
|
|
9226
|
+
var mappedKey = (_a = integrationMapping[key]) === null || _a === void 0 ? void 0 : _a.mappedKey;
|
|
9227
|
+
if (!isEmpty(mappedKey)) {
|
|
9228
|
+
customFlags[mappedKey] = value;
|
|
9229
|
+
}
|
|
9230
|
+
}
|
|
9231
|
+
return customFlags;
|
|
9232
|
+
};
|
|
9233
|
+
IntegrationCapture.prototype.applyProcessors = function (clickIds, url, timestamp) {
|
|
9234
|
+
var _a;
|
|
9235
|
+
var processedClickIds = {};
|
|
9236
|
+
for (var _i = 0, _b = Object.entries(clickIds); _i < _b.length; _i++) {
|
|
9237
|
+
var _c = _b[_i],
|
|
9238
|
+
key = _c[0],
|
|
9239
|
+
value = _c[1];
|
|
9240
|
+
var processor = (_a = integrationMapping[key]) === null || _a === void 0 ? void 0 : _a.processor;
|
|
9241
|
+
if (processor) {
|
|
9242
|
+
processedClickIds[key] = processor(value, url, timestamp);
|
|
9243
|
+
} else {
|
|
9244
|
+
processedClickIds[key] = value;
|
|
9245
|
+
}
|
|
9246
|
+
}
|
|
9247
|
+
return processedClickIds;
|
|
9248
|
+
};
|
|
9249
|
+
return IntegrationCapture;
|
|
9250
|
+
}();
|
|
9251
|
+
|
|
8966
9252
|
var Messages = Constants.Messages,
|
|
8967
9253
|
HTTPCodes = Constants.HTTPCodes,
|
|
8968
9254
|
FeatureFlags = Constants.FeatureFlags;
|
|
8969
|
-
var ReportBatching = FeatureFlags.ReportBatching
|
|
9255
|
+
var ReportBatching = FeatureFlags.ReportBatching,
|
|
9256
|
+
CaptureIntegrationSpecificIds = FeatureFlags.CaptureIntegrationSpecificIds;
|
|
8970
9257
|
var StartingInitialization = Messages.InformationMessages.StartingInitialization;
|
|
8971
9258
|
|
|
8972
9259
|
/**
|
|
@@ -9002,6 +9289,7 @@ var mParticle = (function () {
|
|
|
9002
9289
|
integrationDelays: {},
|
|
9003
9290
|
forwarderConstructors: []
|
|
9004
9291
|
};
|
|
9292
|
+
this._IntegrationCapture = new IntegrationCapture();
|
|
9005
9293
|
|
|
9006
9294
|
// required for forwarders once they reference the mparticle instance
|
|
9007
9295
|
this.IdentityType = Types.IdentityType;
|
|
@@ -9942,6 +10230,9 @@ var mParticle = (function () {
|
|
|
9942
10230
|
if (mpInstance._Helpers.getFeatureFlag(ReportBatching)) {
|
|
9943
10231
|
mpInstance._ForwardingStatsUploader.startForwardingStatsTimer();
|
|
9944
10232
|
}
|
|
10233
|
+
if (mpInstance._Helpers.getFeatureFlag(CaptureIntegrationSpecificIds)) {
|
|
10234
|
+
mpInstance._IntegrationCapture.capture();
|
|
10235
|
+
}
|
|
9945
10236
|
mpInstance._Forwarders.processForwarders(config, mpInstance._APIClient.prepareForwardingStats);
|
|
9946
10237
|
mpInstance._Forwarders.processPixelConfigs(config);
|
|
9947
10238
|
|