Developers
With the exception of “webhook” style integrations that accept raw JSON in mParticle’s batch format, almost all web integrations require a client-side kit. If you use the snippet, the process of fetching these client side kits is handled for you automatically when you enable an integration in the mParticle UI.
If you are self-hosting, you will need to manually add each new integration to your source code before you can successfully enable the integration. You can find a full list of kit packages by searching npm for @mparticle
While most of our web-kits have been developed internally and so follow a similar npm naming format (@mparticle/web-PARTNERNAME-kit), we encourage partners to develop kits as well. These partner-built kits will not have the same naming convention. Please ensure to double check the npm package names below to ensure you install the proper kit:
The types of questions most users have about kits are:
These are two different questions. mParticle defines “support” as - if you can build an app/site with the mParticle SDK and the app compiles, it’s supported.
Therefore, we do not manually test every single version of every single kit.
We only verify that they compile. If the partner breaks their SDK, or our integration with it, it’s possible that we will not know it.
If a partner breaks their SDK/our integration, it typically means they’ve also broken anyone who is directly integrating.
The vast majority of customers are on the “latest” version of our Web SDK at all times. Note that these days are numbered as we prepare to officially support “self hosting”.
In the meantime, this means our releasing scheme and tagging scheme doesn’t really apply here. As of 6/11/19, to determine the version of a partner’s SDK for a given web kit as follows:
mparticle-javascript-integration-<PARTNER>
.initForwarder: function(settings, testMode, userAttributes, userIdentities, processEvent, eventQueue, isInitialized) {
...
var optimizelyScript = document.createElement('script');
optimizelyScript.type = 'text/javascript';
optimizelyScript.async = true;
optimizelyScript.src = 'https://cdn.optimizely.com/js/' + settings.projectId + '.js';
Some kits are “compiled” and we will bundle the source code of the partner’s SDK with our kit and distribute it over our CDN.
In some of these cases (Braze), we will pull in their SDK over NPM, and you can tell which version that is by looking at the package.json of the kit, as in this example.
These dependencies work similarly to Cocoapods and Carthage above, you can read the full package.json version resolution docs here
In other cases (Adobe), we will actually manually bundle the partner’s SDK in our repository. We don’t have a set pattern for doing this, so you’ll have to manually interpret it.
When making changes in the mParticle UI such as adding or removing integrations (aka kits) or changing kit configurations, the configuration is cached for up to five minutes in our CDN layer, and is cached by the web browser for one hour. If you are testing configuration options, make sure to hard refresh your browser to clear the client-side cache after approximately 5 to 10 minutes to see the new changes.
In Chrome, this is done by pressing Ctrl + F5 on Windows and Cmd + Shift + R on Mac. Other browsers may use different key combinations.
Was this page helpful?