Skip to main content
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 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

Confira também

Last modified on October 6, 2026