Compartilhar via


Gerenciar envios de aplicativo

A API de envio da Microsoft Store fornece métodos que você pode usar para gerenciar envios para seus aplicativos, incluindo distribuições graduais de pacotes. Para obter uma introdução à API de envio da Microsoft Store, incluindo pré-requisitos para usar a API, consulte Criar e gerenciar envios usando os serviços da Microsoft Store.

Importante

Se você usar a API de envio da Microsoft Store para criar um envio para um aplicativo, certifique-se de fazer mais alterações no envio somente usando a API, em vez do Partner Center. Se você usar o Partner Center para alterar um envio criado originalmente usando a API, não poderá mais alterar ou confirmar esse envio usando a API. Em alguns casos, o envio pode ser deixado em um estado de erro onde não pode prosseguir no processo de envio. Se isso ocorrer, você deverá excluir o envio e criar um novo envio.

Importante

Você não pode usar essa API para publicar envios para compras por volume por meio da Microsoft Store para Empresas e da Microsoft Store para Educação ou para publicar envios de aplicativos LOB diretamente para empresas. Para ambos os cenários, você deve usar o Partner Center para publicar o envio.

Métodos para gerenciar envios de aplicativos

Use os métodos a seguir para obter, criar, atualizar, confirmar ou excluir um envio de aplicativo. Antes de usar esses métodos, o aplicativo já deve existir em sua conta do Partner Center e você deve primeiro criar um envio para o aplicativo no Partner Center. Para obter mais informações, confira os pré-requisitos.

Método URI Descrição
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Obter um envio de aplicativo existente
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status Obter o status de um envio de aplicativo existente
POSTAR https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions Criar um novo envio de aplicativo
PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Atualizar um envio de aplicativo existente
POSTAR https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit Confirmar um envio de aplicativo novo ou atualizado
DELETE https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} Excluir um envio de aplicativo

Criar um envio de aplicativo

Para criar um envio para um aplicativo, siga este processo.

  1. Se você ainda não tiver feito isso, conclua todos os pré-requisitos para a API de envio da Microsoft Store.

    Observação

    Verifique se o aplicativo já tem pelo menos um envio concluído com as informações de classificação etária concluídas.

  2. Obter um token de acesso do Azure AD. Você deve passar esse token de acesso para os métodos na API de envio da Microsoft Store. Após obter um token de acesso, você tem 60 minutos para usá-lo antes dele expirar. Depois que o token expirar, você poderá obter um novo.

  3. Crie um envio de aplicativo executando o método a seguir na API de envio da Microsoft Store. Esse método cria um novo envio em andamento, que é uma cópia do último envio publicado.

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

    O corpo da resposta contém um recurso de envio de aplicativo que inclui a ID do novo envio, o URI de SAS (assinatura de acesso compartilhado) para carregar todos os arquivos relacionados ao envio ao Armazenamento de Blobs do Azure (como pacotes de aplicativos, imagens de listagem e arquivos de trailer) e todos os dados do novo envio (como as listagens e informações de preços).

    Observação

    Um URI SAS fornece acesso a um recurso seguro no armazenamento do Azure sem exigir chaves de conta. Para obter informações básicas sobre URIs SAS e seu uso com o Armazenamento de Blobs do Azure, consulte Assinaturas de Acesso Compartilhado, Parte 1: Compreendendo o modelo SAS e Assinaturas de Acesso Compartilhado, Parte 2: Criar e usar uma SAS com armazenamento de Blobs.

  4. Se você estiver adicionando novos pacotes, listando imagens ou arquivos de trailer para o envio, prepare os pacotes do aplicativo e prepare as capturas de tela, imagens e trailers do aplicativo. Adicione todos esses arquivos a um arquivo ZIP.

  5. Revise os dados de envio do aplicativo com as alterações necessárias para o novo envio e execute o método a seguir para atualizar o envio do aplicativo.

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

    Observação

    Se você estiver adicionando novos arquivos para o envio, certifique-se de atualizar os dados do envio para se referir ao nome e ao caminho relativo desses arquivos no arquivo ZIP.

  6. Se você estiver adicionando novos pacotes, listando imagens ou arquivos de trailer para o envio, carregue o arquivo ZIP no Armazenamento de Blobs do Azure usando o URI SAS fornecido no corpo da resposta do método POST que você chamou anteriormente. Há diferentes bibliotecas do Azure que você pode usar para fazer isso em uma variedade de plataformas, incluindo:

    O exemplo de código C# a seguir demonstra como carregar um arquivo ZIP no Armazenamento de Blobs do Azure usando a classe CloudBlockBlob na Biblioteca de Cliente de Armazenamento do Azure para .NET. Este exemplo pressupõe que o arquivo ZIP já foi gravado em um objeto de fluxo.

    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. Confirme o envio do aplicativo executando o método a seguir. Isso alertará o Partner Center de que você terminou seu envio e que suas atualizações agora devem ser aplicadas à sua conta.

    POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit
    
  8. Verifique o status da confirmação executando o método a seguir para obter o status do envio do aplicativo.

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

    Para confirmar o status do envio, revise o valor de status no corpo da resposta. Esse valor deve mudar de CommitStarted para PreProcessing se a solicitação for bem-sucedida ou para CommitFailed se houver erros na solicitação. Se houver erros, o campo statusDetails conterá mais detalhes sobre o erro.

  9. Depois que a confirmação for concluída com êxito, o envio será enviado para a Loja para ingestão. Você pode continuar a monitorar o progresso do envio usando o método anterior ou visitando o Partner Center.

