Pular para o conteúdo principal
Use este tópico se você estiver preparando seu jogo para publicação na Microsoft Store no PC e seu jogo usar um mecanismo baseado em C/C++ que não tenha suporte interno ao GDK.

Criar um produto no Partner Center

Antes de publicar um jogo na Microsoft Store, você precisa criar seu produto habilitado para XBOX services no Partner Center. Para obter mais informações sobre o Partner Center, consulte Configurar um aplicativo ou jogo no Partner Center, para Parceiros Gerenciados.

Integrar o GDK a jogos C/C++

Para integrar o GDK a um jogo C/C++, o jogo precisa de 4 itens:
  1. Os cabeçalhos do GDK e da XBOX Services API (XSAPI) que descrevem as assinaturas de API e as estruturas de dados.
  2. As bibliotecas de importação que informam ao vinculador como resolver referências externas às funções exportadas do GDK.
  3. As bibliotecas estáticas do XSAPI ou as bibliotecas de importação que informam ao vinculador como resolver referências externas às funções exportadas da DLL do XSAPI.
    • O XSAPI está disponível nas formas estática e dinâmica. Consulte a tabela abaixo para obter mais informações e escolha entre a forma estática ou dinâmica.
  4. As bibliotecas de vínculo dinâmico que de fato contêm a implementação de runtime das funções do GDK e do XSAPI (se você usar a versão dinâmica do XSAPI).
Para que os jogos se integrem às experiências essenciais do ecossistema XBOX, eles precisam interagir com dois componentes: Gaming Runtime Services (GRTS) e XSAPI. Estes são os arquivos necessários para um jogo não gerenciado:
Para jogos que usam uma arquitetura baseada em plug-ins com funcionalidades distribuídas em várias DLLs, recomendamos e oferecemos suporte à integração do XSAPI a elas por meio da Thunks.dll. Essa abordagem funciona de forma confiável nas plataformas PC e XBOX.Quando você vincula o XSAPI estaticamente a várias DLLs, cada DLL mantém sua própria cópia do estado global. Como resultado, chamar XblInitialize em uma DLL não inicializa o XSAPI nas outras. Compartilhar identificadores do XSAPI entre DLLs com instâncias estáticas separadas pode causar falhas ou comportamento imprevisível.A Thunks.dll resolve isso fornecendo uma única instância compartilhada do XSAPI e de seu estado. Isso evita a duplicação e garante um comportamento consistente em todas as DLLs.Embora seja tecnicamente possível vincular o XSAPI estaticamente a uma DLL e exportar os símbolos, essa abordagem é mais complexa e propensa a erros. Usar a Thunks.dll é mais simples, mais seguro e totalmente compatível.

Adicionar os requisitos do Gaming Runtime Services e do XSAPI ao seu projeto

