Este documento mostra como configurar seu projeto do Unity para usar o plug-in do Google Play Games para Unity. Você vai aprender a instalar o plug-in e configurar seu projeto do Unity. O documento também explica como verificar o serviço de login.
Antes de começar
Confira os requisitos de software. Configure o Play Console e instale o Unity Hub.
Configure o Play Console para seu jogo.
Instale o Unity Hub e crie seu jogo no Unity.
Instalação do plug-in
Para fazer o download e instalar o plug-in do Google Play Games para Unity, siga estas etapas no Unity Hub:
Faça o download do repositório do GitHub.
No diretório
current-build
, localize o arquivounitypackage
. Esse arquivo representa o plug-in. Por exemplo, ele vai ter esta aparência:current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
Configurar o projeto do Unity
Para configurar um projeto do Unity nas configurações do player, siga estas etapas:
Abra o projeto do jogo.
No Unity Hub, clique em Assets > Import Package > Custom Package para importar o arquivo
unitypackage
para os recursos do projeto.Confira se a plataforma de build atual está definida como Android.
No menu principal, clique em Arquivo > Configurações de build.
Selecione Android e clique em Switch Platform.
Um novo item de menu vai aparecer em Window > Google Play Games. Se isso não acontecer, clique em Assets > Refresh para atualizar os recursos e tente definir a plataforma de build novamente.
No Unity Hub, clique em File > Build Settings > Player Settings > Other Settings.
Na caixa Nível da API de destino, selecione uma versão.
Na caixa Back-end de script, insira
IL2CPP
.Na caixa Arquiteturas de destino, selecione um valor.
Anote o nome do pacote package_name.Você pode usar essas informações mais tarde.

