管理应用提交

Microsoft应用商店提交 API 提供了可用于管理应用提交的方法,包括逐步推出程序包。 有关 Microsoft 应用商店提交 API 的简介,包括使用 API 的先决条件,请参阅 使用 Microsoft 应用商店服务创建和管理提交。

重要

如果使用 Microsoft 应用商店提交 API 为应用创建提交,请确保仅使用 API 而不是合作伙伴中心对提交进行进一步更改。 如果使用合作伙伴中心更改最初使用 API 创建的提交,将无法再使用 API 更改或提交该提交。 在某些情况下,提交可能处于错误状态,无法继续提交过程。 如果发生这种情况,则必须删除提交并创建新提交。

重要

不能使用此 API 为通过适用于企业的 Microsoft Store 和适用于教育的 Microsoft Store 进行的批量购买发布提交,也不能直接向企业发布 LOB 应用的提交。 对于这两种情况,您必须使用 Partner Center(合作伙伴中心)发布提交内容。

管理应用提交的方法

使用以下方法获取、创建、更新、提交或删除应用提交。 在使用这些方法之前,应用必须已存在于合作伙伴中心帐户中,并且必须先在合作伙伴中心为应用创建一个提交。 有关详细信息,请参阅 先决条件

方法 URI 描述
获取 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} 获取现有应用提交
获取 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status 获取现有应用提交的状态
帖子 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions 创建新应用提交
放置 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} 更新现有的应用提交
帖子 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit 提交新建或已更新的应用提交
删除 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} 删除应用提交

创建应用提交

若要为应用创建提交,请按照以下步骤进行操作。

  1. 如果尚未开始操作,请先完成 Microsoft Store 提交 API 的所有先决条件

    注意

    确保应用至少有一项已填写年龄分级信息的已完成提交。

  2. 获取 Azure AD 访问令牌。 在 Microsoft Store 提交 API 中,必须将此访问令牌传递给相关方法。 获取访问令牌后,需要 60 分钟才能使用它,然后它过期。 令牌过期后,可以获取一个新令牌。

  3. 通过在 Microsoft 应用商店提交 API 中执行以下方法来创建应用提交。 此方法创建新的正在进行的提交,这是你上次发布的提交的副本。

    POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions
    

    响应正文包含一个 应用提交 资源,其中包括新提交的 ID、用于将提交内容上传到 Azure Blob 存储的任何相关文件的共享访问签名(SAS)URI(例如应用包、列表图像和预告片文件),以及新提交的所有数据(例如列表和定价信息)。

    注意

    SAS URI 提供对 Azure 存储中安全资源的访问权限,而无需帐户密钥。 有关 SAS URI 及其与 Azure Blob 存储配合使用的背景信息,请参阅 共享访问签名,第 1 部分:了解 SAS 模型共享访问签名,第 2 部分:创建 SAS 并将其与 Blob 存储配合使用

  4. 如果要为提交添加新的包、列出图像或预告片文件, 准备应用包,准备应用屏幕截图、图像和预告片。 将所有这些文件添加到 ZIP 存档。

  5. 使用新提交所需的任何更改来修改应用提交数据,并执行以下方法来更新应用提交

    PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}
    

    注意

    如果要为提交添加新文件,请确保更新提交数据以引用 ZIP 存档中这些文件的名称和相对路径。

  6. 如果要为提交添加新包、列出映像或预告片文件,请使用前面调用的 POST 方法的响应正文中提供的 SAS URI 将 ZIP 存档上传到 Azure Blob 存储。 可以使用不同的 Azure 库在各种平台上执行此作,包括:

    以下 C# 代码示例演示如何使用适用于 .NET 的 Azure 存储客户端库中的 CloudBlockBlob 类将 ZIP 存档上传到 Azure Blob 存储。 此示例假定 ZIP 存档已写入流对象。

    string sasUrl = "https://productingestionbin1.blob.core.windows.net/ingestion/26920f66-b592-4439-9a9d-fb0f014902ec?sv=2014-02-14&sr=b&sig=usAN0kNFNnYE2tGQBI%2BARQWejX1Guiz7hdFtRhyK%2Bog%3D&se=2016-06-17T20:45:51Z&sp=rwl";
    Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob blockBob =
        new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob(new System.Uri(sasUrl));
    await blockBob.UploadFromStreamAsync(stream);
    
  7. 通过执行以下方法确认应用提交。 这将提醒合作伙伴中心你已完成提交,并且你的更新现在应应用于你的帐户。

    POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit
    
  8. 通过执行以下方法来检查提交状态以获取应用提交的状态

    GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status
    

    若要确认提交状态,请查看响应正文中的 状态 值。 如果请求成功,此值应从 CommitStarted 更改为 PreProcessing;如果请求中存在错误,则此值应更改为 CommitFailed。 如果存在错误,statusDetails 字段包含有关错误的更多详细信息。

  9. 提交成功完成后,提交将发送到应用商店进行引入。 可以使用以前的方法或访问合作伙伴中心,继续监视提交进度。