Métodos para gerenciar uma distribuição gradual de pacotes

Você pode distribuir gradualmente os pacotes atualizados em um envio de aplicativo para uma porcentagem dos clientes do seu aplicativo no Windows 10 e no Windows 11. Isso permite que você monitore o feedback e os dados analíticos dos pacotes específicos para garantir que você esteja confiante sobre a atualização antes de distribuí-la de forma mais ampla. Você pode alterar a porcentagem de lançamento (ou interromper a atualização) de um envio publicado sem precisar criar um novo envio. Para obter mais detalhes, incluindo instruções sobre como habilitar e gerenciar uma distribuição gradual de pacote no Partner Center, consulte este artigo.

Para habilitar programaticamente uma distribuição gradual de pacote para um envio de aplicativo, siga este processo usando métodos na API de envio da Microsoft Store:

  1. Crie um envio de aplicativo ou obtenha um envio de aplicativo existente.
  2. Nos dados de resposta, localize o recurso packageRollout , defina o campo isPackageRollout como true e defina o campo packageRolloutPercentage como a porcentagem de clientes do aplicativo que devem receber os pacotes atualizados.
  3. Passe os dados de envio de aplicativo atualizados para o método de envio de um aplicativo de atualização.

Depois que uma distribuição gradual de pacote for habilitada para um envio de aplicativo, você poderá usar os métodos a seguir para obter, atualizar, interromper ou finalizar programaticamente a distribuição gradual.

Método URI Descrição
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/packagerollout Obter as informações de distribuição gradual para um envio de aplicativo
POSTAR https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/updatepackagerolloutpercentage Atualizar a porcentagem de distribuição gradual para um envio de aplicativo
POSTAR https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/haltpackagerollout Interromper a distribuição gradual de um envio de aplicativo
POSTAR https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/finalizepackagerollout Finalizar a distribuição gradual de um envio de aplicativo

Exemplos de código para gerenciar envios de aplicativos

Os artigos a seguir fornecem exemplos de código detalhados que demonstram como criar um envio de aplicativo em várias linguagens de programação diferentes:

Módulo PowerShell StoreBroker

Como alternativa para chamar a API de envio da Microsoft Store diretamente, também fornecemos um módulo PowerShell de código aberto que implementa uma interface de linha de comando sobre a API. Este módulo é chamado StoreBroker. Você pode usar este módulo para gerenciar seus envios de aplicativo, voo e complemento a partir da linha de comando em vez de chamar a API de envio da Microsoft Store diretamente, ou simplesmente navegar na origem para ver mais exemplos de como chamar essa API. O módulo StoreBroker é usado ativamente na Microsoft como a principal maneira pela qual muitos aplicativos primários são enviados para a Loja.

Para obter mais informações, consulte nossa página StoreBroker no GitHub.

Recursos de dados

Os métodos da API de envio da Microsoft Store para gerenciar envios de aplicativos usam os seguintes recursos de dados JSON.

Recurso de envio de aplicativo

Este recurso descreve um envio de aplicativo.

{
  "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": []
}

Este recurso possui os seguintes valores.

