I'm trying to figure out, how to (automatically) inform or prompt users of my Android app, which is in open test, to update to the latest version. I developed the app using Android Studio and published it using the Google play developer console.

What I would like to happen in the end is, that the user get's a notification, that there is a new update available and to give him the option to install it.

I was thinking of the way, where the user gets a notification from Google play, that there is a new update available. And if he clicks on that notification, the Google play console would open and show him, that there is an update of my app, which he could install. But I'm also open to other options, if they are more convenient to the user.

Also best practice recommendations from your experiences would be much appreciated.

From what I've read here, there should be some sort of "recovery tools" at top-right of the page when I opened my app-bundle. But there is none.

So I wonder, if this is only the case for app "in production" and not for "open test" or any other test. But I could not get any clear information about it.

I also read, that the prompting is handled automatically but it could take a while to happen. But I could not figure out, where to set it up, and how long it would take.

1

There are 1 best solutions below

2
On

In reference to Google Play Console, the "recovery tools" you referenced are exclusive to apps that are in open testing and are not accessible for apps that are in production.

The rollout of automatic updates may take some time. Users may not receive updates instantly from Google Play. sometimes they can be released over time.

You can notify users when an update is available within your app by using the In-App Update API that Google Play offers. Using this method is more user-friendly than depending only on outside alerts.

     // Import the necessary libraries in your app build.gradle
   implementation 'com.google.android.play:core:1.10.0'

    // Check for updates in your activity or fragment
  AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(context);

   // Returns an intent to check for an update
   Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

   appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
      if (appUpdateInfo.updateAvailability() == 
        UpdateAvailability.UPDATE_AVAILABLE
        && appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
       // Request the update
       try {
          appUpdateManager.startUpdateFlowForResult(
                appUpdateInfo,
                AppUpdateType.FLEXIBLE,
                this, // Specify your activity
                MY_REQUEST_CODE);
    } catch (IntentSender.SendIntentException e) {
        e.printStackTrace();
    }
   }
   });