在Play商店上发布时,Android In App Update无法正常工作

时间:2020-09-24 17:32:35

标签: android firebase google-play in-app-update google-play-core

我已按照documentation的规定在我的android应用程序上实现了应用程序内更新,并且该功能似乎在end of the above page中指定的使用内部应用程序共享进行测试时可以正常工作。

但是,在我对Play商店进行了上述更改后发布了我的应用程序,然后在其上发布了任何更新之后,功能似乎不起作用。请帮助。

请在下面找到我对该功能的实现。

@Override
protected void onStart() {
    super.onStart();

    appUpdateManager = AppUpdateManagerFactory.create(this);
    Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

    appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {

        if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
                && appUpdateInfo.isUpdateTypeAllowed(IMMEDIATE)){

            try {
                appUpdateManager.startUpdateFlowForResult(
                        appUpdateInfo, IMMEDIATE, MainActivity.this, APP_UPDATE_REQUEST_CODE);

            } catch (IntentSender.SendIntentException e) {
                e.printStackTrace();
            }

        } else if (appUpdateInfo.installStatus() == InstallStatus.DOWNLOADED){
            popupSnackbarForCompleteUpdate();
        } else {
            Log.e("Update", "checkForAppUpdateAvailability: something else");
        }
    });
}

@Override
protected void onResume() {
    super.onResume();
    appUpdateManager.getAppUpdateInfo().addOnSuccessListener(
                    appUpdateInfo -> {
                        if (appUpdateInfo.updateAvailability() == UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
                            // If an in-app update is already running, resume the update.
                            try {
                                appUpdateManager.startUpdateFlowForResult(appUpdateInfo, IMMEDIATE, this, APP_UPDATE_REQUEST_CODE);
                            } catch (IntentSender.SendIntentException e) {
                                e.printStackTrace();
                            }
                        }
                        else if (appUpdateInfo.installStatus() == InstallStatus.DOWNLOADED){
                            popupSnackbarForCompleteUpdate();
                        }
                    });
}

0 个答案:

没有答案