> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Habilitar testes de licenciamento

> Configure um build de desenvolvimento XBOX licenciável para testar as APIs de licenciamento do XStore, incluindo cenários relevantes e as etapas de configuração necessárias no Partner.

Este artigo descreve como configurar um build de desenvolvimento para ser licenciável a fim de testar cenários relacionados ao licenciamento.

## Cenários e APIs relevantes

Para testar as APIs a seguir, você precisa configurar seu ambiente de desenvolvimento conforme descrito neste artigo:

| API | Uso |
| - | - |
| [XStoreQueryGameLicenseAsync](/pt-BR/reference/system/xstore/xstore_members) | Consultar as características de uma licença de avaliação ou baseada em disco do jogo. |
| [XStoreQueryLicenseTokenAsync](/pt-BR/reference/system/xstore/xstore_members) | Gerar um token de licença válido para validação baseada em serviço; confira [Usando License Tokens](/pt-BR/publishing/xstore-commerce/xstore-license-tokens). |
| [XStoreQueryAddOnLicensesAsync](/pt-BR/reference/system/xstore/xstore_members) | Retornar licenças de complementos (duráveis sem pacotes) anexadas a uma licença digital do jogo. |
| [XStoreRegisterGameLicenseChanged](/pt-BR/reference/system/xstore/xstore_members) | Registrar-se para detectar uma alteração de licença (por exemplo, quando uma licença de avaliação é atualizada para uma licença completa). |

## Contexto

Em cenários de varejo, um jogo deve ter uma licença para ser jogado. Uma solicitação de licença verifica se há um disco instalado ou envia uma solicitação aos serviços da Microsoft. Uma licença é concedida se a conta tiver direito ao produto por meio de uma compra direta ou satisfatória (por exemplo, de uma assinatura ou pacote). As licenças também podem ser concedidas em cenários de compartilhamento. Para obter mais informações sobre compartilhamento, confira [Modelo de compartilhamento de produtos para jogos](/pt-BR/publishing/xstore-commerce/xstore-product-sharing).

Os cenários de desenvolvimento não seguem esse comportamento por padrão. Esses cenários incluem:

* Builds soltos (implantação F5 do Visual Studio, xbapp/wdapp register/deploy)
* Builds de pacote locais (makepkg, xbapp/wdapp install)

Esses builds são iniciados sem nenhuma verificação de licenciamento ou configuração relacionada. A maioria das APIs `XStore` ainda funciona, mas podem ocorrer resultados inesperados ao licenciar jogos ou duráveis.

Para configurar um build para se comportar como licenciável, aplique os valores de identidade corretos ao MicrosoftGameConfig (descrito em [Habilitar o desenvolvimento e os testes do XStore](/pt-BR/publishing/xstore-commerce/xstore-product-testing-setup)).

Em seguida, as seguintes etapas devem ser executadas:

