Migrating from another push provider

Review the different possible approaches for the transition

If you are integrating the Xtremepush SDKs into your apps to replace another push provider, then it is important to consider how the transition between the two push providers is performed. There are three main ways to handle moving from another push provider to Xtremepush.

Copy tokens and send push messages to legacy devices from Xtremepush

This approach involves exporting your APNS and Firebase/GCM tokens from your existing push provider as a CSV. This CSV file can then be used by our dev team to import your existing users as legacy users on the Xtremepush platform. For future messages to all of your user base, the Xtremepush platform can be used to send push messages to both legacy devices and also to devices that have the latest version of the app that contains the Xtremepush SDK.

Advantages:

  • Single platform for sending push messages to all of your devices
  • Easy to keep track of devices updating the app (they will change from legacy devices to regular Xtremepush devices)

Disadvantages:

  • There is some work involved in exporting your tokens and importing them on the Xtremepush side (which requires some time to complete).
  • A push format for your legacy devices will need to be agreed, handled and tested (this requires some development and QA time).
  • It will not be possible to send deeplinks, links or other more complex messages to legacy devices (notifications will just open the app)
  • There will be no analytics data for messages sent to legacy devices (opens, etc.)
  • There will be no callback in the app when a notification is opened

Copy tokens but don't send push messages to legacy devices

This approach has some overlap with the first approach described above but the difference is that if you want to send messages to your legacy devices then these messages should be sent from your existing push provider. 

Advantages:

  • Easy to keep track of devices updating the app (they will change from legacy devices to regular Xtremepush devices)
  • No extra development/QA required for sending messages to legacy devices
  • Any deeplinks, links and other more complex messages that your existing push provider can handle can still be sent to your legacy devices
  • Any analytics that your existing push provider has will be visible for messages sent to legacy devices
  • Any callbacks that your existing push provider has in the legacy version of your app will still be handled

Disadvantages:

  • There is some work involved in exporting your tokens and importing them on the Xtremepush side (which requires some time to complete)
  • Multiple push providers are required for sending messages to devices that have the latest version of the app and to those that have older versions of the app (this requires handling to avoid a situation where duplicated messages could be received on a device). Review our dedicated guide for more details on how to handle multiple push providers.

Do not copy tokens

This is by far the simplest approach. No token data is copied over from your existing push provider, any messages that need to be sent to legacy devices should be sent from your existing push provider and any messages for the latest version of the app can be sent from Xtremepush.

Advantages:

  • No extra work required for exporting your tokens and importing them on the Xtremepush side
  • No extra development/QA required for sending messages to legacy devices
  • Any deeplinks, links and other more complex messages that your existing push provider can handle can still be sent to your legacy devices
  • Any analytics that your existing push provider has will be visible for messages sent to legacy devices
  • Any callbacks that your existing push provider has in the legacy version of your app will still be handled

Disadvantages:

  • Not as easy to keep track of devices updating the app. However, if you want to see how many users have migrated over to using the latest version of the app with Xtremepush, the devices can still be matched on the two systems
  • Multiple push providers are required for sending messages to devices that have the latest version of the app and to those that have older versions of the app (this only requires some additional safeguards in iOS to avoid duplicate messages).

Recommended approach

At Xtremepush, we recommend that the third approach—not copying tokens—is selected for most types of apps. This is the simplest approach and, as such, there is less opportunity for errors or duplicate messages. The transition method we typically suggest is as follows:

  • Install the Xtremepush SDK in the app and remove your existing push provider at the same time
  • Release this updated version of the app
  • Messages can continue to be sent to users with older versions of the app using your existing push provider
    • These will be ignored in the Xtremepush SDK on Android so no duplicates will be shown
    • There may be some testing required on iOS to ensure that duplicate messages are hidden but this is easy to handle
  • Messages can be sent to users with the latest version of the app using the Xtremepush platform
    • These will not be received in apps that do not contain the Xtremepush SDK, so no duplicates will be shown

Regardless of the approach that you decide on for your app, we are more than happy to advise on and help test the transition process, to ensure that everything performs as expected.