1

我想在我的应用程序中集成灵活的更新。这是我的代码:

fun checkForUpdates(){

    val appUpdateManager = AppUpdateManagerFactory.create(this)
    val appUpdateInfoTask = appUpdateManager.appUpdateInfo


    val listener = InstallStateUpdatedListener {

        if (it.installStatus() == InstallStatus.DOWNLOADED){

            val snackBar = Snackbar.make(parentLayout, "An update has just been downloaded.", Snackbar.LENGTH_INDEFINITE)
            snackBar.duration = 10000
            snackBar.view.setBackgroundColor(ContextCompat.getColor(this, R.color.colorPrimaryDark))
            snackBar.setActionTextColor(ContextCompat.getColor(this, R.color.white))
            snackBar.setAction("RESTART") {
                appUpdateManager.completeUpdate()
            }
            snackBar.show()
        }
    }


    appUpdateInfoTask.addOnSuccessListener { appUpdateInfo->
        if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE && appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)){
            appUpdateManager.registerListener(listener)
            appUpdateManager.startUpdateFlowForResult(
                appUpdateInfo,
                AppUpdateType.IMMEDIATE,
                this,
                UPDATE_REQUEST_CODE)

        }
    }
}

我在测试它时遇到问题。我尝试减少我的构建版本号,但它似乎不起作用。

4

1 回答 1

0

文档中所述

  • 确保您用于测试应用内更新的应用具有相同的应用 ID,并且使用与 Google Play 提供的相同的签名密钥进行签名。
  • 在使用该帐户测试应用内更新之前,请确保您使用的帐户已从 Google Play 下载您的应用至少一次
  • 由于 Google Play 只能将应用更新为更高版本的代码,因此请确保您正在测试的应用的版本代码低于更新版本代码。
  • 确保帐户符合条件并且 Google Play 缓存是最新的。

有关更多信息,请参阅文档

于 2019-08-12T18:42:35.080 回答