As etapas a seguir descrevem as alterações que você precisa fazer no seu projeto para garantir que ele tenha todos os requisitos para usar o Gaming Runtime Services e o XSAPI.
  1. Verifique se o destino é x64. No Visual Studio, vá para Build->Configuration Manager e defina Active solution platform como x64.
  2. Adicione os seguintes caminhos de inclusão: C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\GameKit\Include C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\Include C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Include Em que GDK version number será um diretório nomeado com o ano, o mês e o número da subversão da versão. Por exemplo, para o GDK de junho de 2022, o nome do diretório seria 220600. Para o Microsoft GDK (junho de 2024) ou anterior, use C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Include e C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\DesignTime\CommonConfiguration\Neutral\Include No Visual Studio, você adicionaria esses caminhos na página de propriedades do projeto em Configuration Properties->VC++ Directories->Include Directories.
  3. Adicione os seguintes caminhos de biblioteca para as bibliotecas de importação: C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\GameKit\Lib\amd64 C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Lib\x64 Em que GDK version number será um diretório nomeado com o ano, o mês e o número da subversão da versão. Por exemplo, para o GDK de junho de 2022, o nome do diretório seria 220600. Para o Microsoft GDK (junho de 2024) ou anterior, use C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\Release e C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\DesignTime\CommonConfiguration\Neutral\Lib No Visual Studio, você adicionaria esses caminhos na página de propriedades do projeto em Configuration Properties->VC++ Directories->Library Directories.
  4. Adicione as seguintes bibliotecas à lista de bibliotecas vinculadas ao seu projeto: C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\GameKit\Lib\amd64\xgameruntime.lib C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release\Microsoft.Xbox.Services.GDK.C.Thunks.lib (or Microsoft.Xbox.Services.142.GDK.C.lib, if statically linking) C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Lib\x64\libHttpClient.GDK.lib Em que GDK version number será um diretório nomeado com o ano, o mês e o número da subversão da versão. Por exemplo, para o GDK de junho de 2022, o nome do diretório seria 220600. Para o Microsoft GDK (junho de 2024) ou anterior, use C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\Release\Microsoft.Xbox.Services.GDK.C.Thunks.lib (ou Microsoft.Xbox.Services.142.GDK.C.lib, se a vinculação for estática) e C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\DesignTime\CommonConfiguration\Neutral\Lib\libHttpClient.GDK.lib No Visual Studio, você adicionaria as bibliotecas na página de propriedades do projeto em Configuration Properties->Linker->Input->Additional Dependencies.
  5. Defina _GAMING_DESKTOP e WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP. No Visual Studio, você adicionaria a seguinte linha na página de propriedades do projeto em C/C++->Command Line->Additional Options: /D "_GAMING_DESKTOP" /D "WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP"
  6. Crie um arquivo MicrosoftGame.config e verifique se ele é copiado para o mesmo destino que o .exe durante os builds. Observação: se o seu mecanismo oferecer suporte a qualquer tipo de funcionalidade de execução no editor que use um .exe diferente durante a execução, copie o MicrosoftGame.config também para o mesmo diretório desse .exe. Se o MicrosoftGame.config não estiver presente no mesmo diretório do .exe, os XBOX services não funcionarão ao usar a funcionalidade de execução no editor. Para iniciar o desenvolvimento, você pode usar uma configuração com valores padrão, como no exemplo a seguir. Os valores de Identity Name, Executable Name e Executable Alias seriam todos substituídos pelo nome do seu executável.
  7. Verifique se cópias de Microsoft.Xbox.Services.GDK.C.Thunks.dll (se vinculada dinamicamente), XCurl.dll e libHttpClient.GDK.dll são copiadas para o mesmo destino que o .exe durante os builds. Observação: se o seu mecanismo oferecer suporte a qualquer tipo de funcionalidade de execução no editor que use um .exe diferente durante a execução, verifique se esse .exe também faz referência a essas .dlls. Se as .dlls não forem referenciadas pelo .exe, os XBOX services não funcionarão ao usar a funcionalidade de execução no editor. Se você vincular o XSAPI dinamicamente, a Microsoft.Xbox.Services.GDK.C.Thunks.dll pode ser encontrada na instalação do GDK no seguinte diretório: C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\[Debug|Release] A XCurl.dll pode ser encontrada na instalação do GDK no seguinte diretório: C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.XCurl.API\Redist\x64 A libHttpClient.GDK.dll pode ser encontrada na instalação do GDK no seguinte diretório: C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Redist\x64 Em que GDK version number será um diretório nomeado com o ano, o mês e o número da subversão da versão. Por exemplo, para o GDK de junho de 2022, o nome do diretório seria 220600. Para o Microsoft GDK (junho de 2024) ou anterior, use C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\[Debug|Release], C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.XCurl.API\Redist\CommonConfiguration\neutral e C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Redist\CommonConfiguration\neutral
Como alternativa, se você estiver integrando o GDK a um projeto de área de trabalho existente do Visual Studio, poderá seguir as etapas deste tópico para converter seu projeto em um projeto do GDK: Adicionar o Microsoft Game Development Kit a um projeto de área de trabalho existente.

