My mobile application works with the aid of a back-end server that processes all of the logic for the users, allowing them to communicate and interact with each other. However sometimes when making updates or changes to an application the back-end or format of data may be changed. Possibly because of a logical error (bug) or for security reasons.
Currently I’m trying to figure out the best way to handle this before release of my application to the apple and android store. Whenever an update occurs to the application that requires the server to respond differently, I need to make sure all devices are updated to the proper version, if not there will be errors and some functions of the application may not work or yield unwanted results.
One way to battle this would be to program with the idea of “reverse compatibility” in mind at all times, however sometimes when doing large updates (or even ravamps of systems) this may not be possible, some information may not be used, or additional information may be requires. The format of information may change, etc, etc.
So this brings me to forcing an update for applications. Requiring that the application be brought up to the current version at all times before it can be used.
I’m currently using the Ionic(Cordova) platform for hybrid development and I’m wondering the best approach to take for this. Should I store the application and client version on the server and just have it run a check every so often? Is there a way to check the apple/android store to see if there is an update available for the application and then download it?
Any help would be greatly appreciated.