There's no easy way to force users to update their Android app. Google does not provide any mechanisms for it, so this needs to be handled by app developers.
Implementing the mechanism from scratch is a lengthy, error-prone process, fortunately, there's a simple solution, by integrating the Semaphr SDK, you'll be able to force an update to your users or to encourage them to update while still letting them use the old version. So how do you do it?
1. Register for semaphr

The first step is creating an account and adding a new project.
Semaphr, allows you to bundle all your apps in a single account, so if you have multiple apps, you can add them all.
A project has an iOS and Android application, so if you support both platforms with your digital product, you can add them both.
2. Integrate the SDK

Integrate using Gradle
If you're using Gradle, copy the Gradle dependency and add it to your Gradle file, more details on how to integrate a package can be found here.
Initialization code

Add the initialization code, and copy the initialization code (it will automatically be copied with your API key if you press the "Copy to Clipboard" button), and add it to your app.
Usually, this is added to the AppDelegate, or if you prefer add it to your Scene delegate.
Save your integration and run the app.
3. Force an update

To force an update on your users you need to go to messages and add a new one with the message type "UPDATE".
Press "Add a new message", and fill in all the details. Next to the form you can see a preview of the message as it will be displayed on your users' phones.
Title & description
You need to fill in a message title and a message description.
In the details sections, you can add links, that are going to be clickable and will take users to their default web browsers to the link you've specified.
Message type
As a message type, select Update. By selecting this message type, the app will display an update button that will take the users directly to the AppStore so they can update the app to their latest version even if they have automatic updates disabled.
The update message has an "Allow skipping" option, if that is enabled, a close button will also be displayed to the users, so they can continue to use their current version of the app without updating.
Versions
Here you need to select a range (= or <) and an app version.
If you select Exact (=) that means only that specific version will be affected by the message. If you select (< Lower than), all the versions lower than the selected one will be affected.
To illustrate this let's say your app has the following versions: 1.0.0, 1.0.1, 1.2.0, 1.3.0.
If you add an Exact rule (=) for version 1.2.0, your message will only be displayed to the users of the app which are on version 1.2.0. Other versions will remain unaffected.
If you add a rule for Lower than (<) for version 1.2.0, your message will apply to all the versions lower than 1.2.0 -- in this example 1.0.0, 1.0.1. Other versions will remain unaffected.
If you just implemented the SDK and you don't see your app version, that means, you have NOT started the app with the SDK integrated, or there are issues with the integration. In this case, check if the SDK is integrated properly -- if something is wrong, you'll see error messages in the console log.
Schedule
You need to pick a start date and time for your rule, and optionally and end date. Your message will only be displayed to your users in the selected timeframe, if you want to add a message for an indefinite amount of time, select your desired start date and leave the end date empty.
Publish
Once you click Publish the new message is added and your users will start seeing it when bringing the app to the foreground.
Should you wish to disable the message, simply go to Messages, click on your desired message, and remove it, once a message is removed, it will have no effect on the users.
For more details about the integrations, and the Android SDK check the documentation, or if you have any questions write us an email at [email protected].