Valor Type Descrição
id string A ID do envio. Essa ID está disponível nos dados de resposta para solicitações para criar um envio de aplicativo, obter todos os aplicativos e obter um aplicativo. Para um envio criado no Partner Center, essa ID também está disponível na URL da página de envio no Partner Center.
categoria de aplicação string Uma cadeia de caracteres que especifica a categoria e/ou subcategoria do seu aplicativo. Categorias e subcategorias são combinadas em uma única cadeia de caracteres com o caractere sublinhado '_', como BooksAndReference_EReader.
preços objeto Um recurso de preços que contém informações de preços para o aplicativo.
visibility string A visibilidade do aplicativo. Esse valor pode ser um dos seguintes:
  • Oculto
  • Setor Público
  • Privados
  • NotSet
targetPublishMode string O modo de publicação para o envio. Esse valor pode ser um dos seguintes:
  • Imediata
  • Manual
  • SpecificDate
targetPublishDate string A data de publicação para o envio no formato ISO 8601, se o targetPublishMode estiver definido como SpecificDate.
listagens objeto Um dicionário de pares de chave e valor, em que cada chave é um código de país e cada valor é um recurso de listagem que contém informações de listagem para o aplicativo.
hardwarePreferências matriz Uma matriz de cadeias de caracteres que definem as preferências de hardware do seu aplicativo. Esse valor pode ser um dos seguintes:
  • Tocar
  • Teclado
  • Mouse
  • Câmera
  • NfcHce
  • Nfc
  • com BluetoothLE
  • Telefonia
automaticBackupEnabled boolean Indica se o Windows pode incluir os dados do seu aplicativo em backups automáticos no OneDrive. Para obter mais informações, consulte Declarações de aplicativo.
canInstallOnRemovableMedia boolean Indica se os clientes podem instalar seu aplicativo no armazenamento removível. Para obter mais informações, consulte Declarações de aplicativo.
isGameDvrEnabled boolean Indica se o DVR do jogo está habilitado para o aplicativo.
opções de jogos matriz Uma matriz que contém um recurso de opções de jogos que define as configurações relacionadas ao jogo para o aplicativo.
temExternalInAppProducts boolean Indica se seu aplicativo permite que os usuários façam compras fora do sistema de comércio da Microsoft Store. Para obter mais informações, consulte Declarações de aplicativo.
meetAccessibilityGuidelines boolean Indica se seu aplicativo foi testado para atender às diretrizes de acessibilidade. Para obter mais informações, consulte Declarações de aplicativo.
notesForCertification string Contém notas para certificação do seu aplicativo.
status string O status do envio. Esse valor pode ser um dos seguintes:
  • Nenhum
  • Canceled
  • PendingCommit
  • CommitStarted
  • CommitFailed
  • PendingPublication
  • Publicando
  • Publicado
  • PublishFailed
  • PreProcessing
  • PreProcessingFailed
  • Certificação
  • CertificationFailed
  • Versão
  • ReleaseFailed
statusDetails objeto Um recurso de detalhes de status que contém detalhes adicionais sobre o status do envio, incluindo informações sobre quaisquer erros.
fileUploadUrl string O URI de assinatura de acesso compartilhado (SAS) para carregar quaisquer pacotes para o envio. Se você estiver adicionando novos pacotes, listando imagens ou arquivos de trailer para o envio, carregue o arquivo ZIP que contém os pacotes e as imagens para esse URI. Para obter mais informações, consulte Criar um envio de aplicativo.
Pacotes de aplicativos matriz Uma matriz de recursos de pacote de aplicativos que fornecem detalhes sobre cada pacote no envio.
packageDeliveryOptions objeto Um recurso de opções de entrega de pacote que contém a distribuição gradual do pacote e as configurações de atualização obrigatórias para o envio.
enterpriseLicensing string Um dos valores de valores de licenciamento corporativo que indicam o comportamento de licenciamento corporativo do aplicativo.
allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies boolean Indica se a Microsoft tem permissão para disponibilizar o aplicativo para futuras famílias de dispositivos Windows 10 e Windows 11.
allowTargetFutureDeviceFamilies objeto Um dicionário de pares de chave e valor, em que cada chave é uma família de dispositivos Windows 10 e Windows 11 e cada valor é um booliano que indica se seu aplicativo tem permissão para direcionar a família de dispositivos especificada.
friendlyName string O nome amigável do envio, conforme mostrado no Partner Center. Esse valor é gerado para você quando você cria o envio.
Reboques matriz Uma matriz que contém até 15 recursos de trailer que representam trailers de vídeo para a listagem do aplicativo.

Recursos de preço

Este recurso contém informações de preços para o aplicativo. Este recurso possui os seguintes valores.

