使用 CodePush UI

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。

详细了解支持时间线和替代方案。

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.7)之间的任何二进制版本的设备 ((非独占)
>=1.2.3 <1.2.7 运行 1.2.3 ((包括 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-beta,例如) 。

说明

此版本的简要说明,它为部署提供了可选的“更改日志”。 此值将舍入到客户端,以便在检测到更新时,应用可以将其显示给最终用户,例如,使用“新增功能”对话框。 此字符串接受控制字符(如 \n\t ),以便可以在说明中包含空格格式,以提高可读性。

注意

此设置对应于 CLI 的 description 参数

已启用

控制更新是否可供用户部署。 默认情况下,此选项处于启用状态,如果想要阻止部署特定版本,例如,由于代码中的 bug,或者尚未准备好部署某个版本,则禁用此设置。

注意

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

必需更新

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

注意

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

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

发布 必需?
v1
v2
v3

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

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

仅当发布标记为 mandatory的更新时,描述的行为才适用于你。 仅当存在如上所述的混杂mandatory更新时,服务器才会将版本mandatory更改为 optional

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

推出百分比

开发人员使用 CLI 的推出参数 指示 CodePush 将特定版本推送到运行应用的设备的百分比。 此功能使开发人员能够在向所有人推出发布之前对其进行测试。

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