oderfla oderfla - 1 year ago 42
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 Source

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.