Valor Type Descrição
período de avaliação string Uma cadeia de caracteres que especifica o período de avaliação do aplicativo. Esse valor pode ser um dos seguintes:
  • NãoGrátisTeste
  • OneDay
  • TrialNeverExpires
  • Sete Dias
  • Quinze dias
  • Trinta Dias
marketSpecificPricings objeto Um dicionário de pares de chaves e valores, onde cada chave é um código de país ISO 3166-1 alpha-2 de duas letras e cada valor é uma camada de preço. Esses itens representam os preços personalizados do seu aplicativo em mercados específicos. Todos os itens neste dicionário substituem o preço base especificado pelo valor priceId para o mercado especificado.
vendas matriz Preterido. Uma matriz de recursos de venda que contêm informações de vendas para o aplicativo.
priceId string Um tipo de preço que especifica o preço base do aplicativo.
isAdvancedPricingModel boolean Se for verdade, sua conta de desenvolvedor terá acesso ao conjunto expandido de níveis de preço de .99 USD a 1999.99 USD. Se falso, sua conta de desenvolvedor terá acesso ao conjunto original de níveis de preço de 0,99 USD a 999,99 USD. Para obter mais informações sobre as diferentes camadas, consulte Camadas de preço.

Nota Este campo é somente leitura.

Recurso de venda

Este recurso contém informações de venda de um aplicativo.

Importante

Não há mais suporte para o recurso Sale e, no momento, você não pode obter ou modificar os dados de venda de um envio de aplicativo usando a API de envio da Microsoft Store. No futuro, atualizaremos a API de envio da Microsoft Store para introduzir uma nova maneira de acessar programaticamente as informações de vendas para envios de aplicativos.

  • Depois de chamar o método GET para obter um envio de aplicativo, o valor de vendas estará vazio. Você pode continuar a usar o Partner Center para obter os dados de venda para o envio do aplicativo.
  • Ao chamar o método PUT para atualizar um envio de aplicativo, as informações no valor de vendas são ignoradas. Você pode continuar a usar o Partner Center para alterar os dados de venda do envio do aplicativo.

Este recurso possui os seguintes valores.

Valor Type Descrição
name string O nome da venda.
basePriceId string A camada de preço a ser usada para o preço base da venda.
startDate string A data de início da venda, no formato ISO 8601.
endDate string A data de fim da venda, no formato ISO 8601.
marketSpecificPricings objeto Um dicionário de pares de chaves e valores, onde cada chave é um código de país ISO 3166-1 alpha-2 de duas letras e cada valor é uma camada de preço. Esses itens representam os preços personalizados do seu aplicativo em mercados específicos. Todos os itens neste dicionário substituem o preço base especificado pelo basePriceId para o mercado especificado.

Recurso de listagem

Este recurso contém informações de listagem para um aplicativo. Este recurso possui os seguintes valores.

Valor Type Descrição
Listagem de base objeto As informações de listagem base do aplicativo, que definem as informações de listagem padrão para todas as plataformas.
platformOverrides objeto Um dicionário de pares de chave e valor, em que cada chave é uma cadeia de caracteres que identifica uma plataforma para a qual substituir as informações de listagem e cada valor é um recurso de listagem base (contendo apenas os valores da descrição ao título) que especifica as informações de listagem a serem substituídas para a plataforma especificada. As chaves podem ter os seguintes valores:
  • Desconhecido
  • Janelas 80
  • janelas 81
  • Telefone do Windows71
  • WindowsPhone80
  • WindowsPhone81

Recurso de listagem de base

Este recurso contém informações de listagem base para um aplicativo. Este recurso possui os seguintes valores.

