使用外部托管的构建分发版本

重要

Visual Studio App Center 于 2025 年 3 月 31 日停用,但分析和诊断功能除外,这些功能将继续受支持,直到 2026 年 6 月 30 日。 了解详细信息

可以在 App Center 中为应用创建发布,而无需上传生成或二进制文件。 而是提供指向托管文件的位置的链接。 App Center 不会下载该文件。 某些功能将丢失,但大多数情况下,所有功能的行为方式相同。

在此页面,你可以阅读如何创建使用外部托管构建的发布,以及其要求和限制。

使用外部托管的构建来创建发布

开始创建一个版本给测试人员或测试组,方式与其他版本发布相同。 然后找到用于创建外部托管生成二进制文件的发布的选项。

  1. 在 App Center 网站中打开应用,然后转到 “分发>发布 ”并选择 “新版本”。
  2. 选择 “指定生成 URL ”以转到向导以创建发布,而无需将二进制文件上传到 App Center。
  3. 输入所需信息
    1. 指向要托管的二进制文件的 HTTPS URL。
    2. 版本的内部版本号。
    3. 对于某些操作系统,发行版本。
  4. 选择 “下一步 ”输入其余发布信息。 从此处开始,流程与常规发布过程相同。
  5. 备注选项卡上,可以选择输入供测试人员查看的版本说明。 选择下一步
  6. 在“目标”选项卡上,选择测试人员/组以分发发行版。 选择下一步
  7. 在“ 审阅 ”选项卡上,验证发布的详细信息。 (可选)选择不通知用户发布。
  8. 最后,选择“分发”以发布该版本。 它将显示在你授予访问权限的测试人员身上,它们将根据你的设置收到通知。

使用 API 创建具有外部托管版本的发布

可以使用应用程序编程接口(API)通过 App Center 外部托管的二进制文件创建发布。 第一步是创建发布版本,并且设置正确的 URL 和版本号。 之后,可以选择为发布添加更多详细信息,然后将其分发给测试人员。

如果您不熟悉 App Center API 或 API,请先阅读 App Center API 简介。 可以在此处了解如何针对 API 进行身份验证,以及如何查找所有者名称和应用名称。 你需要以下这些值。

创建外部版本

若要创建发布版本,请发送POST请求到/v0.1/apps/{owner_name}/{app_name}/releases终结点。 此终结点接收包含以下参数的请求体:

  • external_download_url (必需):指向要托管的二进制文件的 HTTPS URL。
  • build_version (必填):发布版本。
  • build_number:发布的版本号。

{owner_name} URL 中的参数是拥有应用的组织或用户帐户的名称,并且{app_name}是应用的名称。 请参阅 App Center API 简介 ,了解如何查找应用的这些值。

例如,让我们为 MyCorp 组织在 App Center 中拥有的应用 Calculator 创建一个新版本。 生成文件托管在 https://mycorp.example.com/calculator/builds/42. 版本为 1.12 ,内部版本号为 87324.

将请求发送到https://api.appcenter.ms/v0.1/apps/MyCorp/Calculator/releases,使用以下 JSONbody

{
    "build_version": "1.12",
    "build_number": "87324",
    "external_download_url": "https://mycorp.example.com/calculator/builds/42"
}

X-API-Token 标头中设置 API 令牌,并将 Content-Type 标头设置为 application/json。 示例响应将(省略一些值):

{
    "app_name": "Calculator",
    "is_external_build": true,
    "id": 4,
    "version": "87324",
    "short_version": "1.12",
    "download_url": "https://mycorp.example.com/calculator/builds/42",
    "install_url": "https://mycorp.example.com/calculator/builds/42",
    "destinations": []
}

提供的 URL 是下载 URL,并 is_external_build 显示这是正确的发布类型。 根据应用的作系统,安装 URL 可能有所不同。 列表 destinations 为空,这意味着测试人员尚无权访问该版本。 接下来我们来分发发布版本。

分发版本

创建发布后,可以通过调用 分发到组 POST 终结点/v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups来分发它。 或者,可以使用类似的终结点分发给测试人员。 请记住,无法将外部托管的构建发布到应用商店。 请参阅 要求和限制

使用在创建发布时为{release_id}参数在 URL 中返回的id值。 通过调用分发组 GET 终结点来查找要发送的组id。 我们在这里将版本发布到组 86aa9283-4e04-4872-a003-208c267d9388,并通知测试人员此版本发布。

{
  "id": "86aa9283-4e04-4872-a003-208c267d9388",
  "notify_testers": true
}

要求和限制

外部托管版本具有以下要求和限制:

  • 必须在安全的 HTTPS URL 后面托管二进制文件。 App Center 只接受以https://开头的 URL,而不接受以http://开头的 URL。
  • 您只能将有外部托管构建的版本分发给测试人员和组。 Google Play 和 App Store 等商店要求你向他们发送二进制文件。
  • 应用内更新不起作用。
  • App Center 无法显示二进制文件的 MD5 哈希、文件大小或预配配置文件。
  • App Center 无法为二进制文件重新签名或自动管理适用于 iOS 应用程序的设备。

识别有外部托管构建的版本

具有外部托管内部版本的版本显示在 App Center 中,图标中带有链符号。 查询 API 以获取发布详细信息时,显示 is_external_build 的版本与 App Center 外部托管的版本一样 true

具有外部托管版本的发布图标

在此图中,版本 4 是外部版本,而其他三个版本由 App Center 托管。