Управление отправками приложений

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} Удаление отправки приложения

Создание отправки приложения

Чтобы создать отправку для приложения, выполните следующие действия.

  1. Если вы еще не сделали этого, выполните все необходимые условия для API отправки в Microsoft Store.

    Примечание

    Убедитесь, что приложение уже содержит не менее одной завершенной отправки, для которой указаны сведения возрастной категории.

  2. Получите маркер доступа Azure AD. Этот маркер доступа необходимо передавать методам из API отправки в Microsoft Store. После получения маркера доступа у вас будет 60 минут, чтобы использовать его до истечения срока действия. После истечения срока действия маркера можно получить новый маркер.

  3. Создание отправки приложения путем выполнения следующего метода в 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-объектов.

  4. При добавлении новых пакетов, изображений для описания и файлов трейлеров для отправки подготовьте пакеты приложения и подготовьте снимки экранов, изображения и трейлеры. Добавьте все эти файлы в ZIP-архив.

  5. Проверьте отправку приложения, внеся все необходимые для новой отправки изменения, затем выполните следующий метод для обновления отправки приложения.

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

    Примечание

    Если в отправку добавляются новые файлы, обязательно обновите данные отправки, чтобы они ссылались на имя и относительный путь этих файлов в ZIP-архиве.

  6. Если вы добавляете новые пакеты, перечисляете изображения или файлы трейлеров для отправки, отправьте ZIP-архив в Хранилище BLOB-объектов Azure с помощью URI SAS, который был указан в тексте ответа метода POST, который вы вызвали ранее. Существуют разные библиотеки Azure, которые можно использовать в этих целях на различных платформах, включая следующие.

    В следующем примере кода 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);
    
  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
    

    Чтобы проверить состояние отправки, посмотрите значение поля status в теле ответа. Это значение должно измениться с CommitStarted на PreProcessing, если запрос выполнен успешно, или на CommitFailed, если в запросе возникли ошибки. Если имеются ошибки, поле statusDetails содержит дополнительные сведения об ошибке.

  9. После успешного завершения подтверждения отправки она отправляется в Магазин для внедрения. Вы можете продолжать отслеживать ход отправки с помощью предыдущего метода или в Центре партнеров.

Методы для управления постепенным выпуском пакета

Вы можете постепенно развертывать обновленные пакеты в отправке приложения для процента клиентов приложения на Windows 10 и Windows 11. Это позволяет контролировать отзывы и аналитические данные для конкретных пакетов, чтобы вы могли убедиться в правильности обновления до его более широкого распространения. Можно изменить процент выпуска (или остановить обновление) для опубликованной отправки без необходимости создания новой отправки. Дополнительные сведения, включая инструкции по включению постепенного развертывания пакетов в Центре партнеров и управлению им, см. в этой статье.

Чтобы программным образом включить постепенный выпуск пакета для отправки приложения, выполните следующие действия используя методы в API отправки в Microsoft Store.

  1. Создайте отправку приложения или получите существующую отправку приложения.
  2. В данных ответа найдите ресурс packageRollout, задайте в поле isPackageRollout значение true, а в поле packageRolloutPercentage задайте процент пользователей вашего приложения, которые должны получить обновленные пакеты.
  3. Передайте обновленные данные отправки приложения методу обновления отправки приложения.

После включения постепенного выпуска пакета для отправки приложения можно использовать следующие методы, чтобы программным образом получать, обновлять, останавливать или завершать постепенный выпуск.

Метод 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 Завершение постепенного выпуска для отправки приложения

Примеры кода для управления отправками приложений

Следующие статьи содержат подробные примеры кода на нескольких разных языках программирования, демонстрирующие процесс создания отправки приложения.

Модуль 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.
цены объект Ресурс цены, содержащий сведения о цене приложения.
видимость строка Видимость приложения. Может иметь одно из следующих значений:
  • Скрытый
  • Общедоступные
  • Личные
  • NotSet
targetPublishMode строка Режим публикации для отправки. Может иметь одно из следующих значений:
  • Немедленно
  • Вручную
  • SpecificDate (Указанная дата)
targetPublishDate строка Дата публикации отправки в формате ISO 8601, если для targetPublishMode задано значение SpecificDate.
listings object Словарь пар "ключ-значение", где каждый ключ является кодом страны, а каждое значение — объектом ресурса описания, содержащим данные описания приложения.
hardwarePreferences array Массив строк, определяющих предпочтения оборудования для приложения. Может иметь одно из следующих значений:
  • Touch
  • Клавиатура
  • Мышь
  • Камера
  • NfcHce
  • Nfc
  • BluetoothLE
  • Telephony (Телефония)
