Migrating from Another Push Provider

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, which are discussed in more detail below.

1. 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 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 userbase, 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.

Pros:

  • 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

Cons:

  • There is some work involved in exporting your tokens and importing them on the xtremepush side
    • This requires some time to complete
  • A push format for your legacy devices will need to be agreed, handled and tested
    • 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

2. Copy tokens but do not send push messages to legacy devices from xtremepush

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. 

Pros:

  • 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

Cons:

  • There is some work involved in exporting your tokens and importing them on the xtremepush side
    • This 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 some synchronisation/handling to avoid a situation where duplicate message could be received on a device

3. 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.

Pros:

  • 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

Cons:

  • Not as easy to keep track of devices updating the app
    • The devices can still be matched on the two systems though if you want to see how many users have migrated over to using the latest version of the app with xtremepush integrated in it
  • 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

Recommendation

At xtremepush, we would recommend that approach number 3 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

Irrespective 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.

Have more questions? Submit a request

0 Comments

Article is closed for comments.