使用 CodePush UI

CodePush 服务旨在使开发人员能够使用 App Center CLI 管理其部署 和发布应用程序更新。 开发人员使用 CLI 将内容更新发布到 (部署) 过渡部署,为该部署配置的用户会获取更新。 开发人员还可以将更新从一个部署提升到另一个部署 (从" 过渡"提升为"生产",例如) 。

若要查看应用的详细信息,请参阅 CodePush 部署:

  1. 登录到 App Center 门户
  2. 如果你不是组织的一 部分, 请从列表中选择一个应用程序。 如果你属于一个或多个组织,请在导航器中选择组织,然后从列表中选择一个应用程序。
  3. 在页面左侧的导航器中,选择"分发 ", 然后选择 "CodePush"。

App Center将列出所选部署的所有版本,并显示每个版本的发布版本、状态、发布日期等。

切换部署

在列出特定部署的可用版本的页面中,使用页面右上角的下拉字段切换到其他部署。 使用下拉列表选择感兴趣的 CodePush 部署。

查看发布详细信息

若要修改特定发布的设置,请选择 (单击) 列表中的发布。 App Center打开一个面板,其中显示有关版本的详细信息,包括部署统计信息。

页面顶部有三个选项:

  • "下载捆绑 包"按钮:单击按钮以下载打包的发布资产。 若要查看正在部署到设备的数据,请执行以下故障排除。 绑定实质上是 (没有扩展名) 的 zip 文件;下载捆绑包后,在 .zip 该文件中添加扩展,然后与其他任何 zip 文件等文件交互。
  • 升级 按钮:单击此按钮可将此发布从当前部署提升到不同的部署。 例如,你将使用此功能将发布从 过渡 升级到 生产 部署,以便发布到更大的目标受众。
  • 扳手图标:单击图标可编辑所选版本的设置。

窗格的 "正文" 显示了版本的部署统计信息,使您能够了解如何部署此版本:

  • 推出百分比
  • 回滚数
  • 活动安装
  • 安装
  • 下载

版本设置

App Center 允许开发人员修改 CodePush 版本的多个方面。 若要访问版本设置,请单击 "发布详细信息" 页右上角的扳手图标。 单击 " 完成 " 以保存所做的更改,或单击右上角的 " X " 以取消更改。

目标版本

指定要发布其更新的应用程序的二进制版本。 只有运行该版本的用户才会收到更新,而运行应用二进制文件的较新版本或更高版本的用户将不会收到更新。

备注

此设置对应于 CLI 的 targetBinaryVersion 参数

由于以下原因,此操作很有用:

  1. 如果用户运行的是较旧版本的二进制文件,则更新中可能存在与较旧版本不兼容的重大更改。
  2. 如果用户运行的是较新的二进制版本,则会假设正在运行的内容与 CodePush 更新的更新和可能不兼容。

如果你想要将更新指定为应用商店二进制文件的多个版本,还可以将参数指定为 semver 范围表达式。 这样,任何运行符合范围表达式的二进制文件版本的客户端设备 semver.satisfies(version, range) returns true 都将获取更新。 有效的 semver 范围表达式的示例如下所示:

Expression 谁获取更新?
1.2.3 仅运行应用程序的特定二进制版本1.2.3 的设备
* 配置为使用 CodePush 应用更新的任何设备
1.2. x 运行主版本1、次版本2和应用的任何修补程序版本的设备
1.2.3-1.2。7 在1.2.3 之间运行任何二进制文件版本的设备 (包括) 和 1.2.7 (包含)
>= 1.2.3 <1.2。7 在1.2.3 之间运行任何二进制文件版本的设备 (包含) 和 1.2.7 (专用)
1.2 等效于 >= 1.2.0 <1.3。0
~ 1.2。3 等效于 >= 1.2.3 <1.3。0
^ 1.2。3 等效于 >= 1.2.3 <2.0。0

备注

如 semver 规范中所定义,范围仅适用于非预发行版本 (请参阅 预发行标记) 。 如果要使用预发布标记更新版本,请编写要更新的确切版本 (1.2.3-例如) 。

说明

此版本的简短说明,为部署提供可选的 "更改日志"。 值与客户端往返,因此在检测到更新时,应用程序可以将其显示给最终用户,例如,使用 "新增功能"。 对话框中的字段。 此字符串接受控件字符(如 和 )以便可以在说明中包括空格格式, \n \t 以提高可读性。

备注

此设置对应于 CLI 的说明参数

Enabled

控制更新是否可供用户部署。 默认情况下会启用此选项,因此,当你想要阻止部署特定版本时(例如,由于代码中的 bug,或者尚未准备好部署版本时)禁用此设置。

备注

此设置对应于 CLI 的禁用参数

必需的更新

指定是否需要特定版本 (例如,当它包含关键安全修补程序) 。 当应用程序使用) 手动同步 CodePush 服务器进程 (时,应用程序可以决定是否应用更新,除非启用了 codepush.sync required 属性。

备注

此设置对应于 CLI 的必需参数

所需的属性是唯一的,因为服务器将动态修改它,以维护最终用户发布的语义。 例如,假设你发布了应用的三个更新:

发布 必需?
v1
v2
v3

如果设备运行应用的 v1,并查询服务器以进行更新,则服务器会使用 v3 进行响应。 服务器会将发布动态转换为 mandatory ,因为更新是在两者之间 mandatory 发布的。 v3 中包含的代码是 v2 中代码的增量代码,因此,无论 v2 成为必需代码,都会继续使 v3 成为缺少 v2 的任何人的必需代码。

如果最终用户当前正在运行 v2,并且他们查询服务器中的更新,它将使用 v3 进行响应,但将发布保留为 optional 。 由于他们已收到强制更新,因此无需修改 v3 的策略。 此行为是服务器"动态转换"必需标志的原因,因为就发布来说,其必需属性将始终使用发布时指定的值进行存储。 只有在响应设备中的更新检查时,它才会动态更改。

如果你发布标记为的更新,则所述的行为仅适用于你 mandatory 。 如果有混用的更新,服务器将只更改 optional 版本, mandatory mandatory 如下所示。

标记为的发布 mandatory 永远不会转换为 optional

推出百分比

开发人员使用 CLI 的推出参数 来指示 CodePush 将特定版本推送到运行该应用程序的设备所占的百分比。 利用此功能,开发人员可以在将版本推出给所有人之前,先对其进行测试。

你将使用此设置来增加特定版本的推出百分比。 由于已将发布分配到一定百分比的受众,因此只能增加推出百分比值。