Valor Type Descrição
copyrightAndTrademarkInfo string Informações opcionais sobre direitos autorais e/ou marcas registradas.
palavras-chave matriz Uma matriz de palavras-chave para ajudar seu aplicativo a aparecer nos resultados da pesquisa.
licençaTermos string Os termos de licença opcionais para seu aplicativo.
privacyPolicy string Esse valor está obsoleto. Para definir ou alterar a URL da política de privacidade do seu aplicativo, você deve fazer isso na página Propriedades no Partner Center. Você pode omitir esse valor de suas chamadas para a API de envio. Se você definir esse valor, ele será ignorado.
suporteContato string Esse valor está obsoleto. Para definir ou alterar a URL de contato de suporte ou o endereço de email do seu aplicativo, você deve fazer isso na página Propriedades no Partner Center. Você pode omitir esse valor de suas chamadas para a API de envio. Se você definir esse valor, ele será ignorado.
websiteUrl string Esse valor está obsoleto. Para definir ou alterar a URL da página da Web do seu aplicativo, você deve fazer isso na página Propriedades no Partner Center. Você pode omitir esse valor de suas chamadas para a API de envio. Se você definir esse valor, ele será ignorado.
descrição string A descrição da listagem do aplicativo.
features matriz Uma matriz de até 20 cadeias de caracteres que listam os recursos do seu aplicativo.
releaseNotes string As notas de versão do seu aplicativo.
images matriz Uma matriz de recursos de imagem e ícone para a listagem do aplicativo.
recommendedHardware matriz Uma matriz de até 11 cadeias de caracteres que lista as configurações de hardware recomendadas para seu aplicativo.
minimumHardware string Uma matriz de até 11 cadeias de caracteres que listam as configurações mínimas de hardware para seu aplicativo.
title string O título da listagem do aplicativo.
shortDescription string Usado apenas para jogos. Essa descrição aparece na seção Informações do Hub de Jogos no Xbox One e ajuda os clientes a entender mais sobre o jogo.
shortTitle string Uma versão mais curta do nome do seu produto. Se fornecido, esse nome mais curto pode aparecer em vários lugares no Xbox One (durante a instalação, em Conquistas, etc.) no lugar do título completo do seu produto.
sortTitle string Se o seu produto puder ser alfabetizado de maneiras diferentes, você pode inserir outra versão aqui. Isso pode ajudar os clientes a encontrar o produto mais rapidamente ao pesquisar.
voiceTitle string Um nome alternativo para seu produto que, se fornecido, pode ser usado na experiência de áudio no Xbox One ao usar o Kinect ou um fone de ouvido.
devStudio string Especifique esse valor se quiser incluir um campo Desenvolvido por na listagem. (O Publicado por listará o nome de exibição do editor associado à sua conta, independentemente de você fornecer ou não um valor devStudio .)

Recurso de imagem

Este recurso contém dados de imagem e ícone para uma listagem de aplicativos. Para obter mais informações sobre imagens e ícones para uma listagem de aplicativos, consulte Capturas de tela e imagens do aplicativo. Este recurso possui os seguintes valores.

Valor Type Descrição
fileName string O nome do arquivo de imagem no arquivo ZIP que você carregou para o envio.
fileStatus string O status do arquivo de imagem. Esse valor pode ser um dos seguintes:
  • Nenhum
  • PendingUpload
  • Carregado
  • PendingDelete
ID string O ID da imagem. Esse valor é fornecido pelo Partner Center.
descrição string A descrição da imagem.
imageType string Indica o tipo da imagem. Atualmente, há suporte para as cadeias de caracteres a seguir.

Imagens de captura de tela:

  • Captura de tela (use esse valor para a captura de tela da área de trabalho)
  • Captura de tela móvel
  • Captura de tela do Xbox
  • SurfaceHubCaptura de tela
  • HoloLensCaptura de tela

Logotipos da loja:

  • Logotipo da loja9x16
  • Logotipoda LojaQuadrado
  • Ícone (use esse valor para o logotipo 1:1 de 300 x 300 pixels)

Imagens promocionais:

  • PromocionalArt16x9
  • Arte Promocional2400X1200

Imagens do Xbox:

  • XboxBrandedKeyArt
  • XboxTitledHeroArt
  • XboxArte promocional em destaque

Imagens promocionais opcionais:

  • Ícone quadrado358X358
  • Imagem de fundo1000X800
  • Arte Promocional414X180

Recurso de opções de jogos

Este recurso contém configurações relacionadas ao jogo para o aplicativo. Os valores neste recurso correspondem às configurações do jogo para envios no Partner Center.

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

Este recurso possui os seguintes valores.

Valor Type Descrição
genres matriz Uma matriz de uma ou mais das seguintes cadeias de caracteres que descrevem os gêneros do jogo:
  • 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