Atualizar o MicrosoftGame.config

O arquivo MicrosoftGame.config criado na etapa anterior tem valores padrão que permitem o desenvolvimento inicial no PC e no XBOX sem configuração adicional. Você precisa atualizar esses valores somente quando começar a usar recursos do Gaming Runtime, da Microsoft Store e da identidade do título. Para usar a funcionalidade dos XBOX services, atualize o MicrosoftGame.config do seu projeto com os detalhes de identidade do seu projeto no Partner Center.
  1. Acesse o painel do Partner Center.
  2. Selecione seu jogo na lista de produtos.
  3. Selecione a guia Game setup e, em seguida, selecione Identity details.
  4. Selecione Show Details para expandir a seção Identity details.
  5. Use os seguintes valores da tabela na seção Identity details e copie esses valores do Partner Center para o elemento e o campo correspondentes no MicrosoftGame.config.
Por exemplo, os seguintes detalhes de identidade no Partner Center fariam seu MicrosoftGame.config ficar parecido com o exemplo abaixo:
Consulte a Visão geral do MicrosoftGame.config para obter informações adicionais sobre os valores no MicrosoftGame.config.

Inicializar o runtime do jogo e o XSAPI

As etapas a seguir mostram como inicializar o Gaming Runtime Services e o XSAPI no seu jogo.
  1. Inclua o cabeçalho XGameRuntime e o cabeçalho services-c do XSAPI.
  2. Chame XGameRuntimeInitialize para inicializar o runtime do GDK.
  3. Chame XblInitialize para inicializar o XSAPI.

Desinicializar o runtime do jogo

O Gaming Runtime Services precisa ser desinicializado antes que seu jogo seja encerrado. O XSAPI não precisa ser limpo explicitamente antes do encerramento. Desinicialize o runtime do GDK chamando XGameRuntimeUninitialize.
Consulte Introdução às APIs dos XBOX services para obter uma visão geral detalhada do uso do XSAPI no seu jogo.
Consulte Recursos do Game Development Kit (GDK) para obter visões gerais sobre a implementação de recursos do GDK.

Testar os XBOX services no seu jogo

Para testar a funcionalidade dos XBOX services no seu jogo, como conquistas, você precisa usar uma área restrita e contas de teste com acesso a essa área restrita.

Criar uma conta de teste

Para testar qualquer recurso dos XBOX services no seu jogo, crie contas de teste que tenham acesso à sua área restrita de desenvolvimento. Para obter informações sobre como criar contas de teste, consulte Criar contas de teste.

Alternar sua área restrita

Depois de criar uma conta de teste, use-a para acessar sua área restrita seguindo estas etapas.
  1. Para encontrar o ID da sua área restrita, acesse o Partner Center.
  2. Selecione XBOX services e, em seguida, selecione Gameplay Settings.
    O ID da sua área restrita está na primeira guia e tem um nome como “ABCDEF.0”.
  3. Abra o menu Iniciar.
  4. Digite Microsoft GDK Command Prompts e pressione Enter no teclado.
  5. Abra o primeiro prompt de comando.
  6. No prompt de comando, digite XblPCSandbox.exe [ID da sua área restrita].
  7. Depois que o prompt de comando iniciar vários aplicativos, entre no aplicativo XBOX com sua conta de teste.
Se você conseguir entrar com êxito, terá criado uma conta de teste e mudado para sua área restrita para começar os testes. Para obter mais informações sobre áreas restritas, consulte Visão geral das áreas restritas dos XBOX services.

Publicação

Para estar pronto para publicar seu jogo, você precisa: Depois de concluir esses dois requisitos, você estará pronto para publicar. Para enviar seu jogo, acesse o Partner Center e siga as instruções na interface do usuário.
Última modificação em 6 de outubro de 2026