[android] Programmatically check Play Store for app updates

Firebase Remote Config could be a possible and reliable solution for now, since google didn't expose any api to it.

Check Firebase Remote Config Docs

Steps 1.Create a firebase project and add google_play_service.json to your project

2.Create keys like "android_latest_version_code" and "android_latest_version_name" in firebase console->Remote Config

3.Android Code

    public void initializeFirebase() {
        if (FirebaseApp.getApps(mContext).isEmpty()) {
            FirebaseApp.initializeApp(mContext, FirebaseOptions.fromResource(mContext));
        }
        final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
        FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
                                                              .setDeveloperModeEnabled(BuildConfig.DEBUG)
                                                              .build();
        config.setConfigSettings(configSettings);
}

Get current version name and code

int playStoreVersionCode = FirebaseRemoteConfig.getInstance().getString(
                "android_latest_version_code");
PackageInfo pInfo = this.getPackageManager().getPackageInfo(getPackageName(), 0);
int currentAppVersionCode = pInfo.versionCode; 
if(playStoreVersionCode>currentAppVersionCode){
//Show update popup or whatever best for you
}

4. And keep firebase "android_latest_version_code" and "android_latest_version_name" upto date with your current production version name and code.

Firebase remote config works on both Android and IPhone.