éLocalMultijogador boolean Indica se o jogo suporta o modo multijogador local.
éLocalCooperativo boolean Indica se o jogo suporta cooperação local.
éOnlineMultijogador boolean Indica se o jogo suporta o modo multijogador online.
isOnlineCooperative boolean Indica se o jogo suporta cooperação online.
localMultiplayerMinPlayers int Especifica o número mínimo de jogadores que o jogo suporta para o modo multijogador local.
localMultijogadorMaxJogadores int Especifica o número máximo de jogadores que o jogo suporta para o modo multijogador local.
localCooperativeMinPlayers int Especifica o número mínimo de jogadores que o jogo suporta para o modo cooperativo local.
localCooperativeMaxPlayers int Especifica o número máximo de jogadores que o jogo suporta para o modo cooperativo local.
isBroadcastingPrivilegeGranted boolean Indica se o jogo suporta transmissão.
isCrossPlayEnabled boolean Indica se o jogo dá suporte a sessões multijogador entre jogadores em computadores Windows 10 e Windows 11 e Xbox.
DadosInternosExternos, KinectDataForExternal string Um dos seguintes valores de cadeia de caracteres que indica se o jogo pode coletar dados do Kinect e enviá-los para serviços externos:
  • NotSet
  • Desconhecido
  • Enabled
  • Desabilitado

Observação

O recurso gamingOptions foi adicionado em maio de 2017, depois que a API de envio da Microsoft Store foi lançada pela primeira vez para os desenvolvedores. Se você criou um envio para um aplicativo por meio da API de envio antes da introdução desse recurso e esse envio ainda estiver em andamento, esse recurso será nulo para envios para o aplicativo até que você confirme o envio com êxito ou o exclua. Se o recurso gamingOptions não estiver disponível para envios para um aplicativo, o campo hasAdvancedListingPermission do recurso Application retornado pelo método get an app será false.

Recurso de detalhes de status

Este recurso contém detalhes adicionais sobre o status de um envio. Este recurso possui os seguintes valores.

Valor Type Descrição
erros objeto Uma matriz de recursos de detalhes de status que contêm detalhes de erro para o envio.
avisos objeto Uma matriz de recursos de detalhes de status que contêm detalhes de aviso para o envio.
certificationReports objeto Uma matriz de recursos de relatório de certificação que fornece acesso aos dados do relatório de certificação para o envio. Você pode examinar esses relatórios para obter mais informações se a certificação falhar.

Recurso de detalhes de status

Este recurso contém informações adicionais sobre quaisquer erros ou avisos relacionados para um envio. Este recurso possui os seguintes valores.

Valor Type Descrição
code string Um código de status de envio que descreve o tipo de erro ou aviso.
detalhes string Uma mensagem com mais detalhes sobre o problema.

Recurso do pacote de aplicativos

Esse recurso contém detalhes sobre um pacote de aplicativo para o envio.

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

Este recurso possui os seguintes valores.

Observação

Ao chamar o método de envio de atualização de um aplicativo, somente os valores fileName, fileStatus, minimumDirectXVersion e minimumSystemRam desse objeto são necessários no corpo da solicitação. Os outros valores são preenchidos pelo Partner Center.

Valor Type Descrição
fileName string O nome do pacote.
fileStatus string O status do pacote. Esse valor pode ser um dos seguintes:
  • Nenhum
  • PendingUpload
  • Carregado
  • PendingDelete
ID string Uma ID que identifica exclusivamente o pacote. Esse valor é fornecido pelo Partner Center.
version string A versão do pacote do aplicativo. Para obter mais informações, consulte Numeração de versão do pacote.
arquitetura string A arquitetura do pacote (por exemplo, ARM).
idiomas matriz Uma matriz de códigos de idioma para os idiomas compatíveis com o aplicativo. Para obter mais informações, consulte Idiomas com suporte.
funcionalidades matriz Uma variedade de recursos exigidos pelo pacote. Para obter mais informações sobre recursos, consulte Declarações de funcionalidade do aplicativo.
minimumDirectXVersion string A versão mínima do DirectX compatível com o pacote do aplicativo. Isso só pode ser definido para aplicativos direcionados ao Windows 8.x. Para aplicativos direcionados a outras versões do sistema operacional, esse valor deve estar presente ao chamar o método de envio de atualização de um aplicativo, mas o valor especificado é ignorado. Esse valor pode ser um dos seguintes:
  • Nenhum
  • DirectX93
  • DirectX100
minimumSystemRam string A RAM mínima exigida pelo pacote do aplicativo. Isso só pode ser definido para aplicativos direcionados ao Windows 8.x. Para aplicativos direcionados a outras versões do sistema operacional, esse valor deve estar presente ao chamar o método de envio de atualização de um aplicativo, mas o valor especificado é ignorado. Esse valor pode ser um dos seguintes:
  • Nenhum
  • Memória2GB
