Migrar para os serviços relacionados a jogos do Google Play v2 (Unity)

Este documento descreve como migrar jogos do SDK para jogos v1 para o SDK para jogos v2. O plug-in do Play Games para Unity, versões 10 e anteriores, usa o SDK v1.

Antes de começar

  • Verifique se você já configurou o Play Console e instalou o Unity Hub.

Fazer o download do plug-in do Google Play Games para Unity

Para aproveitar os recursos mais recentes dos Serviços do Play Games, faça o download e instale a versão mais recente do plug-in. Faça o download no repositório do GitHub.

Remover o plug-in antigo

No Unity Hub, remova as pastas ou arquivos a seguir.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
Remova as pastas destacadas no projeto do Unity.
Remova as pastas destacadas no projeto do Unity (clique para ampliar).

Importar o novo plug-in para o projeto do Unity

Para importar o plug-in para seu projeto do Unity, siga estas etapas:

  1. Abra o projeto do jogo.
  2. No Unity Hub, clique em Assets > Import Package > Custom Package para importar o arquivo unitypackage transferido por download para os recursos do projeto.
  3. Confira se a plataforma de build atual está definida como Android.

    1. No menu principal, clique em File > Build Settings.

    2. Selecione Android e clique em Switch Platform.

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

  4. No Unity Hub, clique em File > Build Settings > Player Settings > Other Settings.

  5. Na caixa Nível da API de destino, selecione uma versão.

  6. Na caixa Scripting backend, digite IL2CPP.

  7. Na caixa Arquiteturas de destino, selecione um valor.

  8. Anote o nome do pacote package_name.Você poderá usar essas informações mais tarde.

    As configurações do player no projeto do Unity
    As configurações do player no projeto do Unity.
  9. Copiar os recursos do Android do Play Console

  10. Adicionar os recursos do Android ao projeto do Unity

Atualizar o código de login automático

Substitua a classe de inicialização PlayGamesClientConfiguration pela classe PlayGamesPlatform.Instance.Authenticate(). A inicialização e a ativação de PlayGamesPlatform não são necessárias. Chamar PlayGamesPlatform.Instance.Authenticate() extrai o resultado do login automático.

C#

No Unity Hub, localize os arquivos com a classe PlayGamesClientConfiguration.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

E atualize para o seguinte:

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).
    }
}

Escolher uma plataforma social

Para escolher uma plataforma social, consulte escolher uma plataforma social.

Extrair códigos de autenticação do servidor

Para receber códigos de acesso do lado do servidor, consulte extrair códigos de autenticação do servidor.

Remover código de desativação

Remova o código para sair. Os serviços relacionados a jogos do Google Play não exigem mais um botão de saída no jogo.

Remova o código mostrado no exemplo abaixo:

C#

// sign out
PlayGamesPlatform.Instance.SignOut();

Testar o jogo

Teste o jogo para garantir que ele funcione conforme o esperado. Os testes que você realiza dependem dos recursos do jogo.

Confira a seguir uma lista de testes comuns a serem executados.

  1. Login concluído.

    1. O login automático funciona. O usuário precisa estar conectado aos Serviços relacionados a jogos do Google Play ao iniciar o jogo.

    2. O pop-up de boas-vindas é exibido.

      Exemplo de pop-up de boas-vindas.
      Exemplo de pop-up de boas-vindas (clique para ampliar).

    3. As mensagens de registro bem-sucedidas são exibidas. Execute o seguinte comando no terminal:

      adb logcat | grep com.google.android.

      Uma mensagem de registro bem-sucedida é mostrada no exemplo a seguir:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. Garantir a consistência dos componentes da interface.

    1. Pop-ups, placares e conquistas são exibidos corretamente e de forma consistente em vários tamanhos e orientações de tela na interface do usuário (IU) dos serviços relacionados a jogos do Google Play.

    2. A opção de encerramento de sessão não aparece na interface dos Serviços relacionados a jogos do Google Play.

    3. Verifique se você consegue recuperar o ID do jogador e, se aplicável, se os recursos do lado do servidor funcionam conforme o esperado.

    4. Se o jogo usa autenticação do lado do servidor, teste completamente o fluxo requestServerSideAccess. Verifique se o servidor recebe o código de autenticação e pode trocá-lo por um token de acesso. Teste cenários de sucesso e de falha para erros de rede e cenários inválidos de client ID.

Se o jogo usava algum dos recursos abaixo, teste-os para garantir que eles funcionem da mesma forma que antes da migração:

  • Placares: envie pontuações e confira os placares. Verifique se a classificação e a exibição dos nomes e pontuações dos jogadores estão corretas.
  • Conquistas: desbloqueie conquistas e verifique se elas são gravadas e exibidas corretamente na interface do Google Play Games.
  • Jogos salvos: se o jogo usa jogos salvos, verifique se o salvamento e o carregamento do progresso do jogo funcionam perfeitamente. Isso é especialmente importante para testar em vários dispositivos e após atualizações do app.

Tarefas pós-migração

Conclua as etapas a seguir depois de migrar para o SDK v2 de jogos.

  1. Usar a Assinatura de apps do Google Play

  2. Criar um arquivo AAB

  3. Criar uma versão de teste interno

  4. Verificar suas credenciais de assinatura de app