Управление отправками приложений
API отправки в Microsoft Store предоставляет методы, которые можно использовать для управления отправками ваших приложений, включая постепенные выпуски пакетов. Введение в API отправки в Microsoft Store, включая необходимые условия для использования этого API, см. в разделе Создание отправок и управление ими с помощью служб Microsoft Store.
Важно!
Если вы используете API отправки Microsoft Store для создания отправки для приложения, не забудьте внести дальнейшие изменения в отправку только с помощью API, а не Центра партнеров. Если вы используете Центр партнеров для изменения отправки, изначально созданной с помощью API, вы больше не сможете изменить или зафиксировать эту отправку с помощью API. В некоторых случаях отправка может оставаться в состоянии ошибки, когда продолжить процесс отправки невозможно. В этом случае необходимо удалить отправку и создать новую.
Важно!
Этот API нельзя использовать для публикации отправок для покупок в больших объемах через Microsoft Store для бизнеса и Microsoft Store для образования и для публикации отправок бизнес-приложений непосредственно для предприятий. В обоих случаях для публикации отправки необходимо использовать Центр партнеров.
Методы для управления отправками приложений
Используйте следующие методы для получения, создания, обновления, фиксации и удаления отправки приложения. Прежде чем использовать эти методы, приложение уже должно существовать в вашей учетной записи Центра партнеров, и сначала необходимо создать одну отправку для приложения в Центре партнеров. Дополнительные сведения см. в разделе Необходимые условия.
Метод | URI | Описание |
---|---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} | Получение существующей отправки приложения |
GET | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status | Получение состояния существующей отправки приложения |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions | Создание новой отправки приложения |
PUT | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} | Обновление существующей отправки приложения |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit | Фиксация новой или обновленной отправки приложения |
DELETE | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} | Удаление отправки приложения |
Создание отправки приложения
Чтобы создать отправку для приложения, выполните следующие действия.
Если вы еще не сделали этого, выполните все необходимые условия для API отправки в Microsoft Store.
Примечание
Убедитесь, что приложение уже содержит не менее одной завершенной отправки, для которой указаны сведения возрастной категории.
Получите маркер доступа Azure AD. Этот маркер доступа необходимо передавать методам из API отправки в Microsoft Store. После получения маркера доступа у вас будет 60 минут, чтобы использовать его до истечения срока действия. После истечения срока действия маркера можно получить новый маркер.
Создание отправки приложения путем выполнения следующего метода в API отправки в Microsoft Store. Этот метод создает новую выполняющуюся отправку, которая является копией последней опубликованной отправки.
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions
Текст ответа содержит ресурс отправки приложения, включающий идентификатор новой отправки, URI подписанного URL-адреса (SAS) для отправки всех связанных файлов для отправки в Хранилище BLOB-объектов Azure (например, пакеты приложений, изображения со списком и файлы трейлеров) и все данные для новой отправки (например, описания и сведения о ценах).
Примечание
URI SAS предоставляет доступ к защищенному ресурсу в хранилище Azure без необходимости в использовании ключей учетной записи. Общие сведения об URI SAS и их использовании с Хранилище BLOB-объектов Azure см. в разделах Подписанные URL-адреса, часть 1. Общие сведения о модели SAS и Подписанные URL-адреса, часть 2. Создание и использование SAS с хранилищем BLOB-объектов.
При добавлении новых пакетов, изображений для описания и файлов трейлеров для отправки подготовьте пакеты приложения и подготовьте снимки экранов, изображения и трейлеры. Добавьте все эти файлы в ZIP-архив.
Проверьте отправку приложения, внеся все необходимые для новой отправки изменения, затем выполните следующий метод для обновления отправки приложения.
PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}
Примечание
Если в отправку добавляются новые файлы, обязательно обновите данные отправки, чтобы они ссылались на имя и относительный путь этих файлов в ZIP-архиве.
Если вы добавляете новые пакеты, перечисляете изображения или файлы трейлеров для отправки, отправьте ZIP-архив в Хранилище BLOB-объектов Azure с помощью URI SAS, который был указан в тексте ответа метода POST, который вы вызвали ранее. Существуют разные библиотеки Azure, которые можно использовать в этих целях на различных платформах, включая следующие.
- Клиентская библиотека службы хранилища Azure для .NET
- Пакет SDK для службы хранилища Azure для Java
- Пакет SDK службы хранилища Azure для Python
В следующем примере кода C# показано, как отправить ZIP-архив в Хранилище BLOB-объектов Azure с помощью класса CloudBlockBlob в клиентской библиотеке службы хранилища Azure для .NET. В этом примере кода предполагается, что 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);
Подтвердите отправку приложения, выполнив следующий метод. Это уведомит Центр партнеров о том, что вы закончили отправку и что ваши обновления должны быть применены к вашей учетной записи.
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit
Проверка состояния подтверждения путем выполнения следующего метода для получения сведений о состоянии отправки приложения.
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status
Чтобы проверить состояние отправки, посмотрите значение поля status в теле ответа. Это значение должно измениться с CommitStarted на PreProcessing, если запрос выполнен успешно, или на CommitFailed, если в запросе возникли ошибки. Если имеются ошибки, поле statusDetails содержит дополнительные сведения об ошибке.
После успешного завершения подтверждения отправки она отправляется в Магазин для внедрения. Вы можете продолжать отслеживать ход отправки с помощью предыдущего метода или в Центре партнеров.
Методы для управления постепенным выпуском пакета
Вы можете постепенно развертывать обновленные пакеты в отправке приложения для процента клиентов приложения на Windows 10 и Windows 11. Это позволяет контролировать отзывы и аналитические данные для конкретных пакетов, чтобы вы могли убедиться в правильности обновления до его более широкого распространения. Можно изменить процент выпуска (или остановить обновление) для опубликованной отправки без необходимости создания новой отправки. Дополнительные сведения, включая инструкции по включению постепенного развертывания пакетов в Центре партнеров и управлению им, см. в этой статье.
Чтобы программным образом включить постепенный выпуск пакета для отправки приложения, выполните следующие действия используя методы в API отправки в Microsoft Store.
- Создайте отправку приложения или получите существующую отправку приложения.
- В данных ответа найдите ресурс packageRollout, задайте в поле isPackageRollout значение true, а в поле packageRolloutPercentage задайте процент пользователей вашего приложения, которые должны получить обновленные пакеты.
- Передайте обновленные данные отправки приложения методу обновления отправки приложения.
После включения постепенного выпуска пакета для отправки приложения можно использовать следующие методы, чтобы программным образом получать, обновлять, останавливать или завершать постепенный выпуск.
Метод | URI | Описание |
---|---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/packagerollout | Получение сведений постепенного выпуска для отправки приложения |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/updatepackagerolloutpercentage | Обновление процента постепенного выпуска для отправки приложения |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/haltpackagerollout | Остановка постепенного выпуска для отправки приложения |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/finalizepackagerollout | Завершение постепенного выпуска для отправки приложения |
Примеры кода для управления отправками приложений
Следующие статьи содержат подробные примеры кода на нескольких разных языках программирования, демонстрирующие процесс создания отправки приложения.
- Пример на языке C#: отправка приложений, надстроек и тестируемых возможностей
- Пример на языке C#: отправка приложения с трейлерами и параметрами игры
- Пример на языке Java: отправка приложений, надстроек и тестируемых возможностей
- Пример на языке Java: отправка приложения с трейлерами и параметрами игры
- Пример на языке Python: отправка приложений, надстроек и тестируемых возможностей
- Пример на языке Python: отправка приложения с трейлерами и параметрами игры
Модуль StoreBroker PowerShell
В качестве альтернативы прямому вызову API отправки в Microsoft Store также предоставляется модуль PowerShell с открытым исходным кодом, в котором поверх API реализован интерфейс командной строки. Этот модуль называется StoreBroker. Этот модуль можно использовать для управления приложением, тестируемой возможностью и отправками надстроек из командной строки, вместо того чтобы вызывать API отправки в Microsoft Store напрямую. Кроме того, можно просмотреть дополнительные примеры вызова этого API, изучив исходный код. Модуль StoreBroker активно используется Microsoft в качестве основного способа отправки многих собственных приложений компании в Магазин.
Дополнительные сведения см. на нашей странице StoreBroker на сайте GitHub.
Ресурсы данных
Для управления отправками приложений методы API отправки в Microsoft Store используют следующие ресурсы данных 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": []
}
Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
идентификатор | строка | Идентификатор отправки. Этот идентификатор доступен в данных ответа на запросы на создание отправки приложения, получение всех приложений и получение определенного приложения. Для отправки, созданной в Центре партнеров, этот идентификатор также доступен в URL-адресе страницы отправки в Центре партнеров. |
applicationCategory | строка | Строка, указывающая категорию или подкатегорию для вашего приложения. Категории и подкатегории объединяются в одну строку с помощью символа подчеркивания "_", например BooksAndReference_EReader. |
цены | объект | Ресурс цены, содержащий сведения о цене приложения. |
видимость | строка | Видимость приложения. Может иметь одно из следующих значений:
|
targetPublishMode | строка | Режим публикации для отправки. Может иметь одно из следующих значений:
|
targetPublishDate | строка | Дата публикации отправки в формате ISO 8601, если для targetPublishMode задано значение SpecificDate. |
listings | object | Словарь пар "ключ-значение", где каждый ключ является кодом страны, а каждое значение — объектом ресурса описания, содержащим данные описания приложения. |
hardwarePreferences | array | Массив строк, определяющих предпочтения оборудования для приложения. Может иметь одно из следующих значений:
|
automaticBackupEnabled | Логическое | Указывает, может ли Windows включать данные этого приложения в автоматические резервные копии, записываемые в OneDrive. Подробные сведения см. в разделе Объявления приложений. |
canInstallOnRemovableMedia | Логическое | Указывает, могут ли клиенты устанавливать приложение на съемный носитель. Подробные сведения см. в разделе Объявления приложений. |
isGameDvrEnabled | Логическое | Указывает, включена ли для приложения функция DVR для игр. |
gamingOptions | array | Массив, содержащий один ресурс параметров игры, который определяет относящиеся к игре параметры для приложения. |
hasExternalInAppProducts | Логическое | Указывает, позволяет ли приложение пользователям делать покупки без использования коммерческой системы Microsoft Store. Подробные сведения см. в разделе Объявления приложений. |
meetAccessibilityGuidelines | Логическое | Указывает, проверено ли приложение на соответствие рекомендациям по специальным возможностям. Подробные сведения см. в разделе Объявления приложений. |
notesForCertification | строка | Содержит заметки по сертификации приложения. |
status | строка | Состояние отправки. Может иметь одно из следующих значений:
|
statusDetails | object | Ресурс сведений о состоянии, который содержит дополнительные сведения о состоянии отправки, включая сведения об ошибках. |
fileUploadUrl | строка | URI подписанного URL-адреса (SAS) для передачи пакетов для отправки. При добавлении новых пакетов, изображений описания или файлов трейлеров для отправки выложите ZIP-архив, содержащий пакеты и изображения, по этому URI. Дополнительную информацию см. в разделе Создание отправки приложения. |
applicationPackages | array | Массив ресурсов пакета приложения, предоставляющий сведения о каждом пакете в отправке |
packageDeliveryOptions | object | Ресурс параметров доставки пакета, который содержит постепенный выпуск пакета и обязательные параметры обновления для отправки. |
enterpriseLicensing | строка | Одно из значений, связанных с корпоративным лицензированием, задающих поведение приложения в отношении корпоративного лицензирования. |
allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies | Логическое | Указывает, разрешено ли корпорации Майкрософт делать приложение доступным для будущих Windows 10 и Windows 11 семейств устройств. |
allowTargetFutureDeviceFamilies | object | Словарь пар "ключ - значение", где каждый ключ является Windows 10 и Windows 11 семейства устройств, а каждое значение является логическим значением, указывающим, разрешено ли приложению ориентироваться на указанное семейство устройств. |
friendlyName | строка | Понятное имя отправки, как показано в Центре партнеров. Это значение создается при создании отправки. |
trailers | array | Массив, содержащий до 15 ресурсов трейлеров, представляющие видеотрейлеры для описания приложения. |
Ресурс цены
Этот ресурс содержит сведения о ценах для приложения. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
trialPeriod | строка | Строка, указывающая срок действия пробной версии приложения. Может иметь одно из следующих значений:
|
marketSpecificPricings | object | Словарь пар "ключ-значение", где каждый ключ представляет собой код страны ISO 3166-1 alpha-2 из двух букв, а каждое значение — ценовую категорию. Эти элементы представляют особые цены на ваше приложение для определенных рынков. Любые элементы этого словаря переопределяют базовую цену, заданную значением priceId для указанного рынка. |
sales | array | Устаревшее. Массив ресурсов продажи, содержащих сведения о продажах для приложения. |
priceId | строка | Ценовая категория, указывающая базовую цену для приложения. |
isAdvancedPricingModel | Логическое | Если true, ваша учетная запись разработчика имеет доступ к расширенному набору ценовых категорий от 0,99 долл. США до 1999,99 долл. США. Если false, ваша учетная запись разработчика имеет доступ к стандартному набору ценовых категорий от 0,99 долл. США до 999,99 долл. США. Дополнительные сведения о разных категориях см. в разделе Ценовые категории. Примечание Это поле доступно только для чтения. |
Ресурс продажи
Этот ресурс содержит сведения о продажах для приложения.
Важно!
Ресурс продажи больше не поддерживается, и в настоящее время невозможно получить или изменить данные продажи для отправки приложения с помощью API отправки в Microsoft Store. В дальнейшем мы обновим API отправки в Microsoft Store, чтобы предложить пользователям новый способ программного доступа к информации о продажах для отправок приложений.
- После вызова метода GET для получения отправки приложения значение sales будет пустым. Вы можете продолжать использовать Центр партнеров для получения данных о продажах для отправки приложения.
- При вызове метода PUT для обновления отправки приложения сведения в значении sales будут игнорироваться. Вы можете продолжать использовать Центр партнеров для изменения данных о продажах для отправки приложения.
Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
name | строка | Имя продажи. |
basePriceId | строка | Ценовая категория, используемая для базовой цены продажи. |
startDate | строка | Дата начала для продажи в формате ISO 8601. |
endDate | строка | Дата окончания для продажи в формате ISO 8601. |
marketSpecificPricings | object | Словарь пар "ключ-значение", где каждый ключ представляет собой код страны ISO 3166-1 alpha-2 из двух букв, а каждое значение — ценовую категорию. Эти элементы представляют особые цены на ваше приложение для определенных рынков. Любые элементы этого словаря переопределяют базовую цену, заданную значением basePriceId для указанного рынка. |
Ресурс описания
Этот ресурс содержит информацию описания для приложения. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
baseListing | object | Информация базового описания для приложения, которая определяет описание по умолчанию на всех платформах. |
platformOverrides | object | Словарь пар "ключ-значение", где каждый ключ является строкой, идентифицирующей платформу, для которой необходимо переопределить информацию в описании, а каждое значение является ресурсом базового описания (содержащим только значения от описания до заголовка), определяющим информацию для переопределения описания для указанной платформы. Ключи могут иметь следующие значения:
|
Ресурс базового описания
Этот ресурс содержит базовую информацию описания для приложения. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
copyrightAndTrademarkInfo | строка | Необязательные сведения об авторских правах и (или) товарных знаках. |
keywords | array | Массив ключевых слов, способствующих появлению вашего приложения в результатах поиска. |
licenseTerms | строка | Необязательные условия лицензионного соглашения для вашего приложения. |
privacyPolicy | строка | Это значение устарело. Чтобы задать или изменить URL-адрес политики конфиденциальности для приложения, это необходимо сделать на странице Свойства в Центре партнеров. Это значение можно исключить из вызовов к API отправки. Если это значение задано, оно будет игнорироваться. |
supportContact | строка | Это значение устарело. Чтобы задать или изменить URL-адрес или адрес электронной почты для вашего приложения, необходимо сделать это на странице Свойства в Центре партнеров. Это значение можно исключить из вызовов к API отправки. Если это значение задано, оно будет игнорироваться. |
websiteUrl | строка | Это значение устарело. Чтобы задать или изменить URL-адрес веб-страницы для приложения, это необходимо сделать на странице Свойства в Центре партнеров. Это значение можно исключить из вызовов к API отправки. Если это значение задано, оно будет игнорироваться. |
description | строка | Описание для описания приложения. |
features | array | Массив размером до 20 строк со списком функций вашего приложения. |
releaseNotes | строка | Заметки о выпуске для вашего приложения. |
images | array | Массив ресурсов изображений и значков для описания приложения. |
recommendedHardware | array | Массив размером до 11 строк со списком рекомендуемой конфигурации оборудования для вашего приложения. |
minimumHardware | строка | Массив размером до 11 строк со списком минимальной конфигурации оборудования для вашего приложения. |
title | строка | Название для описания приложения. |
shortDescription | строка | Используется только для игр. Это описание отображается в разделе "Сведения " в Центре игр на Xbox One и помогает клиентам узнать больше о вашей игре. |
shortTitle | строка | Краткая версия названия вашего продукта. Если оно указывается, это короткое название может отображаться в различных местах на Xbox One (во время установки, при получении достижения т. д.) вместо полного названия продукта. |
sortTitle | строка | Если ваш продукт можно добавить в алфавитный список разными способами, вы можете ввести другую версию названия в этом поле. Это может помочь пользователям быстрее найти продукт при поиске. |
voiceTitle | строка | Альтернативное имя вашего продукта, которое, если возможно, можно использовать с голосовыми функциями Xbox One при использовании Kinect или гарнитуры. |
devStudio | строка | Задайте это значение, если хотите включить поле Developed by в описание. (В поле Published by будет указываться отображаемое имя издателя, связанное с вашей учетной записью, независимо от того, указали ли вы значение devStudio.) |
Ресурс изображений
Этот ресурс содержит данные изображений и значков для описания приложения. Дополнительные сведения об изображениях и значках для описания приложения см. в разделе Снимки экранов приложения и изображения. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
fileName | строка | Имя файла изображения в ZIP-архиве, который был передан для отправки. |
fileStatus | строка | Состояние файла изображения. Может иметь одно из следующих значений:
|
идентификатор | строка | Идентификатор для изображения. Это значение предоставляется Центром партнеров. |
description | строка | Описание изображения. |
imageType | строка | Указывает тип изображения. В настоящее время поддерживаются перечисленные ниже строки.
Дополнительные рекламные изображения:
|
Ресурс параметров игры
Этот ресурс содержит относящиеся к игре параметры для приложения. Значения в этом ресурсе соответствуют параметрам игры для отправок в Центре партнеров.
{
"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"
}
],
}
Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
Жанры | array | Массив из одной или нескольких приведенных ниже строк, которые описывают жанры игры:
|
isLocalMultiplayer | Логическое | Указывает, поддерживает ли игра локальный многопользовательский режим. |
isLocalCooperative | Логическое | Указывает, поддерживает ли игра локальный совместный режим. |
isOnlineMultiplayer | Логическое | Указывает, поддерживает ли игра онлайн-многопользовательский режим. |
isOnlineCooperative | Логическое | Указывает, поддерживает ли игра онлайн-совместный режим. |
localMultiplayerMinPlayers | INT | Определяет минимальное поддерживаемое число игроков, поддерживаемое игрой в локальном многопользовательском режиме. |
localMultiplayerMaxPlayers | INT | Определяет максимальное поддерживаемое число игроков, поддерживаемое игрой в локальном многопользовательском режиме. |
localCooperativeMinPlayers | INT | Определяет минимальное поддерживаемое число игроков, поддерживаемое игрой в локальном совместном режиме. |
localCooperativeMaxPlayers | INT | Определяет максимальное поддерживаемое число игроков, поддерживаемое игрой в локальном совместном режиме. |
isBroadcastingPrivilegeGranted | Логическое | Указывает, поддерживает ли игра трансляции. |
isCrossPlayEnabled | Логическое | Указывает, поддерживает ли игра многопользовательские сеансы между игроками на Windows 10 и Windows 11 компьютерах и Xbox. |
kinectDataForExternal | строка | Одно из следующих строковых значений, указывающее, может ли игра получать данные Kinect и отправлять их внешним службам:
|
Примечание
Ресурс gamingOptions был добавлен в мае 2017 г. после первого выпуска API отправки в Microsoft Store для разработчиков. Если вы создали отправку для приложения с помощью API отправки до появления этого ресурса и эта отправка все еще выполняется, этот ресурс будет иметь значение null для отправок приложения, пока вы успешно не выполните отправку или не удалите ее. Если ресурс gamingOptions недоступен для отправок приложения, поле hasAdvancedListingPermission в ресурсе Application, возвращаемом методом получения приложения, будет иметь значение false.
Ресурс сведений о состоянии
Этот ресурс содержит дополнительные сведения о состоянии отправки. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
ошибки | object | Массив ресурсов сведений о состоянии, который содержит информацию об ошибках для отправки. |
warnings | объект | Массив ресурсов сведений о состоянии, который содержит информацию о предупреждениях для отправки. |
certificationReports | object | Массив ресурсов отчета сертификации, который предоставляет доступ к данным отчета о сертификации для отправки. В случае сбоя сертификации можно проверить эти отчеты для получения дополнительной информации. |
Ресурс сведений о состоянии
Этот ресурс содержит дополнительные сведения обо всех связанных ошибках или предупреждениях для отправки. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
code | строка | Код состояния отправки, описывающий тип ошибки или предупреждения. |
подробности | строка | Сообщение с дополнительными сведениями о проблеме. |
Ресурс пакета приложения
Этот ресурс содержит сведения о пакете приложения для отправки.
{
"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"
]
}
],
}
Этот ресурс содержит следующие значения.
Примечание
При вызове метода для обновления отправки приложения в тексте запроса требуются только значения fileName, fileStatus, minimumDirectXVersion и minimumSystemRam этого объекта. Остальные значения заполняются Центром партнеров.
Значение | Тип | Описание |
---|---|---|
fileName | строка | Имя пакета. |
fileStatus | строка | Состояние пакета. Может иметь одно из следующих значений:
|
идентификатор | строка | Идентификатор, который уникально идентифицирует пакет. Это значение предоставляется Центром партнеров. |
version | строка | Версия пакета приложения. Дополнительные сведения см. в разделе Нумерация версий пакета. |
архитектура | строка | Архитектура пакета (например, ARM). |
языки | array | Массив кодов языков, которые поддерживает приложение. Дополнительные сведения см. в списке поддерживаемых языков. |
capabilities | array | Массив возможностей, необходимых для этого пакета. Дополнительные сведения о возможностях см. в разделе Объявления возможностей приложения. |
minimumDirectXVersion | строка | Минимальная версия DirectX, поддерживаемая пакетом приложения. Может задаваться только для приложений, предназначенных для Windows 8.x. Для приложений, предназначенных для других версий ОС, это значение должно присутствовать при вызове метода обновления отправки приложения, но указанное значение игнорируется. Может иметь одно из следующих значений:
|
minimumSystemRam | строка | Минимальный объем ОЗУ, необходимый для пакета приложения. Может задаваться только для приложений, предназначенных для Windows 8.x. Для приложений, предназначенных для других версий ОС, это значение должно присутствовать при вызове метода обновления отправки приложения, но указанное значение игнорируется. Может иметь одно из следующих значений:
|
targetDeviceFamilies | array | Массив строк, представляющих семейства устройств, для которых предназначен пакет. Это значение используется только для пакетов, предназначенных для Windows 10; для пакетов, предназначенных для предыдущих выпусков, это значение равно None. Следующие строки семейства устройств в настоящее время поддерживаются для пакетов Windows 10 и Windows 11, где {0} представляет собой строку версии Windows 10 или Windows 11, например 10.0.10240.0, 10.0.10586.0 или 10.0.14393.0:
|
id="certification-report-resource"
Ресурс отчета о сертификации
Этот ресурс предоставляет доступ к данным отчета о сертификации для отправки. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
Дата | строка | Дата и время создания отчета в формате ISO 8601. |
reportUrl | строка | URL-адрес, по которому можно получить доступ к отчету. |
Ресурс параметров доставки пакета
Этот ресурс содержит постепенный выпуск пакета и обязательные параметры обновления для отправки.
{
"packageDeliveryOptions": {
"packageRollout": {
"isPackageRollout": false,
"packageRolloutPercentage": 0,
"packageRolloutStatus": "PackageRolloutNotStarted",
"fallbackSubmissionId": "0"
},
"isMandatoryUpdate": false,
"mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
},
}
Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
packageRollout | object | Ресурс выпуска пакета, который содержит параметры постепенного выпуска пакета для отправки. |
isMandatoryUpdate | Логическое | Указывает, следует ли рассматривать пакеты в этой отправке как обязательные для самоустанавливающихся обновлений приложений. Дополнительные сведения об обязательных пакетах самоустанавливаемых обновлений приложений см. в разделе Загрузка и установка обновлений пакетов для приложения. |
mandatoryUpdateEffectiveDate | Дата | Дата и время, когда пакеты в этой отправке станут обязательными, в формате ISO 8601 и по часовому поясу UTC. |
Ресурс выпуска пакета
Этот ресурс содержит параметры постепенного выпуска пакета для отправки. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
isPackageRollout | Логическое | Указывает, включен ли постепенный выпуск пакета для этой отправки. |
packageRolloutPercentage | FLOAT | Процент пользователей, которые будут получать пакеты при постепенном выпуске. |
packageRolloutStatus | строка | Одна из следующих строк, указывающая состояние постепенного выпуска пакета:
|
fallbackSubmissionId | строка | ИД отправки, который будет поступать от пользователей, не получающих пакеты постепенного выпуска. |
Примечание
Значения packageRolloutStatus и fallbackSubmissionId назначаются Центром партнеров и не предназначены для установки разработчиком. Если эти значения содержатся в теле запроса, они будут проигнорированы.
Ресурс трейлеров
Этот ресурс представляет видеотрейлер для описания приложения. Значения в этом ресурсе соответствуют параметрам трейлеров для отправки в Центре партнеров.
Можно добавить до 15 ресурсов трейлеров в массив trailers в ресурсе отправки приложения. Для отправки видеофайлов трейлеров и эскизов изображений для отправки поместите эти файлы в ZIP-архив, содержащий пакеты и изображения для описания для этой отправки, а затем передайте этот ZIP-архив URI подписанного URL-адреса (SAS) для отправки. Дополнительные сведения по передаче ZIP-архива URI подписанного URL-адреса (SAS) см. в разделе Создание отправки приложения.
{
"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."
}
]
}
}
}
]
}
Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
идентификатор | строка | Идентификатор для трейлера. Это значение предоставляется Центром партнеров. |
videoFileName | строка | Имя файла видеотрейлера в ZIP-архиве, который содержит файлы для отправки. |
videoFileId | строка | Идентификатор файла видеотрейлера. Это значение предоставляется Центром партнеров. |
trailerAssets | объект | Словарь пар "ключ-значение", где каждый ключ является кодом языка, а каждое значение — набором ресурсов трейлера, содержащим относящиеся к языковым стандартам ресурсы для трейлера. Дополнительные сведения о кодах поддерживаемых языков см. в разделе Поддерживаемые языки. |
Примечание
Ресурс trailers был добавлен в мае 2017 г. после первого выпуска API отправки в Microsoft Store для разработчиков. Если вы создали отправку для приложения с помощью API отправки до появления этого ресурса и эта отправка все еще выполняется, этот ресурс будет иметь значение null для отправок приложения, пока вы успешно не выполните отправку или не удалите ее. Если ресурс trailers недоступен для отправок приложения, поле hasAdvancedListingPermission в ресурсе Application, возвращаемом методом получения приложения, будет иметь значение false.
Набор ресурсов трейлера
Этот ресурс содержит дополнительные данные, относящиеся к языковым стандартам, для трейлера, который определен в ресурсе трейлера. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
title | строка | Локализованное название трейлера. Заголовок отображается, когда пользователь воспроизводит трейлер в полноэкранном режиме. |
imageList | array | Массив, содержащий один ресурс image, который предоставляет эскиз для трейлера. В этот массив можно включать только один ресурс image. |
Ресурс изображения (для трейлера)
Этот ресурс описывает эскиз для трейлера. Этот ресурс содержит следующие значения.
Значение | Тип | Описание |
---|---|---|
fileName | строка | Имя файла эскиза в ZIP-архиве, который был передан для отправки. |
идентификатор | строка | Идентификатор для эскиза. Это значение предоставляется Центром партнеров. |
description | строка | Описание эскиза. Это значение представляет собой лишь метаданные и не отображается пользователям. |
Перечисления
Эти методы используют следующие перечисления.
Ценовые категории
Следующие значения представляют доступные ценовые категории в ресурсе ценовой ресурс для отправки приложения.
Значение | Описание |
---|---|
Основной | Ценовая категория не задана; используется базовая цена для приложения. |
NotAvailable | Приложение недоступно в указанном регионе. |
Бесплатный | Это бесплатное приложение. |
Tierxxx | Строка, указывающая ценовую категорию приложения в формате Tierxxxx. В настоящее время поддерживаются следующие ценовые категории.
|
Значения корпоративного лицензирования
Следующие значения представляют поведение корпоративного лицензирования для приложения. Дополнительные сведения об этих параметрах см. в разделе Параметры корпоративного лицензирования.
Примечание
Хотя параметры корпоративного лицензирования можно настроить для отправки приложения с помощью API отправки, этот API нельзя использовать для публикации отправок для приобретения в больших объемах через Microsoft Store для бизнеса и Microsoft Store для образования. Чтобы опубликовать отправки в Microsoft Store для бизнеса и Microsoft Store для образования, необходимо использовать Центр партнеров.
Значение | Описание |
---|---|
Нет | Приложение недоступно организациям путем корпоративного лицензирования от Магазина (в режиме онлайн). |
Миграция по сети | Приложение доступно организациям путем корпоративного лицензирования от Магазина (в режиме онлайн). |
OnlineAndOffline | Приложение доступно организациям путем корпоративного лицензирования от Магазина (в режиме онлайн); кроме того, приложение доступно организациям путем лицензирования без подключения (в автономном режиме). |
Код состояния отправки
Следующие значения представляют код состояния отправки.
Значение | Описание |
---|---|
Нет | Код не указан. |
InvalidArchive | ZIP-архив, содержащий пакет, является недопустимым или имеет неизвестный формат архива. |
MissingFiles | В ZIP-архиве отсутствуют файлы, перечисленные в данных отправки, или они находятся в неправильном месте в архиве. |
PackageValidationFailed | Один или несколько пакетов в вашей отправке не прошли проверку. |
InvalidParameterValue | Один из параметров в теле запроса не является допустимым. |
InvalidOperation | Операция, которую вы пытались выполнить, является недопустимой. |
InvalidState | Операция, которую вы пытались выполнить, является недопустимой для текущего состояния тестового пакета. |
ResourceNotFound | Не удалось найти указанный тестовый пакет. |
ServiceError | Запрос не был успешно выполнен из-за внутренней ошибки службы. Попробуйте повторить запрос. |
ListingOptOutWarning | Разработчик удалил описание из предыдущей отправки или не включил данные описания, которые поддерживаются пакетом. |
ListingOptInWarning | Разработчик добавил описание. |
UpdateOnlyWarning | Разработчик пытается вставить какой-то элемент, который имеет только поддержку обновления. |
Другое | Отправка находится в неизвестном состоянии или состоянии, не отнесенном ни к одной из категорий. |
PackageValidationWarning | В процессе проверки пакета создано предупреждение. |
Связанные разделы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по