targetDeviceFamilies matriz Uma matriz de cadeias de caracteres que representam as famílias de dispositivos que o pacote tem como destino. Esse valor é usado apenas para pacotes direcionados ao Windows 10; para pacotes direcionados a versões anteriores, esse valor tem o valor None. Atualmente, há suporte para as seguintes cadeias de caracteres de família de dispositivos para pacotes Windows 10 e Windows 11, em que {0} há uma cadeia de caracteres de versão Windows 10 ou Windows 11, como 10.0.10240.0, 10.0.10586.0 ou 10.0.14393.0:
  • Versão mínima do Windows.Universal {0}
  • Versão mínima do Windows.Desktop {0}
  • Versão mínima do Windows.Mobile {0}
  • Versão mínima do Windows.Xbox {0}
  • Windows.Holographic min versão {0}

id = "recurso de relatório de certificação"

Recurso de relatório de certificação

Esse recurso fornece acesso aos dados do relatório de certificação para um envio. Este recurso possui os seguintes valores.

Valor Type Descrição
date string A data e hora em que o relatório foi gerado, no formato ISO 8601.
reportUrl string A URL na qual você pode acessar o relatório.

Recurso de opções de entrega de pacotes

Este recurso contém a distribuição gradual do pacote e as configurações de atualização obrigatórias para o envio.

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

Este recurso possui os seguintes valores.

Valor Type Descrição
lançamento do pacote objeto Um recurso de distribuição de pacote que contém configurações de distribuição de pacote gradual para o envio.
isMandatoryUpdate boolean Indica se você deseja tratar os pacotes neste envio como obrigatórios para atualizações de aplicativos de instalação automática. Para obter mais informações sobre pacotes obrigatórios para atualizações de aplicativos de instalação automática, consulte Baixar e instalar atualizações de pacote para seu aplicativo.
mandatoryUpdateEffectiveDate date A data e a hora em que os pacotes neste envio se tornam obrigatórios, no formato ISO 8601 e no fuso horário UTC.

Recurso de distribuição de pacote

Esse recurso contém configurações de distribuição gradual do pacote para o envio. Este recurso possui os seguintes valores.

Valor Type Descrição
isPackageRollout boolean Indica se a distribuição gradual do pacote está habilitada para o envio.
packageRolloutPercentage float A porcentagem de usuários que receberão os pacotes na distribuição gradual.
packageRolloutStatus string Uma das seguintes strings que indica o status da distribuição gradual do pacote:
  • PackageRolloutNotStarted
  • PackageRolloutInProgress
  • PacoteRolloutComplete
  • PackageRolloutStopped
fallbackSubmissionId string A ID do envio que será recebida pelos clientes que não receberem os pacotes de distribuição gradual.

Observação

Os valores packageRolloutStatus e fallbackSubmissionId são atribuídos pelo Partner Center e não devem ser definidos pelo desenvolvedor. Se você incluir esses valores em um corpo de solicitação, esses valores serão ignorados.

Recurso de reboques

Esse recurso representa um trailer de vídeo para a listagem do aplicativo. Os valores neste recurso correspondem às opções de trailers para envios no Partner Center.

Você pode adicionar até 15 recursos de trailer à matriz trailers em um recurso de envio de aplicativo. Para carregar arquivos de vídeo de trailer e imagens em miniatura para um envio, adicione esses arquivos ao mesmo arquivo ZIP que contém os pacotes e as imagens de listagem do envio e, em seguida, carregue esse arquivo ZIP no URI de assinatura de acesso compartilhado (SAS) do envio. Para obter mais informações sobre como carregar o arquivo ZIP no URI da SAS, consulte Criar um envio de aplicativo.

{
  "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."
            }
          ]
        }
      }
    }
  ]
}

Este recurso possui os seguintes valores.

Valor Type Descrição
id string O ID do trailer. Esse valor é fornecido pelo Partner Center.
nome_do_arquivo_video string O nome do arquivo de vídeo do trailer no arquivo ZIP que contém os arquivos para o envio.
vídeoFileId string O ID do arquivo de vídeo do trailer. Esse valor é fornecido pelo Partner Center.
trailerAssets objeto Um dicionário de pares de chave e valor, em que cada chave é um código de idioma e cada valor é um recurso de ativos de trailer que contém ativos adicionais específicos de localidade para o trailer. Para obter mais informações sobre os códigos de idioma com suporte, consulte Idiomas com suporte.

Observação

O recurso de trailers foi adicionado em maio de 2017, depois que a API de envio da Microsoft Store foi lançada pela primeira vez para desenvolvedores. Se você criou um envio para um aplicativo por meio da API de envio antes da introdução desse recurso e esse envio ainda estiver em andamento, esse recurso será nulo para envios para o aplicativo até que você confirme o envio com êxito ou o exclua. Se o recurso trailers não estiver disponível para envios de um aplicativo, o campo hasAdvancedListingPermission do recurso Application retornado pelo método get an app será false.