automaticBackupEnabled Логическое Указывает, может ли Windows включать данные этого приложения в автоматические резервные копии, записываемые в OneDrive. Подробные сведения см. в разделе Объявления приложений.
canInstallOnRemovableMedia Логическое Указывает, могут ли клиенты устанавливать приложение на съемный носитель. Подробные сведения см. в разделе Объявления приложений.
isGameDvrEnabled Логическое Указывает, включена ли для приложения функция DVR для игр.
gamingOptions array Массив, содержащий один ресурс параметров игры, который определяет относящиеся к игре параметры для приложения.
hasExternalInAppProducts Логическое Указывает, позволяет ли приложение пользователям делать покупки без использования коммерческой системы Microsoft Store. Подробные сведения см. в разделе Объявления приложений.
meetAccessibilityGuidelines Логическое Указывает, проверено ли приложение на соответствие рекомендациям по специальным возможностям. Подробные сведения см. в разделе Объявления приложений.
notesForCertification строка Содержит заметки по сертификации приложения.
status строка Состояние отправки. Может иметь одно из следующих значений:
  • Нет
  • Отменено
  • PendingCommit (Ожидание фиксации)
  • CommitStarted (Фиксация запущена)
  • CommitFailed (Сбой фиксации)
  • PendingPublication (Ожидание публикации)
  • Публикация
  • Опубликован
  • PublishFailed (Сбой публикации)
  • PreProcessing (Предварительная обработка)
  • PreProcessingFailed (Сбой предварительной обработки)
  • Сертификация
  • CertificationFailed (Сбой сертификации)
  • Выпуск
  • ReleaseFailed (Сбой выпуска)
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 строка Строка, указывающая срок действия пробной версии приложения. Может иметь одно из следующих значений:
  • NoFreeTrial (Нет пробного периода)
  • OneDay (Один день)
  • TrialNeverExpires (Бессрочный пробный период)
  • SevenDays (7 дней)
  • FifteenDays (15 дней)
  • ThirtyDays (30 дней)
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, чтобы предложить пользователям новый способ программного доступа к информации о продажах для отправок приложений.

Этот ресурс содержит следующие значения.

Значение Тип Описание
name строка Имя продажи.
basePriceId строка Ценовая категория, используемая для базовой цены продажи.
startDate строка Дата начала для продажи в формате ISO 8601.
endDate строка Дата окончания для продажи в формате ISO 8601.
marketSpecificPricings object Словарь пар "ключ-значение", где каждый ключ представляет собой код страны ISO 3166-1 alpha-2 из двух букв, а каждое значение — ценовую категорию. Эти элементы представляют особые цены на ваше приложение для определенных рынков. Любые элементы этого словаря переопределяют базовую цену, заданную значением basePriceId для указанного рынка.

Ресурс описания

Этот ресурс содержит информацию описания для приложения. Этот ресурс содержит следующие значения.

Значение Тип Описание
baseListing object Информация базового описания для приложения, которая определяет описание по умолчанию на всех платформах.
platformOverrides object Словарь пар "ключ-значение", где каждый ключ является строкой, идентифицирующей платформу, для которой необходимо переопределить информацию в описании, а каждое значение является ресурсом базового описания (содержащим только значения от описания до заголовка), определяющим информацию для переопределения описания для указанной платформы. Ключи могут иметь следующие значения:
  • Неизвестно
  • Windows80
  • Windows81
  • WindowsPhone71
  • WindowsPhone80
  • WindowsPhone81

Ресурс базового описания

Этот ресурс содержит базовую информацию описания для приложения. Этот ресурс содержит следующие значения.

Значение Тип Описание
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 строка Состояние файла изображения. Может иметь одно из следующих значений:
  • Нет
  • PendingUpload (Ожидает передачи)
  • Отправка
  • PendingDelete (Ожидает удаления)
идентификатор строка Идентификатор для изображения. Это значение предоставляется Центром партнеров.
description строка Описание изображения.
imageType строка Указывает тип изображения. В настоящее время поддерживаются перечисленные ниже строки.

Снимок экрана:

  • Screenshot (используйте это значение для снимка экрана рабочего стола)
  • MobileScreenshot (Снимок экрана мобильного устройства)
  • XboxScreenshot (Снимок экрана Xbox)
  • SurfaceHubScreenshot (Снимок экрана SurfaceHub)
  • HoloLensScreenshot (Снимок экрана HoloLens)

Логотипы магазина:

  • StoreLogo9x16
  • StoreLogoSquare
  • Icon (используйте это значение для логотипа 1:1 300 x 300 пикселей)

Рекламные изображения:

  • PromotionalArt16x9
  • PromotionalArtwork2400X1200

Изображения Xbox:

  • XboxBrandedKeyArt
  • XboxTitledHeroArt
  • XboxFeaturedPromotionalArt

Дополнительные рекламные изображения:

  • 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"
    }
  ],
}

Этот ресурс содержит следующие значения.

