Gerenciar envios de aplicativo

A API de envio da Microsoft Store oferece métodos que é possível usar para gerenciar envios dos aplicativos, inclusive distribuições de pacote graduais. Para obter uma introdução à API de envio da Microsoft Store, inclusive pré-requisitos para usar a API, consulte Criar e gerenciar envios usando 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 outras alterações no envio apenas 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 ficar em um estado de erro em que ele não pode continuar no processo de envio. Se isso ocorrer, você deve excluir o envio e criar um novo.

Importante

Você não pode usar essa API para publicar os envios de compras de volume por meio da Microsoft Store para Empresas e da Microsoft Store para Educação ou publicar os 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 aplicativo

Use os métodos a seguir para obter, criar, atualizar, confirmar ou excluir um envio de app. 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
POST 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
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit Confirmar um envio de aplicativo novo ou atualizado
Delete (excluir) 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 de um aplicativo, siga este processo.

  1. Se você 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ções etárias preenchidas.

  2. Obtenha um token de acesso Azure AD. Você deve passar esse token de acesso aos 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. Criar um envio de aplicativo executando o seguinte método na API de envio da Microsoft Store. Esse método cria um novo envio em andamento, que é uma cópia de seu ú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 assinatura de acesso compartilhado (SAS) para carregar arquivos relacionados para o envio a Armazenamento de Blobs do Azure (como pacotes de aplicativos, listagem de imagens e arquivos de trailer) e todos os dados para o novo envio (como as listagens e informações de preços).

    Observação

    Um URI SAS dá acesso a um recurso seguro no armazenamento do Azure sem exigir chaves de conta. Para obter informações em segundo plano sobre URIs sas e seu uso com Armazenamento de Blobs do Azure, consulte Assinaturas de Acesso Compartilhado, Parte 1: Noções básicas sobre 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, imagens de listagem ou arquivos de trailer para o envio, prepare os pacotes de aplicativo e prepare as imagens, os trailers e as capturas de tela do app. Adicione todos esses arquivos a um arquivo ZIP.

  5. Revise os dados de envio de aplicativo com as alterações necessárias para o novo envio e execute o método a seguir para atualizar o envio de 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, atualize os dados de envio para fazer referência ao nome e 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 para Armazenamento de Blobs do Azure usando o URI SAS que foi fornecido no corpo da resposta do método POST que você chamou anteriormente. Existem bibliotecas do Azure diferentes que é possível usar para fazer isso em uma grande variedade de plataformas, inclusive:

    O exemplo de código C# a seguir demonstra como carregar um arquivo ZIP para Armazenamento de Blobs do Azure usando a classe CloudBlockBlob na Biblioteca de Clientes do Armazenamento do Azure para .NET. Este exemplo pressupõe que o arquivo ZIP já tenha sido escrito para 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 de 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 de confirmação executando o método a seguir para obter o status de envio de aplicativo.

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

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

  9. Após a confirmação ser concluída, o envio será enviado para a Loja para inclusão. Você pode continuar monitorando o progresso do envio usando o método anterior ou visitando o Partner Center.

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

Você pode distribuir gradualmente os pacotes atualizados em um envio de aplicativo para uma porcentagem dos clientes do aplicativo em Windows 10 e Windows 11. Isso permite que você monitore comentários e dados de análise dos pacotes específicos para verificar se a atualização é necessária antes de implantá-la mais amplamente. Você pode alterar a porcentagem de distribuição (ou parar a atualização) para 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 pacotes no Partner Center, consulte este artigo.

Para habilitar programaticamente uma distribuição de pacote gradual para um envio de aplicativo, siga esse 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 o campo packageRolloutPercentage como o percentual de clientes do aplicativo que devem receber os pacotes atualizados.
  3. Passe os dados de envio de aplicativo atualizados para o método atualizar um envio de aplicativo.

