gpt4 book ai didi

android - 内部应用更新 : clientVersionStalenessDays() returning null when testing with internal app sharing

转载 作者:行者123 更新时间:2023-12-05 00:04:30 25 4
gpt4 key购买 nike

图书馆:

implementation 'com.google.android.play:core:1.7.3' 
implementation 'com.google.android.play:core-ktx:1.7.0'

附加信息:

有关应用程序更新和内部应用程序共享的所有其他内容对我都适用,如果我在 if 语句中几天不使用条件可用,我确实会收到提到更新的对话框。

1.) 我正在根据找到的文档实现应用更新 here .

      // Returns an intent object that you use to check for an update.
val appUpdateInfoTask = appUpdateManager.appUpdateInfo

// Checks whether the platform allows the specified type of update,
// and checks the update priority.
appUpdateInfoTask.addOnSuccessListener { appUpdateInfo ->
val daysAvailable = appUpdateInfo.clientVersionStalenessDays() ?: 0
Toast.makeText(this, "Update availbable for $daysAvailable days", Toast.LENGTH_LONG).show()
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
&& daysAvailable >= DAYS_FOR_FLEXIBLE_UPDATE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)) {
startUpdate(appUpdateInfo, appUpdateManager, AppUpdateType.FLEXIBLE, REQUEST_CODE_UPDATE_FLEXIBLE)
} else if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
&& daysAvailable > DAYS_FOR_IMMEDIATE_UPDATE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
startUpdate(appUpdateInfo, appUpdateManager, AppUpdateType.IMMEDIATE, REQUEST_CODE_UPDATE_IMMEDIATE)
}
}

为了通过 Google Play 进行尝试,我使用了内部应用共享方法。所以我实际上在内部应用程序共享上上传了 3 个版本的应用程序。所以我点击第一个 apk,它的版本号为 v200,然后我点击版本 201 的链接,但根据指南,我没有点击安装。我等了 1 或 2 天,但 appUpdateInfo.clientVersionStalenessDays() 仍然返回 null,即使在我点击第二个版本的 apk 链接 (v201) 几天后也是如此。 我的第一个问题是,为什么这个方法总是为我返回 null,即使它知道有可用的更新?

2.) 我的第二个问题是关于 appUpdateInfo.clientVersionStalenessDays() 本身。假设今天是星期一,用户安装了 200 版,我们发布了 201 版,他可以在星期二使用。理论上,周四 appUpdateInfo.clientVersionStalenessDays() 应该返回 2(因为此用户有 2 天有更新可用)。但是他还是没有选择更新。然后在星期五我们发布了版本 202,他在星期六可以使用。星期天,上面的方法应该返回什么? 1 还是 5? **所以我的第二个问题基本上是,当有新版本可供用户使用时,此方法计数器会重置吗?当我们发布 v202 版本时它会重置吗? (此方法会检查版本 202 对他可用多长时间,还是只是一般更新?)。

如果我应该提供有关我的问题的任何其他信息,请告诉我。

最佳答案

它在内部应用程序共享中不起作用并返回 null。您可以检查构建版本,如果构建版本等于调试 - 使用模拟值

关于android - 内部应用更新 : clientVersionStalenessDays() returning null when testing with internal app sharing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63134939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com