1. [Anotar a ID de conteúdo específica do jogo ou da DLC](#get-contentid)
2. [Aplicar a ID de conteúdo ao build, conforme apropriado para o tipo de build](#apply-content-id-to-build)
3. [**Somente console**: anotar e aplicar o EKBID ao build](#apply-ekbid-to-build-only-applicable-to-console)

Depois, para cada conta que executa o build, um direito deve ser adquirido comprando o produto na Store apropriada para a plataforma.

## Obter o ContentID

Você pode encontrar o ContentID na página **Packages** depois de selecionar **Show details**:

<img src="https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/packagedetails.png?fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=a3facb4ae0079bb08cc33e22f6688d65" alt="Página Packages no Partner Center" width="1029" height="520" data-path="images/xstore/packagedetails.png" />

<Note>
  A ID de conteúdo das versões de sandbox e de varejo pode ser diferente. Se você instalar uma versão de varejo do jogo, o produto será associado a uma ID de conteúdo diferente daquela de que você precisa para a sandbox. A ID de conteúdo também é diferente se houver pacotes regionais envolvidos.
</Note>

### Console

Encontre a ID de conteúdo de um pacote instalado executando `xbapp list /d` (ou `xbapp listdlc /d` para DLC) no Gaming Command Prompt.

```cmd theme={null}
Registered Applications by Package Full Name:

   41336MicrosoftATG.InGameStoreXS_2020.7.27.0_neutral__dspnxghe87tn0  
        Install  
        Drive: Development  
        Size: 0.28 GB.  
        ContentId: {2797FA46-A93B-494C-AD80-B67C9FCA939F}  
        ProductId: {4C544E39-5130-3044-C057-5A3446536A00}  
        EKBID: {37E80840-6BE0-46F8-8EDB-92F877056087}  
        DisplayName: ATG In-Game Store Sample  
        41336MicrosoftATG.InGameStoreXS_dspnxghe87tn0!Game  
```

### PC

Encontre a ID de conteúdo de um pacote instalado executando `wdapp list /d` (ou `wdapp listdlc /d` para DLC) no Gaming Command Prompt. Para pacotes instalados pela loja, use o sinalizador `/includeStore`.

## Aplicar a ID de conteúdo ao build

Para builds soltos, adicione a seguinte seção ao MicrosoftGameConfig:

```xml theme={null}
  <DevelopmentOnly>
    <ContentIdOverride>2797FA46-A93B-494C-AD80-B67C9FCA939F</ContentIdOverride>
    <EKBIDOverride>00000000-0000-0000-0000-000000000001</EKBIDOverride>
  </DevelopmentOnly>
```

Para builds de pacote, passe a ID de conteúdo para `makepkg`. Por exemplo:

```cmd theme={null}
makepkg pack /v /f chunks.xml /d Gaming.Xbox.XboxOne.x64\Layout\Image\Loose /pd ./output /contentid 2797FA46-A93B-494C-AD80-B67C9FCA939F
```

Se você criar um pacote sem o parâmetro `/contentid`, o processo de instalação aplicará qualquer `ContentIdOverride` disponível no MicrosoftGameConfig quando você instalar a partir de uma origem local.

Os builds instalados pela Store (sandbox ou varejo) sempre têm a ID de conteúdo correta (conforme exibida no Partner Center).

## Aplicar o EKBID ao build (aplicável somente ao console)

Defina o EKBID (Escrow Key Blob ID) para tornar o build licenciável no console. Na maioria dos cenários, ele simplesmente precisa ser substituído do valor de teste padrão de apenas zeros ou 33EC8436-5A0E-4F0D-B1CE-3F29C3955039.

Substitua o EKBID com o seguinte comando:

```cmd theme={null}
xbapp setekbid <package full name> {<GUID that is not all zeroes or 33EC8436-5A0E-4F0D-B1CE-3F29C3955039>}
```

Por exemplo:

```cmd theme={null}
xbapp setekbid 41336MicrosoftATG.InGameStoreXS_2020.7.27.0_neutral__dspnxghe87tn0 {00000000-0000-0000-0000-000000000001}
```

Essa configuração não é relevante no PC (não há um comando `wdapp setekbid`).

### Avaliações e EKBID

Para **avaliações**, o EKBID real deve ser aplicado. Para encontrar o EKBID usado pelo jogo, execute `xbapp list /d` para um build instalado pela Store. Para obter mais informações, confira [Implementando avaliações para o seu jogo](/pt-BR/publishing/xstore-commerce/xstore-trials).

## Garantir que a conta de teste tenha direito ao produto na sandbox

Para produtos publicados tanto na sandbox quanto no varejo, você pode usar o DevEntitlementTool para consultar e adquirir direitos para uma conta de teste.

A melhor maneira de obter um direito é ir diretamente à página do produto na Store por meio da ativação de protocolo, pois produtos publicados somente na sandbox podem não aparecer nas pesquisas. O console de desenvolvimento ou o PC deve estar configurado para a sandbox em que o jogo está publicado. Para obter mais informações, confira a documentação de visão geral de Sandboxes dos XBOX services e, para PC, confira [Trocando de sandbox corretamente para operações da loja](/pt-BR/publishing/xstore-commerce/xstore-switching-sandbox).

Depois de entrar corretamente, use o link de protocolo da loja para acessar a página da Store:

**No console:**

Use o Gaming Command Prompt:

`xbapp launch ms-windows-store://pdp/?productid=<storeID>`

**No PC:**

Na caixa Executar (⊞Win +R) ou em um navegador da Web

`msxbox://game/?productId=<storeID>` (para mostrar o produto no aplicativo XBOX)

Ou

`ms-windows-store://pdp/?productid=<storeID>` (para mostrar o produto na Microsoft Store)

Na página da Store, selecione **Buy** ou **Get** para adquirir uma licença do produto para sua conta de teste. O download e a instalação de jogos e DLC devem começar automaticamente. Se você planeja iterar com builds locais, pode cancelar a operação.

<Note>
  Você deve adquirir um direito para cada conta que executa o build e espera que as APIs XStore relacionadas a licenças funcionem.
</Note>

## DLC

Para que a DLC local seja licenciável, a ID de conteúdo deve ser aplicada ao `makepkg` e `xbapp setekbid` deve ser definido com algo diferente dos valores padrão. Apenas a DLC precisa ser configurada para licenciamento, não o jogo base.

As substituições de licença são relevantes para as seguintes APIs quando chamadas com um durável com pacote:

* [XStoreAcquireLicenseForDurablesAsync](/pt-BR/reference/system/xstore/xstore_members)
* [XStoreAcquireLicenseForPackageAsync](/pt-BR/reference/system/xstore/xstore_members)
* [XStoreCanAcquireLicenseForPackageAsync](/pt-BR/reference/system/xstore/xstore_members)
* [XStoreCanAcquireLicenseForStoreIdAsync](/pt-BR/reference/system/xstore/xstore_members)
* [XStoreRegisterPackageLicenseLost](/pt-BR/reference/system/xstore/xstore_members)

Mais detalhes podem ser encontrados aqui:

[Gerenciar e licenciar conteúdo para download (DLC)](/pt-BR/publishing/xstore-commerce/xstore-dlc)

[Como usar um durável sem pacote](/pt-BR/publishing/xstore-commerce/xstore-dwob)

## Documentação de referência da API

* [XStore (conteúdo da API)](/pt-BR/reference/system/xstore/xstore_members)
  * Funções
    * [XStoreQueryGameLicenseAsync](/pt-BR/reference/system/xstore/xstore_members)
    * [XStoreQueryLicenseTokenAsync](/pt-BR/reference/system/xstore/xstore_members)
    * [XStoreQueryAddOnLicensesAsync](/pt-BR/reference/system/xstore/xstore_members)
    * [XStoreRegisterGameLicenseChanged](/pt-BR/reference/system/xstore/xstore_members)
    * [XStoreAcquireLicenseForDurablesAsync](/pt-BR/reference/system/xstore/xstore_members)
    * [XStoreAcquireLicenseForPackageAsync](/pt-BR/reference/system/xstore/xstore_members)
    * [XStoreCanAcquireLicenseForPackageAsync](/pt-BR/reference/system/xstore/xstore_members)
    * [XStoreCanAcquireLicenseForStoreIdAsync](/pt-BR/reference/system/xstore/xstore_members)
    * [XStoreRegisterPackageLicenseLost](/pt-BR/reference/system/xstore/xstore_members)

## Confira também

[Visão geral do Commerce](/pt-BR/publishing/xstore-commerce/xstore-commerce-overview)<br />[Habilitar o desenvolvimento e os testes do XStore](/pt-BR/publishing/xstore-commerce/xstore-product-testing-setup)<br />[Trocando de sandbox corretamente para operações da Store](/pt-BR/publishing/xstore-commerce/xstore-switching-sandbox)<br />[Referência da API XStore](/pt-BR/reference/system/xstore/xstore_members)


## Related topics

- [Etapas do teste de validação de mídia](/pt-BR/publishing/game-publishing/concepts/certification/certification-media-validation-test-steps.md)
- [Habilitar sesiones grandes para Multijugador](/es/services/xbox-services/multiplayer/mpsd/concepts/live-large-sessions.md)
- [Casos de teste com mais falhas](/pt-BR/publishing/certification/xr-top-failing.md)
- [Integração de Parceiro XBOX para acesso e publicação](/pt-BR/home/onboarding.md)
- [Histórico de alterações dos Requisitos do XBOX e casos de teste](/pt-BR/publishing/certification/xr-change-history.md)