Depois que uma distribuição de pacote gradual for habilitada para um envio de aplicativo, será possível 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
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/updatepackagerolloutpercentage Atualizar o percentual de distribuição gradual para um envio de aplicativo
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/haltpackagerollout Interromper a distribuição gradual para um envio de aplicativo
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/finalizepackagerollout Finalizar a distribuição gradual para um envio de aplicativo

Exemplos de código para gerenciar envios de aplicativo

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

Módulo StoreBroker do PowerShell

Como uma alternativa à chamada direta à API de envio da Microsoft Store, nós também fornecemos um módulo do PowerShell de software livre que implementa uma interface de linha de comando sobre API. Esse módulo é chamado StoreBroker. Você pode usar esse módulo para gerenciar seu app, versão de pré-lançamento e envios de complemento na linha de comando em vez de chamar diretamente a API de envio da Microsoft Store, ou você pode simplesmente procurar a fonte para ver mais exemplos de como chamar essa API. O módulo StoreBroker ativamente é usado dentro da Microsoft como a principal forma de muitos apps de terceiros serem enviados para a Store.

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

Recursos de dados

Os métodos da API de envio da Microsoft Store para gerenciar envios de aplicativo usam os recursos de dados JSON a seguir.

Recurso de envio de aplicativo

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

Esse recurso tem os valores a seguir.

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 apps e obter um app. Para um envio criado no Partner Center, essa ID também está disponível na URL da página de envio no Partner Center.
applicationCategory string Uma cadeia de caracteres que especifica a categoria e/ou subcategoria para o aplicativo. Categorias e subcategorias são combinadas em uma única cadeia de caracteres com o caractere de sublinhado '_', como BooksAndReference_EReader.
preços objeto Um recurso de preço que contém informações de preço para o aplicativo.
visibility string A visibilidade do aplicativo. Esse valor pode ser um dos seguintes:
  • Hidden
  • Público
  • Privados
  • NotSet
targetPublishMode string O modo de publicação do envio. Esse valor pode ser um dos seguintes:
  • Imediata
  • Manual
  • SpecificDate
targetPublishDate string A data de publicação do envio em formato ISO 8601, se o targetPublishMode estiver definido como SpecificDate.
listings 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 do aplicativo.
hardwarePreferences array Uma matriz de cadeias de caracteres que definem as preferências de hardware do aplicativo. Esse valor pode ser um dos seguintes:
  • Touch
  • Keyboard
  • Mouse
  • Câmera
  • NfcHce
  • Nfc
  • BluetoothLE
  • Telefonia
automaticBackupEnabled booleano Indica se o Windows pode incluir dados do aplicativo em backups automáticos no OneDrive. Para obter mais informações, consulte Declarações de aplicativo.
canInstallOnRemovableMedia booleano Indica se os clientes podem instalar o aplicativo em armazenamento removível. Para obter mais informações, consulte Declarações de aplicativo.
isGameDvrEnabled booleano Indica se o DVR de jogos está habilitado para o aplicativo.
gamingOptions array Uma matriz que contém um recurso de opções de jogo que define as configurações relacionadas a jogos para o app.
hasExternalInAppProducts booleano Indica se o 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 booleano Indica se o aplicativo foi testado para atender às diretrizes de acessibilidade. Para obter mais informações, consulte Declarações de aplicativo.
notesForCertification string Contém observações de certificação do 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 do status que contém detalhes adicionais sobre o status do envio, inclusive informações sobre eventuais erros.
fileUploadUrl string O URI da assinatura de acesso compartilhado (SAS) para carregar todos os pacotes para o envio. Se você estiver adicionando novos pacotes, imagens de listagem ou arquivos de trailer para o envio, carregue o arquivo ZIP que contém os pacotes e imagens para este URI. Para obter mais informações, consulte Criar um envio de aplicativo.
applicationPackages array Uma matriz de recursos do pacote de aplicativos que dão detalhes sobre cada pacote no envio.
packageDeliveryOptions objeto Um recurso de opções de entrega do pacote que contém configurações da distribuição de pacote gradual e da atualização obrigatória para o envio.
enterpriseLicensing string Um dos valores de licenciamento empresarial que indicam o comportamento de licenciamento empresarial para o aplicativo.
allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies booleano 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 chave e valor, em que cada chave é uma Windows 10 e Windows 11 família de dispositivos e cada valor é um valor 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ê ao criar o envio.
trailers array Uma matriz que contém até 15 recursos de trailer que representam trailers de vídeo para a listagem de apps.

