【问题标题】:How to keep in sync code push and appstore's version?如何保持同步代码推送和应用商店的版本?
【发布时间】:2019-08-30 02:52:38
【问题描述】:

我第一次尝试使用 react-native 进行代码推送,我有以下问题。

假设我在 AppStore 上发布了一个版本为 1.2.0 的应用,并且我为该特定目标 (1.2.0) 推送了一个代码推送版本。

现在,更新弹出窗口会显示给这些用户,但我不想向新安装程序显示弹出窗口,因此我在 AppStore 上重新发布了该应用程序并将其迁移到 1.2.1。

所以我的问题是,那些安装了 1.2.0 的用户后来得到了代码推送版本呢? 他们有 1.2.1 的代码,但他们的实际版本是 1.2.0。 那么我们如何才能让 AppStore 版本与代码推送同步呢?

一般来说,我们如何安全地处理代码推送,涵盖此类情况?

谢谢

【问题讨论】:

  • 你不能在代码推送之前将你的应用程序中的版本更新到1.2.1,然后再通过appstore发布正确的1.2.1吗?我没有尝试在代码推送中包含对版本号的更改,但我认为它可以工作。否则当 1.2.1 发布时,1.2.0(代码推送版本)的用户应该会自动更新,因为有新版本可用。
  • 好的,你的意思是我应该通过代码推送更新已经安装的应用程序并生成一个新的应用程序商店部署,对吧?
  • 在代码推送和标准部署方面我们应该遵循什么方法吗?
  • 只是大声思考!如何检查应用程序是否首先启动,然后跳过弹出窗口并直接更新 codepush 包?这样您就不必再次向应用商店发布新版本。

标签: react-native react-native-ios code-push react-native-code-push


【解决方案1】:

您必须手动更改它。代码推送不会改变原生文件或 Play 商店中的描述。

【讨论】:

    【解决方案2】:

    答案有点晚了,但与任何想知道的人分享我的 2 美分 -

    在我们的生产环境中,我们使用第 4 位数字来标识 codepush 版本(并在我们应用的设置页面中显示此值)。 appstore/playstore 版本(根据需要)采用 X.X.X 格式,但应用 UI 显示 X.X.X.X

    当我们对更新进行代码推送时,我们会增加第 4 位数字(它存储在 appconfig.js 中),并在下一次商店发布后将其重置为 1。因为代码推送版本可以针对特定的应用商店/Playstore 版本(使用CLI 的 -t 选项),通过这种方法,我们可以将最新的更新代码推送到最近的商店版本,同时也可以将补丁推送到以前的版本。示例:


    初始商店版本 1.0.0 => 应用设置页面显示 1.0.0.1

    • Codepush #1 , target 1.0.0 => 1.0.0.2
    • Codepush #2 , target 1.0.0 => 1.0.0.3

    商店版本 1.0.1 => 1.0.1.1

    • Codepush #3,目标1.0.1 => 1.0.1.2
    • 补丁 Codepush #4 ,目标 1.0.0 => 1.0.0.4

    (将以前版本的补丁应用到尚未更新到 1.0.1 的客户端)


    如果出于任何原因我们无法再修补以前的版本(即要求从最新版本中添加新的原生模块),我们在应用程序中有一个内置机制来强制每个人更新到最新的商店版本(从远程触发server side) ,这样他们都会得到最新的codepush,我们不需要担心向后兼容性。

    【讨论】:

      猜你喜欢
      • 2014-07-23
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2020-12-15
      • 2021-10-18
      • 2021-12-14
      • 2013-06-23
      相关资源
      最近更新 更多