我已按照 Google 网站上的步骤支持应用更新。但是,我仍然对如何指定哪些更新是“立即的”以及哪些更新是“灵活的”感到困惑。我在 Google Play 开发者控制台的任何地方都看不到标志。还是我应该编写自己的 API 来根据版本代码检查我的服务器?
这是我的实现:
appUpdateManager.appUpdateInfo.addOnSuccessListener { updateInfo ->
Log.e("launcher", "appUpdateInfo $updateInfo")
Log.e("launcher", "updateAvailablility ${updateInfo.updateAvailability()}")
Log.e("launcher", "availableVersion ${updateInfo.availableVersionCode()}")
if (updateInfo.updateAvailability()
== UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
// If an in-app update is already running, resume the update.
appUpdateManager.startUpdateFlowForResult(
updateInfo,
IMMEDIATE,
this,
REQUEST_UPDATE);
} else if (updateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE && updateInfo.isUpdateTypeAllowed(IMMEDIATE)) {
appUpdateManager.startUpdateFlowForResult(updateInfo, IMMEDIATE, this, REQUEST_UPDATE)
} else if (updateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE && updateInfo.isUpdateTypeAllowed(FLEXIBLE)) {
dialog(getString(R.string.update_recommended_title), getString(R.string.update_required_content), getString(R.string.update_required_positive), {
appUpdateManager.startUpdateFlowForResult(updateInfo, FLEXIBLE, this, REQUEST_UPDATE)
}, getString(R.string.update_recommended_negative), {
})
}
}