Recurso de ativos de reboque

Esse recurso contém ativos adicionais específicos da localidade para um trailer definido em um recurso de trailer. Este recurso possui os seguintes valores.

Valor Type Descrição
cargo string O título localizado do trailer. O título é exibido quando o usuário reproduz o trailer no modo de tela cheia.
imageList matriz Uma matriz que contém um recurso de imagem que fornece a imagem em miniatura para o trailer. Você só pode incluir um recurso de imagem nessa matriz.

Recurso de imagem (para um trailer)

Este recurso descreve a imagem em miniatura de um trailer. Este recurso possui os seguintes valores.

Valor Type Descrição
fileName string O nome do arquivo de imagem em miniatura no arquivo ZIP que você carregou para o envio.
ID string A ID da imagem em miniatura. Esse valor é fornecido pelo Partner Center.
descrição string A descrição da imagem em miniatura. Esse valor é apenas metadados e não é exibido para os usuários.

Enumerações

Esses métodos usam os seguintes enums.

Faixas de preço

Os valores a seguir representam os tipos de preço disponíveis no recurso de recurso de preço para um envio de aplicativo.

Valor Descrição
Base A faixa de preço não está definida; Use o preço base do aplicativo.
NotAvailable O aplicativo não está disponível na região especificada.
Gratuita O aplicativo é gratuito.
Nívelxxx Uma cadeia de caracteres que especifica o tipo de preço do aplicativo, no formato Nívelxxxx. Atualmente, os seguintes intervalos de níveis de preço são suportados:

Para ver a tabela completa de níveis de preços disponíveis para sua conta de desenvolvedor, incluindo os preços específicos do mercado associados a cada camada, vá para a página Preço e disponibilidade de qualquer um dos envios de aplicativos no Partner Center e clique no link da tabela de exibição na seção Mercados e preços personalizados (para algumas contas de desenvolvedor, este link está na seção Preços ).

Valores de licenciamento corporativo

Os valores a seguir representam o comportamento de licenciamento organizacional do aplicativo. Para obter mais informações sobre essas opções, consulte Opções de licenciamento organizacional.

Observação

Embora você possa configurar as opções de licenciamento organizacional para um envio de aplicativo por meio da API de envio, não é possível usar essa API para publicar envios para compras por volume por meio da Microsoft Store para Empresas e da Microsoft Store para Educação. Para publicar envios na Microsoft Store para Empresas e na Microsoft Store para Educação, você deve usar o Partner Center.

Valor Descrição
Nenhum Não disponibilize seu aplicativo para empresas com licenciamento por volume gerenciado pela Loja (online).
Online Disponibilize seu aplicativo para empresas com licenciamento por volume gerenciado pela Loja (online).
Onlinee offline Disponibilize seu aplicativo para empresas com licenciamento por volume gerenciado pela Loja (online) e disponibilize seu aplicativo para empresas por meio de licenciamento desconectado (offline).

Código de status de envio

Os valores a seguir representam o código de status de um envio.

Valor Descrição
Nenhum Nenhum código foi especificado.
InvalidArchive O arquivo ZIP que contém o pacote é inválido ou tem um formato de arquivo não reconhecido.
MissingFiles O arquivo ZIP não tem todos os arquivos que foram listados em seus dados de envio, ou eles estão no local errado no arquivo.
PackageValidationFailed Um ou mais pacotes em seu envio não foram validados.
InvalidParameterValue Um dos parâmetros no corpo da solicitação é inválido.
InvalidOperation A operação que você tentou é inválida.
InvalidState A operação que você tentou não é válida para o estado atual do voo do pacote.
ResourceNotFound O pacote de voo especificado não foi encontrado.
ServiceError Um erro de serviço interno impediu que a solicitação fosse bem-sucedida. Repita a solicitação novamente.
ListingOptOutWarning O desenvolvedor removeu uma listagem de um envio anterior ou não incluiu informações de listagem suportadas pelo pacote.
ListingOptInWarning O desenvolvedor adicionou uma listagem.
UpdateOnlyWarning O desenvolvedor está tentando inserir algo que só tem suporte para atualização.
Outro A submissão está em um estado não reconhecido ou não categorizado.
PackageValidationWarning O processo de validação do pacote resultou em um aviso.