Web & App SDK

Prev
This content is currently unavailable in Portuguese (Brazil). You are viewing the default (English) version.

The Xtremepush SDKs allow you to capture device tokens, display rich in-app messages (Inbox), and track client-side behaviours.

1. Identity Graph & User IDs

Regardless of the platform (iOS, Android, Web), it is paramount that you set the User ID via the SDK immediately upon user login or registration. This ensures the Xtremepush identity graph correctly associates the device with the backend profile created via your data ingestion streams.

2. iOS App

SDK Integration

The Xtremepush SDK needs to be imported, integrated into the product and then configured accordingly. The documentation for importing the SDK can be found here. The steps are different depending on the package managers that are present within the application build.

Once the SDK has been imported it needs to be integrated. The documentation for integrating the SDK can be found here. The code needed to integrate the SDK is different depending on whether the application is coded in Swift or Objective-C - there are snippets in the documentation to cover both languages.

During integration it is paramount that we set up the passing of a customer's user ID, which is often available to the application when a user registers and has logged in. The documentation to do this for both iOS and Android can be found here. When this is done, the Xtremepush platform will use its identity graph to automatically join user's devices with the profile, which enables a holistic view of each user.

Push Integration

Once the SDK has been integrated, a push certificate will need to be downloaded from the Apple Developer console and uploaded to the Xtremepush platform. The steps to generate and download the required push certificate can be found here.

Inbox Integration

The inbox is an optional extra that can be added after the initial integration. It's a channel that becomes part of the application and allows the delivery of rich messages inclusive of images, texts and links. Given its onsite presence, inbox messages which are a great channel to engage with those that are opted out of push notifications and emails.

The documentation to integrate the inbox can be found here. There are two ways to integrate the inbox. The first is to use the 'out of the box' inbox that can be called directly from the Xtremepush SDK. This is the approach with the lowest effort as it takes the message styling and overall appearance of the inbox straight from Xtremepush.

The more complicated approach is to integrate the inbox natively, which allows more control over the UX and design of the inbox but at the cost of more development overhead both initially and ongoing. In this scenario, the parts of the message (title, image, copy and link) can be called from the Xtremepush SDK and then rendered using native code.

Events

The syntax for real-time events collected via the iOS application can be found in the documentation, here. Events captured via the SDK can be used to trigger in-app messages as well as all other campaign types.

3. Android App

SDK Integration

The steps for the Android integration are similar to those for the iOS integration. First the SDK must be imported, which can be done by following the steps that are found here.

Once the SDK has been imported it needs to be integrated into the application. The steps for doing that can be found here.

As with iOS, it is important to set up the passing of a customer's user ID so that the device can be linked to their profile. The documentation on how to do that for Android is in the same place as the one for iOS, which can be found here.

Push Integration

Once the SDK has been integrated there are steps to be taken to enable push notifications to be sent through the application via Xtremepush. This involves generating a Firebase Cloud Messaging Server Key and Sender ID, the documentation for this process can be found here.

Inbox Integration

For Inbox, the same concepts as with iOS applies for Android too. The out of the box inbox can be used, which comes with less long term development overhead but is less customisable in terms of its UI, or a native integration can be done to enable more control over the experience. The documentation for integrating the Android inbox can be found here.

Events

The syntax for real-time events collected via the Android application can be found in the documentation, here. Events captured via the SDK can be used to trigger in-app messages as well as all other campaign types.

4. Website

Integrating a website into Xtremepush requires the deployment of the Xtremepush web SDK, which can be followed by the addition of real-time event tracking and the web version of the rich inbox.

SDK Integration

The SDK can be deployed via Google Tag Manager if it is already integrated into the website, which means the majority of the work can be done without a deployment. Xtremepush is a registered vendor within Google Tag Manager - the SDK can be found in the menu of pre-built tags. If Google Tag Manager isn't in use then the SDK can also be deployed directly into the code of the website. The documentation covering both deployment methods can be found here.

When users register or are logged in, the user ID should be passed through to Xtremepush so that their browser and any behaviour captured via event tags can be assigned to the right profile. The documentation for doing this can be found here.

Push Integration

Xtremepush has browser push capabilities. The process for setting this up for Chrome and Firefox is different to the process for Safari. The documentation for setting browser push up for Chrome and Firefox can be found here. The documentation for setting it up for Safari is here.

Inbox

The web inbox works much like the app inboxes. It is often the case that the web inbox is put behind a login so that message relevance can be ensured through segmentation and targeting that is linked to the user ID. If the user is not logged in then targeting can be based on information logged against the browser. The documentation on how to integrate the inbox once the web SDK has been deployed can be found here.

Events

Web event tags can be deployed without a release if Google Tag Manager is available. If not, they can still be deployed within the code of the website, but this will require frontend developer input and release. Xtremepush has different syntax for events - the documentation for these can be found here.