Значение Тип Описание
Жанры array Массив из одной или нескольких приведенных ниже строк, которые описывают жанры игры:
  • Games_ActionAndAdventure
  • Games_CardAndBoard
  • Games_Casino
  • Games_Educational
  • Games_FamilyAndKids
  • Games_Fighting
  • Games_Music
  • Games_Platformer
  • Games_PuzzleAndTrivia
  • Games_RacingAndFlying
  • Games_RolePlaying
  • Games_Shooter
  • Games_Simulation
  • Games_Sports
  • Games_Strategy
  • Games_Word
isLocalMultiplayer Логическое Указывает, поддерживает ли игра локальный многопользовательский режим.
isLocalCooperative Логическое Указывает, поддерживает ли игра локальный совместный режим.
isOnlineMultiplayer Логическое Указывает, поддерживает ли игра онлайн-многопользовательский режим.
isOnlineCooperative Логическое Указывает, поддерживает ли игра онлайн-совместный режим.
localMultiplayerMinPlayers INT Определяет минимальное поддерживаемое число игроков, поддерживаемое игрой в локальном многопользовательском режиме.
localMultiplayerMaxPlayers INT Определяет максимальное поддерживаемое число игроков, поддерживаемое игрой в локальном многопользовательском режиме.
localCooperativeMinPlayers INT Определяет минимальное поддерживаемое число игроков, поддерживаемое игрой в локальном совместном режиме.
localCooperativeMaxPlayers INT Определяет максимальное поддерживаемое число игроков, поддерживаемое игрой в локальном совместном режиме.
isBroadcastingPrivilegeGranted Логическое Указывает, поддерживает ли игра трансляции.
isCrossPlayEnabled Логическое Указывает, поддерживает ли игра многопользовательские сеансы между игроками на Windows 10 и Windows 11 компьютерах и Xbox.
kinectDataForExternal строка Одно из следующих строковых значений, указывающее, может ли игра получать данные Kinect и отправлять их внешним службам:
  • NotSet
  • Неизвестно
  • Активировано
  • Выключено

Примечание

Ресурс 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 строка Состояние пакета. Может иметь одно из следующих значений:
  • Нет
  • PendingUpload (Ожидает передачи)
  • Отправка
  • PendingDelete (Ожидает удаления)
идентификатор строка Идентификатор, который уникально идентифицирует пакет. Это значение предоставляется Центром партнеров.
version строка Версия пакета приложения. Дополнительные сведения см. в разделе Нумерация версий пакета.
архитектура строка Архитектура пакета (например, ARM).
языки array Массив кодов языков, которые поддерживает приложение. Дополнительные сведения см. в списке поддерживаемых языков.
capabilities array Массив возможностей, необходимых для этого пакета. Дополнительные сведения о возможностях см. в разделе Объявления возможностей приложения.
minimumDirectXVersion строка Минимальная версия DirectX, поддерживаемая пакетом приложения. Может задаваться только для приложений, предназначенных для Windows 8.x. Для приложений, предназначенных для других версий ОС, это значение должно присутствовать при вызове метода обновления отправки приложения, но указанное значение игнорируется. Может иметь одно из следующих значений:
  • Нет
  • DirectX93
  • DirectX100
minimumSystemRam строка Минимальный объем ОЗУ, необходимый для пакета приложения. Может задаваться только для приложений, предназначенных для Windows 8.x. Для приложений, предназначенных для других версий ОС, это значение должно присутствовать при вызове метода обновления отправки приложения, но указанное значение игнорируется. Может иметь одно из следующих значений:
  • Нет
  • Memory2GB
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:
  • Windows.Universal min version {0}
  • Windows.Desktop min version {0}
  • Windows.Mobile min version {0}
  • Windows.Xbox min version {0}
  • Windows.Holographic min version {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 строка Одна из следующих строк, указывающая состояние постепенного выпуска пакета:
  • PackageRolloutNotStarted
  • PackageRolloutInProgress
  • PackageRolloutComplete
  • PackageRolloutStopped
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. В настоящее время поддерживаются следующие ценовые категории.

  • Если значение isAdvancedPricingModelценового ресурсаtrue, для вашей учетной записи доступны такие ценовые категории: Tier1012 - Tier1424.
  • Если значение isAdvancedPricingModelценового ресурсаfalse, для вашей учетной записи доступны такие ценовые категории: Tier2 - Tier96.
Чтобы просмотреть полную таблицу ценовых категорий, доступных для вашей учетной записи разработчика, включая рыночные цены, связанные с каждым уровнем, перейдите на страницу Цены и доступность для любой отправки приложений в Центре партнеров и щелкните ссылку просмотреть таблицу в разделе Рынки и пользовательские цены (для некоторых учетных записей разработчиков, эта ссылка находится в разделе Цены ).

Значения корпоративного лицензирования

Следующие значения представляют поведение корпоративного лицензирования для приложения. Дополнительные сведения об этих параметрах см. в разделе Параметры корпоративного лицензирования.

Примечание

Хотя параметры корпоративного лицензирования можно настроить для отправки приложения с помощью 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 В процессе проверки пакета создано предупреждение.