管理逐步推出软件包的方法

你可以在应用提交中逐步将更新包推广到 Windows 10 和 Windows 11 上应用的部分用户。 这样,你可以监视特定包的反馈和分析数据,以确保在更广泛地推出更新之前对更新充满信心。 可以更改已发布提交的推出百分比(或停止更新),而无需创建新的提交。 有关详细信息,包括有关如何在合作伙伴中心中启用和管理逐步软件包推出的说明,请参阅本文章

若要以编程方式为应用提交启用逐步软件包推出,请使用 Microsoft 应用商店提交 API 中的方法遵循此过程:

  1. 创建应用提交获取现有应用提交
  2. 在响应数据中,找到 packageRollout 资源,将 isPackageRollout 字段设置为 true,并将 packageRolloutPercentage 字段设置为应获取更新包的应用客户的百分比。
  3. 将更新的应用提交数据传递到更新应用提交方法。

为应用提交启用逐步软件包推出后,可以使用以下方法以编程方式获取、更新、停止或完成逐步推出。

方法 URI 描述
获取 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/packagerollout 获取应用提交的逐步推出信息
帖子 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/updatepackagerolloutpercentage 更新应用提交的逐步推出百分比
帖子 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/haltpackagerollout 终止应用提交的逐步推出
帖子 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/finalizepackagerollout 完成应用提交的逐步推出

用于管理应用提交的代码示例

以下文章提供了详细的代码示例,演示如何使用多种不同的编程语言创建应用提交:

StoreBroker PowerShell 模块

作为直接调用 Microsoft 应用商店提交 API 的替代方法,我们还提供一个开源 PowerShell 模块,该模块在 API 顶部实现命令行接口。 此模块名为 StoreBroker。 可以使用此模块通过命令行管理应用、测试版和加载项的提交,而不是直接调用 Microsoft Store 提交 API。您也可以直接浏览源代码以查看有关如何调用此 API 的更多示例。 StoreBroker 模块在 Microsoft 中被主动用作许多第一方应用程序提交到应用商店的主要方式。

有关详细信息,请参阅 GitHub 上的StoreBroker 页。

数据资源

用于管理应用提交的Microsoft应用商店提交 API 方法使用以下 JSON 数据资源。

应用提交资源

此资源描述了应用的提交过程。

