> ## 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.

# XStore no PC: DRM, tokens de licença e áreas restritas

> Considerações sobre a XStore específicas para PC: DRM básico, tokens de licença para validação de serviço, tratamento de contas da loja incompatíveis e troca de área restrita.

O PC com Windows introduz complicações que a XStore no XBOX não tem: a conta da Microsoft Store no PC pode ser diferente da conta XBOX do jogador, as áreas restritas afetam as operações da loja de forma diferente e os fluxos de token de licença permitem que seus serviços verifiquem a propriedade sem confiar no cliente.

## DRM básico e verificações de licença

A XStore no PC inclui uma verificação básica de DRM: o título verifica se tem uma licença ativa antes de permitir a jogabilidade. A verificação é executada na inicialização por meio de `XStoreQueryGameLicenseAsync`.

Se nenhuma licença for encontrada:

1. Mostre ao jogador uma interface da Store para comprar ou entrar.
2. Não permita que a jogabilidade prossiga sem uma licença ativa.

Para títulos com alto risco de pirataria, adicione camadas de verificações adicionais:

* Valide a licença por meio de [tokens de licença](#license-tokens-for-service-validation) a partir do seu serviço.
* Verifique novamente `XStoreQueryGameLicenseAsync` periodicamente durante a jogabilidade; revogue em caso de perda de licença.

## Licenciamento aberto vs. restritivo

Dois modelos de licenciamento para PC:

* **Licenciamento aberto**: o jogador pode executar o título com qualquer conta da Microsoft Store que tenha uma licença. Útil para PCs compartilhados.
* **Licenciamento restritivo**: o jogador deve estar conectado com a conta Microsoft licenciada. Usado quando os títulos desejam uma proteção antipirataria mais forte.

Configure no Partner Center, nas Propriedades do seu produto.

## Tokens de licença para validação de serviço

Se o seu servidor de jogo precisar confirmar que o jogador possui o título (por exemplo, antes de conceder um ativo no jogo), use **tokens de licença**:

1. O cliente chama `XStoreQueryLicenseTokenAsync` para obter um token assinado de curta duração.
2. O cliente envia o token para o seu serviço.
3. Seu serviço valida a assinatura do token com a chave pública da Microsoft.
4. Seu serviço confia nas declarações do token sobre o estado da licença.

Isso evita que o cliente declare a propriedade sem comprovação e evita que seu serviço consulte as APIs da Microsoft Store a cada sessão.

## Cenários de contas da loja incompatíveis

Um problema comum no PC: o jogador está conectado ao Windows / aplicativo XBOX com uma conta Microsoft, mas a **Microsoft Store** está conectada com uma conta diferente.

As APIs XStore seguem a conta conectada à Store, o que pode levar a:

* O título mostra "comprar", embora o jogador conectado ao XBOX o possua na outra conta.
* A compra é concluída na conta errada.

Lide com isso da seguinte forma:

1. Detecte a incompatibilidade: compare `XUserGetId` com as informações de `XStoreQueryGameLicenseAsync`.
2. Mostre uma interface explicando a incompatibilidade e ofereça a troca.
3. Se o jogador não puder trocar, ofereça redirecioná-lo pelo aplicativo XBOX para corrigir a conta da Store.

## Troca de área restrita para operações da loja

A área restrita dos XBOX services (definida por meio de `XblPCSandbox.exe`) não controla totalmente qual área restrita a Store usa no PC. As operações da Store precisam de uma etapa adicional:

1. Troque a área restrita dos XBOX services.
2. Reinicie o **aplicativo Microsoft Store** no contexto da nova área restrita.
3. Verifique se `XStoreQueryGameLicenseAsync` retorna dados da área restrita de desenvolvimento.

Não trocar a Store corretamente leva a resultados de teste confusos, em que os XBOX services veem a área restrita de desenvolvimento, mas as chamadas da Store atingem RETAIL.

## Lista de verificação de testes para comércio no PC

Antes de enviar:

1. **Teste com uma conta de teste que não possui nada**: verifique o fluxo de compra / avaliação / entrada.
2. **Teste com uma conta de teste que possui o jogo base**: verifique se nenhum aviso de "comprar" aparece.
3. **Teste contas da loja incompatíveis**: entre no Windows com uma conta e na Store com outra.
4. **Teste o fluxo de avaliação → compra**: verifique se a licença de avaliação muda para licença completa sem reiniciar.
5. **Teste a inicialização offline**: títulos para PC devem iniciar e ser jogados offline (sem contato com a Store) por um período razoável de licença em cache.
6. **Teste a troca de área restrita**: confirme se as chamadas da Store retornam produtos da área restrita de desenvolvimento após a troca.

## Documentação de API relacionada

* [Referência da API XStore](/pt-BR/reference/system/xstore/xstore_members): `XStoreQueryGameLicenseAsync`, `XStoreQueryLicenseTokenAsync`
* [Referência da API XUser](/pt-BR/reference/system/xuser/xuser_members): `XUserGetId`, `XUserIsStoreUser`

## Confira também

* [Análise aprofundada da XStore](/pt-BR/publishing/xstore-commerce/xstore-overview)
* [APIs S2S da XStore](/pt-BR/publishing/xstore-commerce/xstore-authenticating-service)
* [PC Sandbox Switcher](/pt-BR/tools/tools-services/live-pc-sandbox-switcher)
* [Iniciar no PC](/pt-BR/tools/tools-pc/launching-on-pc)


## Related topics

- [XStore en PC: DRM, tokens de licencia y sandboxes](/es/publishing/xstore-commerce/xstore-pc.md)
- [XStore on PC — DRM, license tokens, and sandboxes](/publishing/xstore-commerce/xstore-pc.md)
- [DRM básico y comprobaciones de licencia](/es/publishing/xstore-commerce/xstore-basic-drm.md)
- [Basic DRM and license checks](/publishing/xstore-commerce/xstore-basic-drm.md)
- [PC의 XStore — DRM, 라이선스 토큰, 샌드박스](/ko/publishing/xstore-commerce/xstore-pc.md)