Recurso de preço

Esse recurso contém informações de preço do aplicativo. Esse recurso tem os valores a seguir.

Valor Type Descrição
trialPeriod string Uma cadeia de caracteres que especifica o período de avaliação do aplicativo. Esse valor pode ser um dos seguintes:
  • NoFreeTrial
  • OneDay
  • TrialNeverExpires
  • SevenDays
  • FifteenDays
  • ThirtyDays
marketSpecificPricings objeto Um dicionário de pares de chave e valor, onde cada chave é um código ISO 3166-1 alpha-2 de duas letras do país e cada valor é uma faixa de preço. Esses itens representam os preços personalizados do aplicativo em mercados específicos. Todos os itens nesse dicionário substituem o preço base especificado pelo valor priceId para o mercado especificado.
vendas array Preterido. Uma matriz de recursos de venda que contêm informações de venda do aplicativo.
priceId string A faixa de preço que especifica o preço base do app.
isAdvancedPricingModel booleano Se for true, sua conta de desenvolvedor tem acesso ao conjunto expandido de faixas de preço de US$ 0,99 a US$ 1999,99. Se for true, sua conta de desenvolvedor tem acesso ao conjunto original de faixas de preço de US$ 0,99 a US$ 999,99. Para saber mais sobre as diferentes camadas, consulte faixas de preço.

Nota Este campo é somente leitura.

Recurso de venda

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

Importante

O recurso Venda não tem mais suporte, e atualmente você não pode acessar nem 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 apresentar uma nova maneira de acessar programaticamente as informações de vendas para envios de aplicativo.

Esse recurso tem os valores a seguir.

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

Recurso de listagem

Esse recurso contém informações de listagem de um aplicativo. Esse recurso tem os valores a seguir.

Valor Type Descrição
baseListing objeto As informações de listagem básica do aplicativo, que definem o padrão de informações de listagem para todas as plataformas.
platformOverrides objeto Um dicionário de pares de chave e valor, em que cada chave é a cadeia de caracteres que identifica uma plataforma cujas informações de listagem devem ser substituídas e cada valor é um recurso de listagem básica (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:
  • Unknown
  • Windows80
  • Windows81
  • WindowsPhone71
  • WindowsPhone80
  • WindowsPhone81

Recurso de listagem base

Esse recurso contém informações de listagem base de um aplicativo. Esse recurso tem os valores a seguir.

Valor Type Descrição
copyrightAndTrademarkInfo string Informações opcionais de direitos autorais e/ou marca comercial.
palavras-chave array Uma matriz de palavra-chave para ajudar seu aplicativo a aparecer nos resultados de pesquisa.
licenseTerms string Os termos de licença opcionais do seu aplicativo.
privacyPolicy string Esse valor está obsoleto. Para definir ou alterar a URL da política de privacidade para 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.
supportContact string Esse valor está obsoleto. Para definir ou alterar a URL de contato de suporte ou o endereço de email do 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 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 dos detalhes do aplicativo.
recursos array Uma matriz de até 20 cadeias de caracteres que lista os recursos do seu aplicativo.
releaseNotes string As notas de versão do aplicativo.
images array Uma matriz de recursos de imagem e ícone para a listagem do aplicativo.
recommendedHardware array Uma matriz de até 11 cadeias de caracteres que lista as configurações de hardware recomendadas para o aplicativo.
minimumHardware string Uma matriz de até 11 cadeias de caracteres que lista as configurações de hardware mínimas para o app.
título string O título da listagem do aplicativo.
shortDescription string Usado somente para jogos. Essa descrição é exibida na seção Informações do Hub de Jogos no Xbox One e ajuda os clientes a entender mais sobre o seu 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 seu produto puder ser colocado em ordem alfabética de maneiras diferentes, você poderá 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 headset.
devStudio string Especifica esse valor se você quiser incluir um campo Desenvolvido por na listagem. (O campo Publicado por listará o nome de exibição do publicador associado à conta, independentemente de você fornecer ou não um valor para o campo devStudio).

Recurso de imagem

Esse recurso contém dados de imagem e ícone para uma listagem do aplicativo. Para obter mais informações sobre imagens e ícones para uma listagem de app, consulte Capturas de tela e imagens do app. Esse recurso tem os valores a seguir.

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 A ID da imagem. Esse valor é fornecido pelo Partner Center.
descrição string A descrição da imagem.
imageType string Indica o tipo da imagem. Há suporte para as seguintes cadeias de caracteres.

Captura de tela de imagens:

  • Captura de tela (use esse valor para a captura de tela da área de trabalho)
  • MobileScreenshot
  • XboxScreenshot
  • SurfaceHubScreenshot
  • HoloLensScreenshot

Armazenar logotipos:

  • StoreLogo9x16
  • StoreLogoSquare
  • Ícone (use esse valor para o logotipo 1:1 de 300 x 300 pixels)

Imagens promocionais:

  • PromotionalArt16x9
  • PromotionalArtwork2400X1200

Imagens do Xbox:

  • XboxBrandedKeyArt
  • XboxTitledHeroArt
  • XboxFeaturedPromotionalArt

Imagens promocionais opcionais:

  • SquareIcon358X358
  • BackgroundImage1000X800
  • PromotionalArtwork414X180

Recurso de opções de jogo

Esse recurso contém configurações relacionadas a jogo para o app. Os valores nesse recurso correspondem às configurações de 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"
    }
  ],
}