{
  "id": "1152921504621243540",
  "applicationCategory": "BooksAndReference_EReader",
  "pricing": {
    "trialPeriod": "FifteenDays",
    "marketSpecificPricings": {},
    "sales": [],
    "priceId": "Tier2",
    "isAdvancedPricingModel": true
  },
  "visibility": "Public",
  "targetPublishMode": "Manual",
  "targetPublishDate": "1601-01-01T00:00:00Z",
  "listings": {
    "en-us": {
      "baseListing": {
        "copyrightAndTrademarkInfo": "",
        "keywords": [
          "epub"
        ],
        "licenseTerms": "",
        "privacyPolicy": "",
        "supportContact": "",
        "websiteUrl": "",
        "description": "Description",
        "features": [
          "Free ebook reader"
        ],
        "releaseNotes": "",
        "images": [
          {
            "fileName": "contoso.png",
            "fileStatus": "Uploaded",
            "id": "1152921504672272757",
            "description": "Main page",
            "imageType": "Screenshot"
          }
        ],
        "recommendedHardware": [],
        "title": "Contoso ebook reader"
      },
      "platformOverrides": {
        "Windows81": {
          "description": "Ebook reader for Windows 8.1"
        }
      }
    }
  },
  "hardwarePreferences": [
    "Touch"
  ],
  "automaticBackupEnabled": false,
  "canInstallOnRemovableMedia": true,
  "isGameDvrEnabled": false,
  "gamingOptions": [],
  "hasExternalInAppProducts": false,
  "meetAccessibilityGuidelines": true,
  "notesForCertification": "",
  "status": "PendingCommit",
  "statusDetails": {
    "errors": [],
    "warnings": [],
    "certificationReports": []
  },
  "fileUploadUrl": "https://productingestionbin1.blob.core.windows.net/ingestion/387a9ea8-a412-43a9-8fb3-a38d03eb483d?sv=2014-02-14&sr=b&sig=sdd12JmoaT6BhvC%2BZUrwRweA%2Fkvj%2BEBCY09C2SZZowg%3D&se=2016-06-17T18:32:26Z&sp=rwl",
  "applicationPackages": [
    {
      "fileName": "contoso_app.appx",
      "fileStatus": "Uploaded",
      "id": "1152921504620138797",
      "version": "1.0.0.0",
      "architecture": "ARM",
      "languages": [
        "en-US"
      ],
      "capabilities": [
        "ID_RESOLUTION_HD720P",
        "ID_RESOLUTION_WVGA",
        "ID_RESOLUTION_WXGA"
      ],
      "minimumDirectXVersion": "None",
      "minimumSystemRam": "None",
      "targetDeviceFamilies": [
        "Windows.Mobile min version 10.0.10240.0"
      ]
    }
  ],
  "packageDeliveryOptions": {
    "packageRollout": {
        "isPackageRollout": false,
        "packageRolloutPercentage": 0.0,
        "packageRolloutStatus": "PackageRolloutNotStarted",
        "fallbackSubmissionId": "0"
    },
    "isMandatoryUpdate": false,
    "mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
  },
  "enterpriseLicensing": "Online",
  "allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies": true,
  "allowTargetFutureDeviceFamilies": {
    "Desktop": false,
    "Mobile": true,
    "Holographic": true,
    "Xbox": false,
    "Team": true
  },
  "friendlyName": "Submission 2",
  "trailers": []
}

此资源具有以下值。

价值 类型 描述
id 字符串 提交的 ID。 此 ID 可用于响应数据,请求 创建应用提交获取所有应用,并 获取应用。 对于在合作伙伴中心创建的提交,此 ID 也可以在合作伙伴中心的提交页面的 URL 中提供。
应用类别 字符串 一个字符串,指定应用的 类别和/或子类别。 类别和子类别合并为带有下划线“_”字符的单个字符串,例如 BooksAndReference_EReader
定价 对象 包含应用的定价信息的定价资源
能见度 字符串 应用的可见性。 这可以是以下值之一:
  • 已隐藏
  • 公用
  • 专用
  • 未设置
目标发布模式 字符串 提交的发布模式。 这可以是以下值之一:
  • 立即的
  • 手动
  • 具体日期
目标发布日期 字符串 提交的发布日期采用 ISO 8601 格式(如果 targetPublishMode 设为“SpecificDate”)。
清单 对象 键值对字典,其中每个键是一个国家/地区代码,每个值是一个包含应用列表信息的列表资源
硬件偏好设置 数组 一个字符串数组,用于定义应用的 硬件首选项。 这可以是以下值之一:
  • 触控
  • 键盘
  • 照相机
  • 非碳氟碳化物
  • NFC
  • 蓝牙 LE
  • 电话
自动备份已启用 布尔 指示 Windows 是否可以将应用的数据包含在 OneDrive 的自动备份中。 有关详细信息,请参阅 应用声明
可以安装在可移动介质上 布尔 指示客户是否可以将应用安装到可移动存储。 有关详细信息,请参阅 应用声明
isGameDvrEnabled 布尔 指示是否为应用启用游戏 DVR。
游戏选项 数组 一个数组,其中包含一个 游戏选项资源,用于定义应用的与游戏相关的设置。
包含外部应用内产品 布尔 指示你的应用是否允许用户在Microsoft应用商店商务系统之外进行购买。 有关详细信息,请参阅 应用声明
符合可访问性指南 布尔 指示是否已测试应用是否满足辅助功能准则。 有关详细信息,请参阅 应用声明
认证说明 字符串 包含应用的认证说明
地位 字符串 提交的状态。 这可以是以下值之一:
  • 没有
  • 取消
  • 待提交
  • 提交已开始
  • 提交失败
  • 待发布
  • 发布
  • 已发布
  • 发布失败
  • 预处理
  • 预处理失败
  • 认证
  • 认证失败
  • 发布版
  • 发布失败
