“Have you deleted the app and installed the latest build?” Is something that’s thrown around countless times here at Tappable, especially when clients are testing apps because things can change in the app structure that needs a clean install. Unbeknownst to them, they’re using an outdated build and by nature will experience a few issues. While we give instructions on how to appropriately check builds, we’ve figured that it’s in everyones best interest to try and find a way to automate the process of refreshing the clients build.

First, we must highlight the reasons why we currently have to uninstall an app before installing a new build:

  • To delete written data in the device, such as downloaded or created files
  • To assign a new device or unique user ID
  • To reset remote data e.g. accounts in services and servers
  • To verify that the client has the latest build installed

So now we’ll talk about a potential solution to this ongoing problem.

Detecting the App Version

When a new app build is installed for Android or iOS, it is installed as an update which means that it will keep the data. A file containing the current version can be created to inform the next install which version was installed before. If the file does not exist, that means it’s a fresh install – otherwise the new version will know it needs to clear its data and execute another reset.

Identifying the Device

Usually a device ID is used for client-server communication. As it comes from the operating system, a “salt” can be added to the original id in order to be able to manipulate it. With this implemented, the ID can then be changed in every build and the servers will take it as a new user. If third party plugins/services use a different ID, it should be handled automatically by the reset feature.

Running Version Control

When the app starts it should check that is running the latest version and show a pop up if not. That validation is made using a server which contains the information of the latest build and provides links to the user to update to the correct version. The version count must be increased each build, however this process can be made automatically. Note that the build must have an internal tag to mark it as a production or development build. This way, it can use the same ID and remove the pop ups if it is a production build.

The Pros:

  • It will avoid the errors and bugs created when clients use an outdated build
  • Easy adoption flow for the client
  • Avoids distributing updates by sending links to clients

The Cons:

  • An internet connection is required even if the project doesn’t need it
  • Additional development is required to create and setup a plugin that provides the functionality
  • A server to manage latest build links needs to be developed

Thanks for reading.

From the blog

the latest news, technology & app development insights

Augmented & Virtual Reality is finally ready for everyone

AR & VR are not just for entertainment, they can serve a purpose in business. Let’s take a look. With more and more accessible VR (Virtual Reality) hardware coming to market, and more relevant implementations of AR (Augmented Reality) appearing daily, it’s clear to...

The Year of the Big Tech Unicorn IPO’s

This is an exciting year for tech start-ups, with Uber looking for a valuation of over $100 billion, over 4 times more than Snap’s IPO (Initial public offering) back in 2017, what investment opportunities are there a foot for the App’s we come to know and love?  Of...

GET IN TOUCH

let’s explore your idea

+44 (0) 1234 834822