18

Playstore 控制台中是否有任何选项可用于配置此值?

这是官方文档。代码:

// Creates instance of the manager.
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(context);

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

// Checks that the platform will allow the specified type of update.
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
    if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
          // For a flexible update, use AppUpdateType.FLEXIBLE
          && appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
              // Request the update.
    }
});

我们如何知道:

appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)

以上类型在哪里配置?官方文档上没有相关描述。

在 AppUpdateInfo.class 中:

public final boolean isUpdateTypeAllowed(int var1) {
        if (var1 == 0) {
            return this.f != null;
        } else if (var1 == 1) {
            return this.e != null;
        } else {
            return false;
        }
    }

and方法返回或基于它们的值的位置fe位置。PendingIntenttruefalse

4

3 回答 3

9

appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE) 有什么用?

这是一个很常见的问题。

许多人(包括我自己)将此解释为可以在某处动态设置的值,例如在 Google Play 控制台中。

然而,情况似乎并非如此。这是一项本地检查,用于确定设备上的条件是否已满足以显示对话框。

如果您想动态配置是显示即时更新还是灵活更新,您需要自己提供,例如从后端提供。

欲了解更多信息:https ://medium.com/@jplipata/undocumented-android-in-app-updates-a95efb9b7bd8?source=friends_link&sk=e8085150daa555ea80d07e8419b5341e

于 2019-08-12T18:57:38.873 回答
0

更新类型(IMMEDIATE 或 FLEXIBLE)是在应用程序内部设置的,而不是在播放控制台中设置的。

首先只需要进行应用更新可用性检查:

appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
    if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE

如果此检查成功,您需要自己启动更新流程

appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.IMMEDIATE,

或者

appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.FLEXIBLE,

对于这种类型,更新将安装在后台或 Play 商店覆盖的阻止视图中。

当触发灵活应用更新并且用户离开应用时,您需要在下次启动时检查灵活更新是否正在后台运行或已完成。

https://developer.android.com/guide/app-bundle/in-app-updates

于 2019-07-01T10:26:50.560 回答
0
appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)

appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)

versionCode与 Play Store 上的 Live App 相比,我曾多次尝试降低它。

也许在下一次更新中,谷歌会解释这个,isUpdateTypeAllowed因为现在它只是一个模棱两可的电话。

由开发人员选择调用哪种类型的更新。

模式由代码中的应用程序确定。

请参阅以获取更多参考https://developer.android.com/guide/app-bundle/in-app-updates#start_update

于 2019-08-20T10:46:04.997 回答