状态详情 对象 包含有关提交状态的附加详细信息的状态详细信息资源,其中包括任何错误的相关信息。
文件上传网址 字符串 用于为提交上传任何程序包的共享访问签名 (SAS) URI。 如果要为提交添加新包、列出图像或预告片文件,请将包含包和图像的 ZIP 存档上传到此 URI。 有关详细信息,请参阅 创建应用提交
应用程序包 数组 应用程序包资源的数组,这些资源提供有关提交中每个包的详细信息。
包裹递送选项 对象 软件包递送选项资源,其中包含提交的逐步软件包推出和强制更新设置。
企业许可 字符串 企业许可值之一,指示应用的企业许可行为的值。
允许微软决定应用程序对未来设备家族的可用性 布尔 指示是否允许 Microsoft 使应用可供将来的 Windows 10 和 Windows 11 设备系列使用
允许目标未来设备系列 对象 键值对字典,其中每个键代表一个 Windows 10 和 Windows 11 设备系列,每个值是一个布尔值,用于指示你的应用是否被允许针对指定的设备系列。
友好名称 字符串 提交的友好名称,如合作伙伴中心所示。 创建提交时会为你生成此值。
拖车 数组 一个包含最多 15 个预告片资源的数组,表示应用列表的视频预告片。

定价资源

此资源包含应用的定价信息。 此资源具有以下值。

价值 类型 描述
试用期 字符串 一个字符串,指定应用的试用期。 这可以是以下值之一:
  • 无免费试用
  • OneDay
  • 试用期永不过期
  • 七天
  • 十五天
  • 三十天
市场特定定价 对象 键值对字典,其中每个键为两个字母的 ISO 3166-1 二字母国家/地区代码,而每个值为价格段。 这些项表示应用在特定市场中的自定义价格。 此字典中的任何项替代 priceId 值针对特定市场所指定的基价。
销售额 数组 已弃用。 包含应用销售信息的销售资源数组。
priceId 字符串 价格层,指定应用的 基准价格
isAdvancedPricingModel 布尔 如果 true,则开发人员帐户有权访问从 .99 美元到 1999.99 美元的扩展价格层集。 如果 false,则开发人员帐户有权访问从 .99 美元到 999.99 美元的原始价格层集。 有关不同层的详细信息,请参阅 价格层

注意 此字段为只读。

销售资源

此资源包含应用的销售信息。

重要

不再支持 销售 资源,目前无法使用 Microsoft 应用商店提交 API 获取或修改应用提交的销售数据。 将来,我们将更新 Microsoft 应用商店提交 API,以引入以编程方式访问应用提交的销售信息的新方法。

此资源具有以下值。

价值 类型 描述
名字 字符串 销售的名称。
basePriceId 字符串 要用于销售基价的价格段
开始日期 字符串 销售开始日期以 ISO 8601 格式表示。
结束日期 字符串 以 ISO 8601 格式表示的销售结束日期。
市场特定定价 对象 键值对字典,其中每个键为两个字母的 ISO 3166-1 二字母国家/地区代码,而每个值为价格段。 这些项表示应用在特定市场中的自定义价格。 此字典中的任何项替代 basePriceId 值针对特定市场所指定的基价。

应用一览资源

此资源包含应用的列表信息。 此资源具有以下值。

价值 类型 描述
baseListing 对象 应用的基础列表信息,该信息定义了所有平台的默认列表信息。
平台重写 对象 键值对字典,其中每个键都是用于标识要针对其重写列表信息的平台的字符串,每个值都是一个基础列表资源(仅包含说明到标题的值),用于指定要针对指定平台重写的列表信息。 这些键可以具有以下值:
  • 未知
  • Windows80
  • Windows81
  • WindowsPhone71
  • WindowsPhone80
  • WindowsPhone81

基础列表资源

此资源包含应用的基列表信息。 此资源具有以下值。