Esse recurso tem os valores a seguir.

Valor Type Descrição
gêneros array 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
isLocalMultiplayer booleano Indica se o jogo dá suporte a multijogador local.
isLocalCooperative booleano Indica se o jogo dá suporte a cooperação local.
isOnlineMultiplayer booleano Indica se o jogo dá suporte a multijogador online.
isOnlineCooperative booleano Indica se o jogo dá suporte a cooperação online.
localMultiplayerMinPlayers INT Especifica o número mínimo de jogadores a que o jogo dá suporte para multijogador local.
localMultiplayerMaxPlayers INT Especifica o número máximo de jogadores a que o jogo dá suporte para multijogador local.
localCooperativeMinPlayers INT Especifica o número mínimo de jogadores a que o jogo dá suporte para cooperação local.
localCooperativeMaxPlayers INT Especifica o número máximo de jogadores a que o jogo dá suporte para cooperação local.
isBroadcastingPrivilegeGranted booleano Indica se o jogo dá suporte a difusão.
isCrossPlayEnabled booleano Indica se o jogo dá suporte a sessões multijogador entre jogadores em Windows 10 e computadores Windows 11 e Xbox.
kinectDataForExternal string Um dos seguintes valores de cadeia de caracteres que indica se o jogo pode coletar dados do Kinect e enviá-los a serviços externos:
  • NotSet
  • Unknown
  • habilitado
  • 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 desenvolvedores. Se você tiver criado um envio para um app por meio da API de envio antes da introdução desse recurso e se esse envio ainda estiver em andamento, esse recurso será nulo para envios para o app até que você confirme com êxito o envio ou o exclua. Se o recurso gamingOptions não estiver disponível para envios para um app, o campo hasAdvancedListingPermission do recurso Application retornado pelo método obter um app será falso.

Recurso de detalhes do status

Esse recurso contém detalhes adicionais sobre o status de um envio. Esse recurso tem os valores a seguir.

Valor Type Descrição
erros objeto Uma matriz de recursos de detalhes do status que contêm detalhes do erro para o envio.
warnings objeto Uma matriz de recursos de detalhes do status que contêm detalhes do aviso para o envio.
certificationReports objeto Uma matriz de recursos do relatório de certificação que dão acesso aos dados do relatório de certificação para o envio. Será possível examinar esses relatórios para obter mais informações, se a certificação falhar.

