oderfla oderfla - 4 months ago 11
iOS Question

Releasing updated mobile app version

I launched a mobile app last week, both for iOS and Android (it's build with ionic framework if this could make any difference). Actually, it was much more like a beta version.
Now, there are people that have installed the app. Not that huge amount, but anyway.
I have now developed a new version. Thing is that the app relies on a server. And the server has changed a lot of things.
So the client app on the store is not really in sync with the server code.
When I release this updated version of the app, chances are huge that those people that use the "old" app will get really unpredictable results.

Is there a standard way to face with this? I cannot inform users that the app is out of date but only rely on OS telling the user there is a new version available.

Answer

This is really a general programming issue that has nothing to do with any specific platform.

Version 1 of your app requires version 1 of your server API and then you need to update the server to version 2 of its API for version 2 of your app.

Upon release of version 2 of your app, your user base will be a mix of both version 1 and version 2 of your app.

This means that your server needs to be able to respond to both versions of its API. There are a few possible ways to support this.

  1. Have two completely different URLs for each version. Example: http://version1.server.com/... and http://version2.server.com/... Just use the proper URL in each app.
  2. Pass a version number as part of the URL. Example: http://server.com?ver=2&other=whatever. You could have your server assume version 1 if there is no ver parameter in the URL.

The key point is that version 1 of the app is out there. The server needs to keep supporting that version of its API for a while. The server needs a way to support both. So version 2 of the app can be fixed now, before it is released, to work with whatever changes are made on the server to support both its old API and the new API.

Comments