价值 类型 描述
版权和商标信息 字符串 可选版权和/或商标信息
关键字 数组 提供一个包含 关键字 的数组,以帮助您的应用出现在搜索结果中。
许可条款 字符串 你的应用程序的可选许可条款
隐私政策 字符串 此值已过时。 若要设置或更改应用的隐私策略 URL,必须在合作伙伴中心 属性 页上执行此作。 可以从对提交 API 的调用中省略此值。 如果设置此值,将忽略该值。
supportContact 字符串 此值已过时。 若要设置或更改应用的支持联系人 URL 或电子邮件地址,必须在合作伙伴中心 属性 页上执行此作。 可以从对提交 API 的调用中省略此值。 如果设置此值,将忽略该值。
网站网址 字符串 此值已过时。 若要设置或更改应用的网页 URL,必须在合作伙伴中心 属性 页上执行此作。 可以从对提交 API 的调用中省略此值。 如果设置此值,将忽略该值。
说明 字符串 应用列表中的描述
功能 数组 最多包含 20 个字符串的数组,其中列出了应用的 功能
releaseNotes 字符串 你的应用的版本说明
图像 数组 用于应用程序列表的 图像和图标 资源数组。
推荐硬件 数组 包含多达 11 个字符串的数组,这些字符串列出了您的应用的 推荐硬件配置
最低硬件要求 字符串 最多包含 11 个字符串的数组,其中列出了应用 最低硬件配置。
标题 字符串 应用列表的标题。
简短描述 字符串 仅用于游戏。 此说明显示在 Xbox One 上的游戏中心 信息 部分中,并帮助客户详细了解你的游戏。
短标题 字符串 产品名称的较短版本。 如果提供,此较短名称可能会出现在 Xbox One 的各个地方(安装期间、成就附加信息等)中,以替代产品的完整标题。
排序标题 字符串 如果产品可以按不同方式按字母顺序排列,可以在此处输入另一个版本。 这可以帮助客户在搜索时更快地找到产品。
音频标题 字符串 产品的备用名称(如果提供)可能会用于在 Xbox One 上使用 Kinect 或耳机时的音频体验。
devStudio 字符串 如果要在列表中加入”开发者“字段,请指定此值。 (无论你是否提供 devStudio 值,“发布者”字段都会列出与你的帐户相关联的发布者显示名称)。

图像资源

此资源包含应用列表的图像和图标数据。 有关应用列表的图像和图标的详细信息,请参阅 应用屏幕截图和图像。 此资源具有以下值。

价值 类型 描述
文件名 字符串 为提交上传的 ZIP 存档中的图像文件的名称。
文件状态 字符串 映像文件的状态。 这可以是以下值之一:
  • 没有
  • 待上传
  • 已上传
  • 待删除
id 字符串 图像的 ID。 此值由合作伙伴中心提供。
说明 字符串 图片说明
图像类型 字符串 指示图像的类型。 目前支持以下字符串。

屏幕截图图像

  • 屏幕截图(对桌面屏幕截图使用此值)
  • 移动截图
  • XboxScreenshot
  • SurfaceHubScreenshot
  • HoloLens截图

应用商店徽标

  • 商店徽标9x16
  • StoreLogoSquare
  • 图标 (将此值用于 1:1 300 x 300 像素徽标)

促销图像

  • 宣传艺术16x9
  • PromotionalArtwork2400X1200

Xbox 图像

  • XboxBrandedKeyArt
  • XboxTitledHeroArt
  • Xbox精选宣传艺术

可选促销图像

  • SquareIcon358X358
  • BackgroundImage1000X800
  • PromotionalArtwork414X180

游戏选项资源

此资源包含与游戏相关的应用设置。 此资源中的值对应于合作伙伴中心的提交的游戏设置

{
  "gamingOptions": [
    {
      "genres": [
        "Games_ActionAndAdventure",
        "Games_Casino"
      ],
      "isLocalMultiplayer": true,
      "isLocalCooperative": true,
      "isOnlineMultiplayer": false,
      "isOnlineCooperative": false,
      "localMultiplayerMinPlayers": 2,
      "localMultiplayerMaxPlayers": 12,
      "localCooperativeMinPlayers": 2,
      "localCooperativeMaxPlayers": 12,
      "isBroadcastingPrivilegeGranted": true,
      "isCrossPlayEnabled": false,
      "kinectDataForExternal": "Enabled"
    }
  ],
}

此资源具有以下值。

