Event data can be forwarded to outputs in two ways which are:
- Server-side: Data is forwarded from the web or client app to mParticle servers, stored there, and from there is forwarded on to an output or destination such as Amplitude or Braze. For these types of forwarding, no client setup is needed, because the client communicates directly with mParticle.
- Client-side: Data is forwarded from the web or client app directly to the output, unseen by mParticle servers. For this type of forwarding, you must set up your client, usually by adding a kit to the platform SDK of the client app.
How to know if your integration is server-side or client-side:
Some integration are either purely server-side or purely client-side, while some integration do have the ability to use either. For example, the Amplitude and Mixpanel web outputs have the option "Forward Web Requests Server Side" in the connection configuration, and if enabled it will utilize the server-side code instead of kit code.
For the integrations that are purely Client-side or Server-side. You can check the following lists for the Web, iOS and Android SDKs, if the integration name is in the list then it is purely or have option for Client-side. Which also means that if the integration is not in the SDK specific list, then it is purely server-side.
Is additional work needed after connecting the input to an output in the UI?
For Server-side integrations, no further action is needed. However, with Client-side integrations may require some additional steps in order to see data downstream.
Web: If you are using the mParticle snippet for initialization, then no further action needed and the kit integration will be automatically initialized. However, if you are self-hosting the mParticle SDK then you will have to install and import the kit integration via NPM by following the steps here.
iOS: You can use CocoaPods, Swift Package Manager (SPM) or Carthage to install the kit dependencies, you can double check for the name of the dependency by viewing the READ.ME of the Github page of the integration by using the above iOS kit list provided.
Android: You will need to include the integration kit dependencies in your build.gradle file on the app level, you can double check for the name of the dependency by viewing the READ.ME of the Github page of the integration by using the above Android kit list provided.
Other: For SDKs that are based on mobile application building libraries such as React Native, Cordova plugin and Flutter, you will need to follow the steps of either iOS and Android separately for each platform. For the Roku SDK and feeds, all integrations are Server-side.
For more info regarding integrations click here