Is there a way to have a "critical update" for my app on the Google Play Store that would require the user to update the app to keep using it?

For instance, let say I push an update that brings a few bugfixes. Nothing mandatory, the user updates it if he wants to: that's a non-critical update.

Now, say I correct a very serious security issue on my app and want all the users to update to this version to keep using the app: this is a critical update.

Basically, if there is a critical update and the user has not updated yet, he cannot use the app until he does so.

Is this possible using the Play Store?

Thanks for your feedback!

  • 1
    I don't know many specifics about how the play store works for publishers, but no, this is not possible in the general case. Consider what happens if your user is offline. I'd wager that Google won't provide this service, but if your app has a server component on a server you control then you could disallow clients with version < x and achieve essentially the same thing. However, consider the user experience. You will have one or more people outside on a shoddy 3g connection who can't update, but could use--do you really want to force them to look elsewhere?
    – Phoshi
    Jan 6 '14 at 9:13
  • 1
    would you really want publishers to be able to put software on your device whether you want the 'upgrade' or not? Jan 6 '14 at 17:26
  • This open source GitHub project (MAHAndroidUpdater) is completely providing this functionality. Try it, Very simple. github.com/hummatli/MAHAndroidUpdater Jul 21 '16 at 14:15

For this to work, some kind of logic the app uses needs to be under your control. And then without that part of logic the app won't work and you can show a message: "your app is out of date, please download the new version to continue use."

Consider a messenger app where traffic goes through your servers. Just refuse to deliver messages of clients using an outdated version.

  • About the first approach, Any idea about how to inform user who is using app with older version where the 'some kind of logic' is not implemented?
    – ALearner
    May 11 '16 at 7:23
  • @GrokkingDroid The "some kind of logic" is not implemented at all in your app. It sits on your server. Just inform the user as soon as he/she starts the app and makes connection to your server.
    – Pieter B
    May 11 '16 at 10:00

It should not be your responsibility to decide what users need or want to run on their devices.

The best way to handle the situation you describe is to notify users that a critical security bug fix has been released and that everybody should update the app.

  • 2
    Perhaps the question then becomes how can you notify your users?
    – Lou Morda
    Sep 16 '15 at 22:26
  • 6
    -1, since this doesn't answer the question asked, and instead give us the answerer's personal opinion that users should be free to run any version they want. Jul 16 '16 at 2:56
  • @VaddadiKartick - Sometimes questions are best answered using a lateral-thinking approach.
    – mouviciel
    Jul 16 '16 at 11:13
  • Ideally this is true, but business requirements sometimes dictate that we stop support of older app versions because of breaking API changes. In this case, it's much nicer to inform the user that their version of the app is no longer supported and they need to update rather than allowing their UX to suffer from bugs and crashes caused by those changes.
    – c.dunlap
    Jun 12 '17 at 16:04
  • @c.dunlap: In some industries, such as space critical software development, everything must be under control including specific versions of compilers, OSes and tools. No application should be modified without knowing exactly all possible direct or indirect consequences, and certainly not without notice.
    – mouviciel
    Jun 12 '17 at 18:42

Application Licensing

The only way to force a user to update to the latest version is to use a licensing schema. There already exists the Application Licensing SDK that will allow you to register user's. Once they are registered you can revoke the license of old versions. Forcing the user to update if they want to continue to use the application.

You have to check the terms and conditions for licensing to see if Google allow licenses to be used in that fashion.

What you can do, what the user can do and who should do it. Is all technical/legal issues around the usage of your application. Did the user click an agreement for terms/conditions before using the application? Did you specify that the user agrees to accept updates, and to stop using old versions?

Unless you have put these terms in place for the user to agree to, and these terms don't conflict with Google's terms/conditions for apps, then I don't see a problem with forcing them to update.

With that said, I wouldn't agree to those terms and won't use the app ;)

Not the answer you're looking for? Browse other questions tagged or ask your own question.