价值 类型 描述
流派 数组 一个包含一个或多个描述游戏类型字符串的数组:
  • 游戏_动作冒险
  • 游戏_纸牌和棋盘
  • 游戏_赌场
  • 游戏_教育
  • 游戏_家庭和儿童
  • 游戏_格斗
  • 游戏_音乐
  • Games_Platformer
  • 游戏_拼图和问答
  • 游戏_赛车与飞行
  • 游戏_角色扮演
  • 游戏_射击
  • 游戏_模拟
  • 游戏_体育
  • 游戏_策略
  • 游戏词
isLocalMultiplayer 布尔 指示游戏是否支持本地多人游戏。
isLocalCooperative 布尔 显示游戏是否支持本地合作。
isOnlineMultiplayer 布尔 指示游戏是否支持在线多人游戏。
isOnlineCooperative 布尔 显示游戏是否支持在线功能 co-op。
localMultiplayerMinPlayers 整数 (int) 指定游戏支持本地多人游戏的最小玩家数。
localMultiplayerMaxPlayers 整数 (int) 指定游戏支持本地多人游戏的最大玩家数。
localCooperativeMinPlayers 整数 (int) 指定游戏在本地合作支持的最小玩家数。
localCooperativeMaxPlayers 整数 (int) 指定游戏在本地合作支持的最大玩家数。
广播权限已授予 布尔 指示游戏是否支持广播。
是否启用跨平台游玩 布尔 指示游戏是否支持 Windows 10 和 Windows 11 电脑和 Xbox 上的玩家之间的多人游戏会话。
kinectDataForExternal 字符串 以下字符串值之一,指示游戏是否可以收集 Kinect 数据并将其发送到外部服务:
  • 未设置
  • 未知
  • 已启用
  • 已禁用

注意

gamingOptions 资源是在 2017 年 5 月首次面向开发人员发布 Microsoft Store 提交 API 之后添加的。 如果在引入此资源之前通过提交 API 为应用创建了提交,并且此提交仍在进行中,则在成功提交或删除该应用之前,此资源将为 null。 如果 gamingOptions 资源不适用于应用的提交,则通过 get an app 方法返回的应用程序资源中的 hasAdvancedListingPermission 字段为 false。

状态详细信息资源

此资源包含有关提交状态的其他详细信息。 此资源具有以下值。

价值 类型 描述
错误 对象 包含提交的错误详细信息的状态详细信息资源数组。
警告 对象 包含提交的警告详细信息的状态详细信息资源数组。
认证报告 对象 提供对提交的认证报告数据的访问权限的认证报告资源数组。 如果认证失败,可以检查这些报告以了解详细信息。

状态详细信息资源

此资源包含有关提交的任何相关错误或警告的其他信息。 此资源具有以下值。

价值 类型 描述
代码 字符串 描述错误或警告类型的 提交状态代码
详细信息 字符串 一条消息,其中包含有关该问题的更多详细信息。

应用程序包资源

此资源包含有关提交应用包的详细信息。

{
  "applicationPackages": [
    {
      "fileName": "contoso_app.appx",
      "fileStatus": "Uploaded",
      "id": "1152921504620138797",
      "version": "1.0.0.0",
      "architecture": "ARM",
      "languages": [
        "en-US"
      ],
      "capabilities": [
        "ID_RESOLUTION_HD720P",
        "ID_RESOLUTION_WVGA",
        "ID_RESOLUTION_WXGA"
      ],
      "minimumDirectXVersion": "None",
      "minimumSystemRam": "None",
      "targetDeviceFamilies": [
        "Windows.Mobile min version 10.0.10240.0"
      ]
    }
  ],
}

此资源具有以下值。

注意

调用更新应用提交方法时,只需在请求正文中提供此对象的 fileNamefileStatusminimumDirectXVersionminimumSystemRam 值。 其他值由合作伙伴中心填充。

价值 类型 描述
文件名 字符串 包的名称。
文件状态 字符串 包的状态。 这可以是以下值之一:
  • 没有
  • 待上传
  • 已上传
  • 待删除
id 字符串 用于唯一标识包的 ID。 此值由合作伙伴中心提供。
版本 字符串 应用包的版本。 有关详细信息,请参阅 包版本号
建筑 字符串 包的体系结构(例如 ARM)。
语言 数组 应用支持的语言的语言代码数组。 有关详细信息,请参阅 支持的语言
能力 数组 包所需的功能数组。 有关功能的详细信息,请参阅 应用功能声明
最低DirectX版本 字符串 应用包支持的最低 DirectX 版本。 这只能针对面向 Windows 8.x 的应用进行设置。 对于面向其他 OS 版本的应用,调用 更新应用提交 方法时,必须存在此值,但你指定的值将被忽略。 这可以是以下值之一:
  • 没有
  • DirectX93
  • DirectX100
