使用 CodePush UI
重要
Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。
CodePush 服务旨在使开发人员能够使用 App Center CLI 管理其部署和发布应用程序更新。 开发人员将内容更新发布到特定部署 (通常使用 CLI 暂存) ,为该部署配置的用户获取更新。 开发人员还可以将更新从一个部署提升到另一个 (从 过渡 到 生产 ,例如) 。
若要查看应用 CodePush 部署的详细信息,请执行以下操作:
- 登录到 App Center 门户。
- 如果你不是 组织的一员,请从列表中选择一个应用程序。 如果属于一个或多个组织,请在导航器中选择组织,然后从列表中选择一个应用程序。
- 在页面左侧的导航器中,选择“ 分发”,然后选择“ CodePush”。
App Center 将列出所选部署的所有 版本 ,并显示每个版本的发布版本、状态、发布日期等。
切换部署
在列出特定部署的可用版本的页面中,使用页面右上角的下拉字段切换到其他部署。 使用下拉列表选择感兴趣的 CodePush 部署。
查看发布详细信息
若要修改特定版本的设置,请选择 (单击列表中的) 发布。 App Center 会打开一个面板,其中显示有关发布的详细信息,包括部署统计信息。
页面顶部有三个选项:
- “下载捆绑包 ”按钮:单击按钮下载打包的发布资产。 当你想要查看要部署到设备的数据时,你将在进行故障排除时执行此操作。 捆绑包实质上是一个没有扩展名) 的 zip 文件 (;下载捆绑包后,向文件添加扩展名,然后像任何其他 zip 文件一
.zip
样与该文件进行交互。 - “升级 ”按钮:单击此按钮可将此版本从当前部署升级到其他部署。 例如,使用此功能将发布从 过渡 部署提升到 生产 部署,以便向更大的目标受众发布。
- 扳手图标:单击图标可编辑所选版本的设置。
窗格的正文显示发布的部署统计信息,使你能够了解此版本的部署方式:
- 推出百分比
- 回滚数
- 活动安装
- 安装
- 下载
发布设置
App Center 使开发人员能够修改 CodePush 版本的多个方面。 若要访问发布设置,请单击发布详细信息页面右上角的扳手图标。 单击“ 完成 ”保存更改,单击右上角的 X 可取消更改。
目标版本
指定要为其发布更新的应用程序的二进制版本。 只有运行该版本的用户会收到更新,而运行应用二进制文件的较旧版本或较新版本的用户不会收到更新。
注意
此设置对应于 CLI 的 targetBinaryVersion 参数。
这很有用,原因如下:
- 如果用户运行的是较旧的二进制版本,则更新中可能存在与旧版本不兼容的重大更改。
- 如果用户运行的是较新的二进制版本,则假定其运行的内容较新,并且可能与 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 将特定版本推送到运行应用的设备的百分比。 此功能使开发人员能够在向所有人推出发布之前对其进行测试。
你将使用此设置提高特定版本的推出百分比。 由于发布已分发给一定比例的受众,因此只能增加推出百分比值。