【问题标题】:In-App Updates : decide a strategy to choose between Flexible and Immediate update应用内更新:决定在灵活更新和即时更新之间进行选择的策略
【发布时间】:2019-12-19 18:03:56
【问题描述】:

我已经实现了用于提供In-App updates 的 Google 库,并且我能够从 Google Play 商店接收In-App updates。我想在一个应用程序中同时实现Immediate updateFlexible update。但我找不到这样做的方法。 In-App 更新库基于仅是一个整数的 VersionCode 执行检查。我有什么办法可以制定策略来决定是采用灵活更新还是立即更新?

【问题讨论】:

  • 你总是可以的。例如,您可以有一个方法,该方法请求服务器版本号,之后应该有“立即更新”。这样您就可以判断是否需要立即更新,因为发生了重要的变化。但是如果没有这样的版本或者低于你的版本,你可以运行灵活更新。
  • @Andris 我们很快就会有更好的方法来处理这个问题。检查我的答案。 :)

标签: android in-app-update


【解决方案1】:

因此,他们已经听到了我们的声音,并且他们很快就会提出从 Android 开发峰会 '19 中听到的解决方案。

问题:

appUpdateManager.appUpdateInfo.addOnSuccessListener{ info ->
    if(info.updateAvailability == UpdateAvailability.UPDATE_AVAILABLE){
        // Which trigger should I trigger: Flexible or Immediate
    }
}

作为开发人员,我们有 2 个信号来决定我们的策略:

1.优先信号: 表示更新的重要性。优先级值由我们在发布时定义。然后通过 Play Core Api 将此优先级值公开给我们的应用程序。

示例:

appUpdateManager.appUpdateInfo.addOnSuccessListener{ info ->
    if(info.updateAvailability == UpdateAvailability.UPDATE_AVAILABLE){
        if(info.updatePriority() > 3 && info.isUpdateAllowed(AppUpdateType.IMMEDIATE)){
            // trigger Immediate flow
        }
        else if(info.isUpdateAllowed(AppUpdateType.FLEXIBLE)){
            // trigger Flexible flow
        }
    }
}

当我们发布时,我们将优先级设置为整数,假设在 0-5 之间。 在我们的应用程序中,我们设置了一个阈值,比如 3 并构建一个决策树,例如如果优先级大于 3,则触发立即更新,否则触发灵活更新。

2。过时信号: 表示设备知道更新的时间。

示例:

appUpdateManager.appUpdateInfo.addOnSuccessListener{ info ->
    if(info.updateAvailability == UpdateAvailability.UPDATE_AVAILABLE){
        if(info.clientVersionStalenessDays() > 90 && info.isUpdateAllowed(AppUpdateType.IMMEDIATE)){
            // trigger Immediate flow
        }
        else if(info.clientVersionStalenessDays() > 30 && info.isUpdateAllowed(AppUpdateType.FLEXIBLE)){
            // trigger Flexible flow
        }
    }
}

他们说这个功能很快就会推出。

在此处查看完整视频:https://youtu.be/_o_q6hatcIs?t=566

【讨论】:

  • 3 年过去了...这个功能现在可用吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-12
  • 2020-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多