最小系统内存 字符串 应用包所需的最小 RAM。 这只能针对面向 Windows 8.x 的应用进行设置。 对于面向其他 OS 版本的应用,调用 更新应用提交 方法时,必须存在此值,但你指定的值将被忽略。 这可以是以下值之一:
  • 没有
  • Memory2GB
目标设备系列 数组 一个字符串数组,表示包所面向的设备系列。 此值仅用于面向 Windows 10 的包,对于面向早期版本的包,此值为 None。 Windows 10 和 Windows 11 包目前支持以下设备系列字符串,其中 {0} 是 Windows 10 或 Windows 11 版本字符串,例如 10.0.10240.0、10.0.10586.0 或 10.0.14393.0:
  • Windows.Universal 最低版本 {0}
  • Windows.Desktop 最低版本 {0}
  • Windows.Mobile 最低版本 {0}
  • Windows.Xbox 最低版本 {0}
  • Windows.Holographic 最低版本 {0}

id=“certification-report-resource”

认证报告资源

此资源提供对提交的认证报告数据的访问权限。 此资源具有以下值。

价值 类型 描述
日期 字符串 以 ISO 8601 格式生成报表的日期和时间。
报告网址 字符串 可访问报表的 URL。

程序包传递选项资源

此资源包含提交的逐步程序包推出和强制更新设置。

{
  "packageDeliveryOptions": {
    "packageRollout": {
        "isPackageRollout": false,
        "packageRolloutPercentage": 0,
        "packageRolloutStatus": "PackageRolloutNotStarted",
        "fallbackSubmissionId": "0"
    },
    "isMandatoryUpdate": false,
    "mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
  },
}

此资源具有以下值。

价值 类型 描述
packageRollout 对象 一项程序包推出资源,包含提交的逐步程序包推出设置。
是否强制更新 布尔 指示是否要将此提交中的包视为自安装应用更新的强制要求。 有关自安装应用更新的必需包的详细信息,请参阅 下载和安装应用的包更新
强制更新生效日期 日期 此提交中的包变为强制性的日期和时间,采用 ISO 8601 格式和 UTC 时区。

程序包发布资源

此资源包含用于提交的逐步程序包推出设置。 此资源具有以下值。

价值 类型 描述
isPackageRollout 布尔 指示是否为提交启用了逐步程序包推出。
软件包发布百分比 漂浮 将在逐步推出中接收程序包的用户所占百分比。
软件包部署状态 字符串 下列字符串之一,表示逐步发布软件包的状态:
  • 软件包部署未开始
  • 包裹正在部署中
  • 软件包部署完成
  • 软件包部署停止
fallbackSubmissionId 字符串 不会收到逐步推出程序包的客户将接收的提交 ID。

注意

packageRolloutStatus 值和 fallbackSubmissionId 值由合作伙伴中心分配,但不是由开发人员设置。 如果在请求正文中包含这些值,这些值将被忽略。

预告片资源

此资源表示应用列表的视频预告片。 此资源中的值对应于合作伙伴中心的提交的预告片选项。

可以在 应用提交资源中向 预告片 数组添加多达 15 个预告片资源。 若要上传提交的预告片视频文件和缩略图图像,请将这些文件添加到包含提交的包和列出图像的同一 ZIP 存档,然后将此 ZIP 存档上传到提交的共享访问签名 (SAS) URI。 有关将 ZIP 存档上传到 SAS URI 的详细信息,请参阅 创建应用提交

{
  "trailers": [
    {
      "id": "1158943556954955699",
      "videoFileName": "Trailers\\ContosoGameTrailer.mp4",
      "videoFileId": "1159761554639123258",
      "trailerAssets": {
        "en-us": {
          "title": "Contoso Game",
          "imageList": [
            {
              "fileName": "Images\\ContosoGame-Thumbnail.png",
              "id": "1155546904097346923",
              "description": "This is a still image from the video."
            }
          ]
        }
      }
    }
  ]
}

此资源具有以下值。

