Com o SDK do Google Play Games para PC, você pode acessar os serviços do Google Play para criar e monetizar seu jogo em computadores. Venda conteúdo digital usando o Google Play Faturamento, faça login sem problemas usando o Google Play Games e garanta que os usuários tenham um direito válido ao seu aplicativo com o Google Play Integrity.
Tudo pronto para começar?
Pré-requisitos
Crie uma entrada de app no Play Console e reivindique um nome de pacote do Play.
Baixe e instale o Google Play Games para PC e faça login com sua Conta do Google.
Etapa 1: adicionar o SDK ao seu projeto
Baixe o SDK do Play Games para PC C++.
Copie a pasta de cabeçalhos da API
includes/
para a base de código do aplicativo.Copie os arquivos redistribuíveis de
imports/
para o projeto do seu aplicativo.- Vincule seu projeto ao
play_pc_sdk.lib
, permitindo o acesso ao conteúdo doplay_pc_sdk.dll
.
- Vincule seu projeto ao
Etapa 2: adicionar um arquivo de manifesto
Antes de usar o SDK no jogo, você precisa
associar o executável do jogo ao nome do pacote do Google Play que você reivindicou
no Play Console. Para fazer isso, adicione um arquivo manifest.xml
no
mesmo diretório que o executável do jogo.
Exemplo de conteúdo manifest.xml
:
<?xml version="1.0" encoding="utf-8"?>
<Manifest version="1">
<Application>
<PackageName>com.example.package</PackageName>
</Application>
</Manifest>
Exemplo de posição manifest.xml
:
C:\Program Files
└───Example Game
├───Game.exe
└───manifest.xml
Etapa 3: assinar digitalmente o jogo
Antes de usar o SDK, o executável do jogo precisa ser assinado digitalmente com uma assinatura digital Authenticode. Para instruções sobre como assinar um executável, consulte a documentação sobre o SignTool .
Etapa 4: inicializar o SDK
Inicialize o SDK durante a sequência de inicialização do jogo. Isso deve ser feito automaticamente, sem exigir interação do usuário. Recomendamos verificar se a inicialização foi bem-sucedida antes de renderizar a janela do jogo. Isso oferece a melhor experiência ao usuário, mostrando e resolvendo erros o mais rápido possível, e evita que a janela do jogo apareça brevemente nos casos em que o processo do jogo precisa ser encerrado.
Comece a usar o SDK chamando
GooglePlayInitialize
para inicializar a API. Isso
vai configurar o estado global, se conectar ao SDK Runtime e verificar se o
aplicativo foi iniciado corretamente. Isso PRECISA ser chamado e ter o
callback de continuação concluído com InitializeResult::ok()
igual a true
antes que qualquer outra API possa ser usada.
// Initialize the SDK as part of the startup sequence of your application.
auto promise = std::make_shared<std::promise<InitializeResult>>();
GooglePlayInitialize(
[promise](InitializeResult result) {
promise->set_value(std::move(result));
});
auto initialize_result = promise->get_future().get();
if (initialize_result.ok()) {
// The SDK succeeded with initialization. Continue with the startup sequence
// of the game.
// ...
} else if (initialize_result.code() == InitializationError::kActionRequiredShutdownClientProcess) {
// The SDK failed to initialize and has requested that your game process exit
// as soon as possible.
exit(1);
} else {
// The SDK failed to initialize for an alternative reason. It is still
// generally recommended that you exit the game process as soon as possible,
// because it won't be possible to access any APIs in the SDK. Critical
// operations such as verifying the user owns a valid license to your game
// won't be possible.
// ...
}
Se a inicialização falhar com o código kActionRequiredShutdownClientProcess
saia do processo do jogo assim que possível. O tempo de execução do SDK vai tentar
ajudar o usuário sem que o jogo precise fazer mais nada. Por exemplo, se o usuário não tiver uma licença válida para o jogo, o Google Play Games vai pedir que ele compre uma cópia. Para outros erros, ainda é recomendável
encerrar o processo do jogo o mais rápido possível, já que ele não usará o SDK para
realizar operações críticas, como verificar se o usuário tem uma licença válida
para o jogo.
Uma resposta sem sucesso pode indicar uma das seguintes condições:
O SDK Runtime não está instalado, não está sendo executado no dispositivo ou é uma versão mais antiga que não é compatível com o SDK integrado ao jogo.
O ambiente de execução do SDK não conseguiu verificar a identidade do aplicativo do jogo. Isso pode acontecer devido a um
manifest.xml
inválido ou ao uso do SDK sem ativar o modo de desenvolvedor durante o desenvolvimento. Sem isso, o executável do jogo precisa ser assinado digitalmente com o certificado digital registrado no nome do pacote do Play.O executável do jogo não foi iniciado pelo cliente do Google Play Games.
O usuário ativo no Google Play Games não tem uma licença para o aplicativo.
Etapa 5: (opcional) suporte a vários processos de jogos
Se o jogo usa vários processos e planeja usar o SDK do Play Games para PC em um processo que não é iniciado diretamente pelo Google Play Games para PC, são necessárias etapas adicionais de integração:
O processo iniciado diretamente pelo Google Play Games para PC precisa verificar se a inicialização do SDK do Google Play Games para PC foi bem-sucedida.
Isso oferece a melhor experiência do usuário, mostrando erros assim que possível. Observe que o processo filho que usa o SDK também precisa realizar a inicialização, além do processo iniciado diretamente.
Para usar o SDK do Play Games para PC em um processo filho, encaminhe os parâmetros da linha de comando para o processo filho gerado.
Exemplo de encaminhamento de parâmetro da linha de comando:
Processes hierarchy tree: GooglePlayGames.exe └───YourGameLauncher.exe --foo=abc --bar=123 └───YourGame.exe --foo=abc --bar=123
Neste exemplo, vemos uma hierarquia de processos em que o Google Play Games para PC (
GooglePlayGames.exe
) inicia o jogo (YourGameLauncher.exe
) com alguns parâmetros de exemplo (--foo=abc --bar=123
). Em seguida, o jogo gera um processo filho (YourGame.exe
) que usa o SDK do Play Games para PC. Para permitir isso, o processo do jogo iniciado pelo Google Play Games para PC encaminha os parâmetros da linha de comando que recebeu para o processo filho.Saia de todos os processos quando o jogo parar de ser executado.
Quando um usuário fecha o jogo ou ele é encerrado devido a uma falha na inicialização do SDK, como
kActionRequiredShutdownClientProcess
, feche todos os processos gerados pelo jogo. Isso garante que, na próxima vez que o jogo for iniciado pelo cliente do Google Play Games para PC, as novas mudanças, como a troca para uma conta ativa diferente, entrem em vigor.
Próximas etapas
Use o SDK ao desenvolver no seu ambiente de desenvolvimento integrado:
- Ative o modo de desenvolvedor.
Adicione recursos do Google Play para PC ao seu app:
- Vender produtos digitais com o Play Faturamento
- Meça seu marketing com o Play Install Referrer