2

我刚刚构建了我的第一个 React Native 应用程序,我对能够通过 codepush 发送 OTA 更新感到非常兴奋。但是,当我进行更改时,发布过程是什么样的。想象一下会发生以下情况:

v1 -> released to playstore
v2 -> bugfix: released via codepush
v3 -> native changes: released to playstore

从 google playstore 下载 v3 的用户,在打开应用程序后,他会从 codepush 获得 v2 吗?我无法将 v3 推送到 codepush,因为它具有可能会中断的本机更改。

奇怪的是,没有任何 codepush 文章/文档涵盖这种潜在的竞争条件?

4

1 回答 1

1

您可以在此处从 codepush 文档中看到以下文本

目标二进制版本参数

这指定了您为其发布更新的应用程序的商店/二进制版本,以便只有运行该版本的用户才能收到更新,而运行较旧和/或较新版本的应用程序二进制文件的用户不会。这很有用,原因如下:

1) 如果用户正在运行较旧的二进制版本,则 CodePush 更新中可能存在与他们正在运行的内容不兼容的重大更改。

2) 如果用户正在运行较新的二进制版本,则假定他们正在运行的内容较新(并且可能与 CodePush 更新不兼容)。如果您没有在 release 命令中指定 targetBinaryVersion,它将从 build.gradle 中获取(或)如果您指定目标版本,则当前版本将映射到它。

假设您有一个将通过 Play 商店发送给用户的新版本,则推断版本代码和内部版本号将更新,并且较早的代码推送版本将不再指向此版本。

所以来回答你的问题。

从 google playstore 下载 v3 的用户,在打开应用程序后,他会从 codepush 获得 v2 吗?

不,他们不会得到它,因为代码推送版本将映射到早期的二进制版本

我无法将 v3 推送到 codepush,因为它具有可能会中断的本机更改。

您可以对市场上已经存在的 v3 进行更改

于 2018-09-26T07:12:17.803 回答