价值 类型 描述
id 字符串 预告片的 ID。 此值由合作伙伴中心提供。
视频文件名 字符串 提交文件的 ZIP 存档中预告片视频文件的名称。
videoFileId 字符串 预告片视频文件的 ID。 此值由合作伙伴中心提供。
预告片资源 对象 键和值对字典,其中每个键都是一个语言代码,每个值都是一项预告片资产资源,其中包含预告片的其他特定于区域设置的资产。 有关支持的语言代码的详细信息,请参阅 支持的语言

注意

预告片资源是在 2017 年 5 月首次面向开发人员发布 Microsoft Store 提交 API 之后添加的。 如果在引入此资源之前通过提交 API 为应用创建了提交,并且此提交仍在进行中,则在成功提交或删除该应用之前,此资源将为 null。 如果预告片 资源不适用于应用的提交,则通过 get an app 方法返回的应用程序资源中的 hasAdvancedListingPermission 字段为 false。

预告片资产资源

此资源包含预告片资源中定义的预告片的其他特定于区域设置的资产。 此资源具有以下值。

价值 类型 描述
标题 字符串 预告片的本地化标题。 当用户在全屏模式下播放预告片时,将显示标题。
imageList 数组 一个数组,其中包含一个图像资源,该资源为预告片提供缩略图。 在此数组中,只能包含一个 图像 资源。

图像资源(适用于预告片)

此资源描述预告片的缩略图。 此资源具有以下值。

价值 类型 描述
文件名 字符串 为提交上传的 ZIP 存档中的缩略图图像文件的名称。
id 字符串 缩略图的 ID。 此值由合作伙伴中心提供。
说明 字符串 缩略图的说明。 此值仅是元数据,不会向用户显示。

枚举

这些方法使用以下枚举。

价格等级

以下值表示应用提交的 定价资源 资源中的可用价格层。

价值 描述
基础 未设置价格层;使用应用的基价。
不可用 应用在指定区域中不可用。
免费 该应用是免费的。
xxx 等级 一个字符串,指定应用的价格层,格式为 xxxx。 目前,支持以下价格层范围:

  • 如果定价资源isAdvancedPricingModel 值为 true,则你的帐户的可用价格段值为 Tier1012 - Tier1424
  • 如果定价资源isAdvancedPricingModel 值为 false,则你的帐户的可用价格段值为 Tier2 - Tier96
若要查看开发人员帐户可用的价格层的完整表(包括与每个层关联的市场特定价格),请转到合作伙伴中心中任何应用提交的 定价和可用性 页面,然后单击 市场和自定义价格 部分中的 视图表 链接(对于某些开发人员帐户, 此链接位于 定价 部分)。

企业许可值

以下值表示应用的组织许可行为。 有关这些选项的详细信息,请参阅 组织许可选项

注意

虽然可以通过提交 API 为应用提交配置组织许可选项,但不能使用此 API 为通过适用于企业的 Microsoft Store 和适用于教育的 Microsoft Store 进行的批量购买发布提交。 若要将提交发布到适用于企业的 Microsoft Store 和适用于教育的 Microsoft 应用商店,必须使用合作伙伴中心。

价值 描述
没有 不要将你的应用提供给具有 Microsoft Store 托管(联机)批量许可的企业。
在线 通过应用商店管理的(联机)批量许可,使应用可供企业使用。
线上和线下 通过应用商店管理的(联机)批量许可使应用可供企业使用,并通过断开连接的(脱机)许可向企业提供你的应用。

提交状态代码

以下值表示提交的状态代码。

价值 描述
没有 未指定任何代码。
无效的存档 包含包的 ZIP 存档无效或存档格式无法识别。
MissingFiles ZIP 存档不包含提交数据中列出的所有文件,或者它们位于存档中的错误位置。
包验证失败 提交中的一个或多个包未能验证。
无效参数值 请求正文中的一个参数无效。
无效操作 您尝试的操作是无效的。
无效状态 所尝试的操作对当前状态的软件包外部测试版无效。
资源未找到 找不到指定的软件包外部测试版。
服务错误 内部服务错误阻止请求成功。 再次尝试请求。
列表退出警告 开发人员从以前的提交中删除了一个列表,或者不包含程序包支持的列表信息。
列表选择加入警告 开发人员添加了一个列表。
UpdateOnlyWarning 开发人员正在尝试插入仅具有更新支持的内容。
其他 提交处于无法识别或未分类的状态。
包验证警告 包验证过程导致出现警告。