Recurso de detalhes do status

Esse recurso contém informações adicionais sobre todos os erros ou avisos relacionados a um envio. Esse recurso tem os valores a seguir.

Valor Type Descrição
code string Um código de status do 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 aplicativos 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"
      ]
    }
  ],
}

Esse recurso tem os valores a seguir.

Observação

Durante a chamada do método atualizar um envio de 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 array Uma matriz de códigos de idioma para os idiomas com suporte do aplicativo. Para obter mais informações, consulte Linguagens com suporte.
funcionalidades array Uma matriz de recursos necessários pelo pacote. Para obter mais informações sobre recursos, consulte Declarações de recursos de aplicativos.
minimumDirectXVersion string A versão mínima do DirectX que é compatível com o pacote do aplicativo. Isso pode ser definido apenas para apps destinados ao Windows 8.x. Para aplicativos destinados a outras versões do sistema operacional, esse valor deve estar presente ao chamar o método atualizar um envio de aplicativo, mas o valor especificado será ignorado. Esse valor pode ser um dos seguintes:
  • Nenhum
  • DirectX93
  • DirectX100
minimumSystemRam string A RAM mínima necessária para o pacote do aplicativo. Isso pode ser definido apenas para apps destinados ao Windows 8.x. Para aplicativos destinados a outras versões do sistema operacional, esse valor deve estar presente ao chamar o método atualizar um envio de aplicativo, mas o valor especificado será ignorado. Esse valor pode ser um dos seguintes:
  • Nenhum
  • Memory2GB
targetDeviceFamilies array Uma matriz de cadeias de caracteres que representam as famílias de dispositivos que o pacote segmenta. Esse valor é usado somente para pacotes destinados ao Windows 10; para pacotes destinados a versões anteriores, esse valor tem o valor Nenhum. Atualmente, há suporte para as cadeias de caracteres da família de dispositivos para pacotes Windows 10 e Windows 11, em {0} que é 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}
  • Versão mínima de Windows.Holographic {0}

id="certification-report-resource"

Recurso do relatório de certificação

Esse recurso dá acesso aos dados do relatório de certificação para um envio. Esse recurso tem os valores a seguir.

Valor Type Descrição
date string A data e a hora em que o relatório foi gerado, no formato ISO 8601.
reportUrl string A URL na qual é possível acessar o relatório.

Recurso de opções de entrega do pacote

Esse recurso contém configurações da distribuição de pacote gradual e da atualização obrigatória para o envio.

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

Esse recurso tem os valores a seguir.

Valor Type Descrição
packageRollout objeto Um recurso de distribuição de pacote que contém configurações da distribuição de pacote gradual para o envio.
isMandatoryUpdate booleano Indica se você deseja tratar os pacotes nesse envio como obrigatórios para instalar automaticamente atualizações de aplicativo. Para obter mais informações sobre pacotes obrigatórios para instalar automaticamente as atualizações de aplicativos, consulte Baixar e instalar atualizações de pacote para seu app.
mandatoryUpdateEffectiveDate date A data e hora em que os pacotes nesse envio se tornam obrigatórios, em formato ISO 8601 e fuso horário UTC.

Recurso de distribuição de pacote

Esse recurso contém configurações de distribuição de pacote gradual para o envio. Esse recurso tem os valores a seguir.

Valor Type Descrição
isPackageRollout booleano Indica se a distribuição de pacote gradual está habilitada para o envio.
packageRolloutPercentage FLOAT O percentual de usuários que receberão os pacotes na distribuição gradual.
packageRolloutStatus string Uma das seguintes sequências que indicam o status da distribuição de pacote gradual:
  • PackageRolloutNotStarted
  • PackageRolloutInProgress
  • PackageRolloutComplete
  • PackageRolloutStopped
fallbackSubmissionId string A ID da submissão que será recebido por clientes que não recebem os pacotes de lançamento 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 no corpo da solicitação, esses valores serão ignorados.