Criar um novo keystore
Para validar suas credenciais, você precisa de uma chave. Siga estas etapas:
- No Unity Hub, clique em File > Build settings > Player settings.
- Na seção Configurações de publicação, clique em Gerenciador de keystore.
- Na janela Gerenciador de keystore, clique em Keystore > Criar novo > Em qualquer lugar.
- Selecione uma pasta e dê um nome ao keystore.
- Na caixa Senha, digite uma senha e confirme.
- Clique em Adicionar chave.
Anote o nome da pasta. Você pode usar esse nome para criar uma credencial no Google Cloud.
Copiar os recursos do Android do Play Console
Cada conquista, placar e evento criado no Play Console inclui um recurso do Android que você usa ao configurar seu projeto do Unity.
Para acessar os recursos do Android para seu jogo, siga estas etapas:
No Google Play Console, abra o jogo.
Na página Configuração dos Serviços relacionados a jogos do Google Play (Crescimento > Serviços relacionados a jogos do Google Play > Configuração e gerenciamento > Configuração), clique em Receber recursos.
Na janela Resources, clique na guia Android(XML).
Selecione e copie o conteúdo dos recursos do Android (
AndroidManifest.xml
).
Adicionar os recursos do Android ao seu projeto do Unity
Adicione os seguintes recursos do Android ao seu projeto do Unity:
No Unity Hub, clique em Window > Google Play Games > Setup > Android Setup.
- No campo Directory to save constants, insira o nome da pasta do arquivo de constantes.
No campo Nome da classe de constantes, insira o nome da classe C# a ser criada, incluindo o namespace.
Por exemplo, se a classe C# for
id.cs
e estiver em Assets > myproject > scripts > id.cs. O nome da classe de constantes pode sermyproject.scripts.id
.No campo Definição de recursos, cole os dados de recursos do Android (arquivo
AndroidManifest.xml
) que você copiou do Google Play Console.Opcional: no campo ID do cliente, insira o ID do cliente do app da Web vinculado.
Para receber o ID do cliente do seu jogo no Google Cloud, consulte Como criar IDs de cliente.
Isso só será necessário se você tiver um back-end baseado na Web para o jogo e precisar que o código de autenticação do servidor seja trocado por um token de acesso pelo servidor de back-end ou se você precisar de um token de ID para o jogador fazer outras chamadas de API fora do jogo.
Clique em Setup. O jogo vai ser configurado com o ID do cliente e uma classe C# vai ser gerada com constantes para cada recurso do Android.
No Unity Hub, clique em Window > Google Play Games > Setup > Nearby Connections Setup.
No campo ID do serviço de conexão por proximidade, insira o package_name.
Use o mesmo package_name usado em configurar projeto do Unity.
Clique em Setup.
Escolher uma plataforma social
O plug-in dos serviços relacionados a jogos do Google Play implementa a interface social (link em inglês) do Unity para oferecer compatibilidade com jogos que já usam essa interface na integração com outras plataformas. No entanto, alguns recursos são exclusivos do Play Games e oferecidos como extensões da interface social padrão fornecida pelo Unity.
As chamadas de API padrão podem ser acessadas no objeto Social.Active, que é uma referência a uma interface ISocialPlatform. As extensões não padrão dos serviços relacionados a jogos do Google Play podem ser acessadas ao transmitir o objeto Social.Active para a classe PlayGamesPlatform, em que os outros métodos estão disponíveis.
Usar o plug-in sem substituir a plataforma social padrão
Quando você chama PlayGamesPlatform.Activate
, os serviços relacionados a jogos do Google Play se tornam a
implementação de plataforma social padrão, ou seja, chamadas estáticas para métodos
em Social
e Social.Active
são realizadas pelo plug-in dos serviços relacionados a jogos do Google Play. Esse é o comportamento da maioria dos jogos que usam o plug-in.
No entanto, se por algum motivo você quiser manter a implementação padrão acessível (por exemplo, para enviar conquistas e placares a uma plataforma social diferente), use o plug-in dos Serviços relacionados a jogos do Google Play sem substituir a configuração padrão. Para fazer isto:
- Não ligue para
PlayGamesPlatform.Activate
- Se
Xyz
for o nome de um método que você precisa chamar na classeSocial
, não chameSocial.Xyz
. Em vez disso, chamePlayGamesPlatform.Instance.Xyz
. - Não use
Social.Active
ao interagir com os Serviços do Google Play Games. Em vez disso, usePlayGamesPlatform.Instance
.
Dessa forma, é possível até enviar pontuações e conquistas simultaneamente a duas ou mais plataformas sociais:
// Submit achievement to original default social platform
Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);
// Submit achievement to Google Play
PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);
Verificar o serviço de login
Uma conexão com os serviços relacionados a jogos do Google Play é automaticamente estabelecida usando o serviço de login quando o jogo é aberto. Se a conexão for bem-sucedida, seu jogo vai mostrar uma solicitação de login e vai estar pronto para usar o plug-in dos Serviços relacionados a jogos do Google Play para Unity.
Se um usuário nunca tiver usado os Serviços relacionados a jogos do Google Play no dispositivo, ele será direcionado automaticamente à tela de configuração única para criar uma conta do Play Games.
No método Start
do seu script, detecte o resultado da tentativa de
login automático, busque o status de autenticação e desative os recursos dos serviços relacionados
a jogos do Google Play, caso o usuário não tenha feito login.
Se a versão do plug-in do Unity for anterior a v11
, não será possível usar o recurso
de login.
using GooglePlayGames;
public void Start() {
PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}
internal void ProcessAuthentication(SignInStatus status) {
if (status == SignInStatus.Success) {
// Continue with Play Games Services
} else {
// Disable your integration with Play Games Services or show a login button
// to ask users to sign-in. Clicking it should call
// PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
}
}
O código de resultado é uma enumeração que pode ser usada para identificar o motivo da falha de login.
Como alternativa, se você preferir usar a plataforma social do Unity, utilize o código abaixo:
using GooglePlayGames;
public void Start() {
PlayGamesPlatform.Activate();
Social.localUser.Authenticate(ProcessAuthentication);
}
Não é possível fazer chamadas da API Google Play Games Services até receber um valor
de retorno bem-sucedido de Authenticate
. Como resultado, recomendamos que os jogos mostrem uma
tela de espera até que o callback seja chamado para garantir que os usuários não possam começar a jogar
até que a autenticação seja concluída.
Usar a Assinatura de apps do Google Play
O Google gerencia e protege a chave de assinatura do app usando a Assinatura de apps do Google Play. Você pode usar a Assinatura de apps do Google Play para assinar a distribuição otimizada de arquivos Android App Bundle. A Assinatura de apps do Google Play armazena sua chave de assinatura do app na infraestrutura protegida do Google. Para usar a Assinatura de apps do Google Play, primeiro crie e baixe um arquivo AAB do Unity Hub. Em seguida, faça upload do arquivo AAB para o Play Console e crie uma versão de teste interno.
Criar um arquivo AAB
Para criar um arquivo AAB no Unity Hub, siga estas etapas:
- No Unity Hub, clique em Arquivo > Configurações de compilação.
Selecione Criar Android App Bundle ( Google Play).
Para mais informações, consulte a Referência de configurações de build do Android.
Clique em Build.
Faça o download do arquivo AAB no Unity Hub.
Criar uma versão de teste interno
Para criar uma versão de teste interno e adicionar testadores no Play Console, siga estas etapas:
- No Google Play Console, selecione um jogo.
- Acesse a página Teste e lançamento (Teste > Teste interno).
- Clique em Fazer upload e selecione o arquivo AAB.
- No campo Detalhes da versão, insira um nome.
- Clique em Próxima e revise os detalhes da versão.
- Clique em Salvar e publicar.
Na guia Testadores, clique em Criar lista de e-mails para adicionar até 100 testadores.
Para mais informações, consulte Teste interno: gerencie até cem testadores.
Em URL de feedback ou endereço de e-mail, insira um URL ou endereço de e-mail para enviar feedback.
Clique em Salvar.
Verificar suas credenciais de assinatura de app
- No Google Play Console, selecione um jogo.
- Acesse a página Testar e lançar (Configuração > Assinatura de apps).
- Verifique suas credenciais de assinatura do app.
Criar e executar o projeto
Agora, é possível criar e executar o projeto do jogo. Quando o jogo começar, você vai notar uma tentativa de login automático.
Você precisa de um dispositivo Android físico com a depuração USB ativada ou um emulador que possa executar o projeto desenvolvido.
Extrair códigos de autenticação do servidor
Para acessar as APIs do Google em um servidor da Web de back-end em nome do jogador atual, você precisa receber um código de autenticação do aplicativo cliente e fazer a transmissão ao aplicativo do servidor da Web. Depois disso, o código pode ser trocado por um token de acesso para fazer chamadas para as várias APIs. Consulte informações sobre o fluxo de trabalho na página Fazer login com o Google para a Web.
Para receber o código de acesso do lado do servidor:
- Adicione o ID do cliente da Web do seu jogo no Play Console.
- No Google Play Console, selecione seu jogo.
- Na página Configuração (Aumentar o número de usuários > Serviços relacionados a jogos do Google Play > Configuração e gerenciamento > Configuração), clique em Adicionar credencial.
- Na página Adicionar credencial, selecione Servidor de jogos.
- Gere um ID do cliente OAuth 2.0.
- Anote o valor do ID do cliente. Você precisará fornecer esse valor mais tarde.
Adicione o ID do cliente da Web ao Unity Hub.
- No Unity Hub, configure o Google Play Games para Unity e faça login.
- No hub do Unity, acesse Window > Google Play Games > Setup > Android Setup.
- Insira o valor do ID do cliente.
Recupere o código de autenticação do servidor para escopos adicionais.
C#
using GooglePlayGames.BasicApi; // Define selectedScope having additional identity scopes. private List
selectedScopes = new List (); // Add scopes you want to request. selectedScopes.Add(AuthScope.OPEN_ID); selectedScopes.Add(AuthScope.PROFILE); selectedScopes.Add(AuthScope.EMAIL); // Call RequestServerSideAccess with additional scopes and retrieve // authcode and grantedscopes list. PlayGamesPlatform.Instance.RequestServerSideAccess( /* forceRefreshToken= */ false,selectedScopes (AuthResponse authResponse) => { string authCode = authResponse.GetAuthCode(); List grantedScopes = authResponse.GetGrantedScopes(); // send authCode to server... });
Configurar e adicionar recursos
Ative os recursos dos serviços relacionados a jogos do Google Play.
Adicione recursos ao seu jogo usando as APIs dos serviços relacionados a jogos do Google Play:
API Recall para Unity (compatível apenas com a versão v11 e mais recentes do plug-in do Unity)