1

我第一次尝试使用 react-native 进行 Code Push,我有一个以下问题。

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

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

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

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

谢谢

4

2 回答 2

1

您必须手动更改它。代码推送不会更改本机文件或 Play Store desc。

于 2019-08-30T13:13:16.197 回答
0

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

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

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


初始商店版本 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 的客户端)


如果由于某种原因我们不能再修补以前的版本(即要求从最新版本中添加新的本地模块),我们在应用程序中有一个内置机制来强制每个人更新到最新的商店版本(从服务器端远程触发) ,在这种情况下他们都会得到最新的codepush,我们不需要担心向后兼容性。

于 2021-11-05T17:47:30.093 回答