Recurso de trailers

Esse recurso representa um trailer de vídeo para a listagem do app. Os valores nesse 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 do 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 para o envio e então carregue esse arquivo ZIP no URI da SAS (assinatura de acesso compartilhado) do envio. Para obter mais informações sobre o upload do 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."
            }
          ]
        }
      }
    }
  ]
}

Esse recurso tem os valores a seguir.

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

Observação

O recurso 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ê tiver criado um envio para um app por meio da API de envio antes da introdução desse recurso e se esse envio ainda estiver em andamento, esse recurso será nulo para envios para o app até que você confirme com êxito o envio ou o exclua. Se o recurso trailers não estiver disponível para envios para um app, o campo hasAdvancedListingPermission do recurso Application retornado pelo método obter um app será falso.

Recurso de ativos de trailer

Esse recurso contém outros ativos específicos da localidade para um trailer definido em um recurso de trailer. Esse recurso tem os valores a seguir.

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

Recurso de imagem (para um trailer)

Esse recurso descreve a imagem em miniatura para um trailer. Esse recurso tem os valores a seguir.

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 é composto somente por metadados e não é exibido para os usuários.

Enumerações

Esses métodos usam as enumerações a seguir.

Faixas de preço

Os seguintes valores representam as faixas de preço disponíveis no recurso preço do recurso para um envio de app.

Valor Descrição
Base A faixa de preço não está definida. Use o preço base para o aplicativo.
NotAvailable O aplicativo não está disponível na região especificada.
Grátis O aplicativo é gratuito.
Faixa dexxxx Uma cadeia de caracteres que especifica a faixa de preço do app, no formato Faixaxxxx. No momento, há suporte para os seguintes intervalos de faixas de preço:

  • Se o valor isAdvancedPricingModel do preço do recurso for true, os valores de nível de preço disponíveis para sua conta são Tier1012 - Tier1424.
  • Se o valor isAdvancedPricingModel do preço do recurso for false, os valores de nível de preço disponíveis para sua conta são Tier2 - Tier96.
Para ver a tabela completa de tipos de preço disponíveis para sua conta de desenvolvedor, incluindo os preços específicos do mercado associados a cada camada, acesse a página Preços e disponibilidade de qualquer um dos envios de aplicativo 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 da empresa

Os seguintes valores representam o comportamento de licenciamento organizacional do app. 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, você não pode usar essa API para publicar os envios de compras de volume por meio da Microsoft Store para Empresas e da Microsoft Store para Educação. Para publicar envios no Microsoft Store para Empresas e 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).
OnlineAndOffline Disponibilize seu aplicativo para as empresas com licenciamento por volume gerenciado pela Loja (online) e disponibilize seu aplicativo a empresas por meio de licenciamento desconectado (offline).

Código de status do envio

Os seguintes valores 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 não é válido ou tem um formato de arquivo não reconhecido.
MissingFiles O arquivo ZIP não tem todos os arquivos que foram listados nos seus dados de envio ou estão no local errado no arquivo.
PackageValidationFailed Falha ao validar um ou mais pacotes no seu envio.
InvalidParameterValue Um dos parâmetros no corpo da solicitação não é válido.
InvalidOperation A operação tentada não é válida.
InvalidState A operação tentada não é válida para o estado atual do pacote de pré-lançamento.
ResourceNotFound O pacote de pré-lançamento especificado não foi encontrado.
ServiceError Um erro de serviço interno impediu o êxito da solicitação. Repita a solicitação.
ListingOptOutWarning O desenvolvedor removeu uma listagem de um envio anterior ou não incluiu informações de listagem que são compatíveis com o pacote.
ListingOptInWarning O desenvolvedor adicionou uma listagem.
UpdateOnlyWarning O desenvolvedor está tentando inserir algo que só tem suporte para a atualização.
Outro O envio está em um estado não reconhecido ou não categorizado.
PackageValidationWarning O processo de validação do pacote resultou em um aviso.