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.
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.
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.
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.
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.
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.
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:
- Biblioteca do Cliente de Armazenamento do Azure para .NET
- SDK de Armazenamento do Azure para Java
- SDK do Armazenamento do Azure para Python
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);
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
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.
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:
- Crie um envio de aplicativo ou obtenha um envio de aplicativo existente.
- 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.
- 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:
- Exemplo de C#: envios para aplicativos, complementos e versões de pré-lançamento
- Exemplo de C#: envio de aplicativo com opções de jogo e trailers
- Amostra de Java: envios para aplicativos, complementos e versões de pré-lançamento
- Exemplo de Java: envio de aplicativo com opções de jogo e trailers
- Exemplo de Python: envios para aplicativos, complementos e versões de pré-lançamento
- Exemplo de Python: envio de aplicativo com opções de jogo e trailers
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:
|
targetPublishMode | string | O modo de publicação para o envio. Esse valor pode ser um dos seguintes:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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.
Logotipos da loja:
Imagens promocionais:
Imagens do Xbox:
Imagens promocionais opcionais:
|
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:
|
é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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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. |