Integrar o SDK do Google Play Games para PC com o Unity

Este guia oferece instruções detalhadas para integrar o SDK do Google Play Games para PC ao seu projeto do Unity.

Etapa 1: fazer o download do SDK

Faça o download da versão mais recente do pacote do Unity usando o link de download.

Download: SDK do Play Games para PC Unity

Etapa 2: importar o pacote

O SDK é distribuído como um arquivo tar compatível com o Unity Package Manager (UPM). Para mais informações, consulte Instalar um pacote UPM de um arquivo tar local

Etapa 3: definir as configurações de build

Para verificar se as bibliotecas nativas são carregadas corretamente, configure seu projeto para usar o back-end de script IL2CPP e direcionar a arquitetura correta.

  1. Crie um perfil de build com o Windows como plataforma.

  2. Selecione as configurações de plataforma como Windows. Para a arquitetura, use as opções:

    • Intel de 64 bits (recomendado)
    • Intel de 32 bits

    Observação:a plataforma do Google Play Games no PC é executada em um ambiente de 64 bits. Você pode criar seu jogo como 32 bits (x86) ou 64 bits (x64).

  3. Defina o back-end de script como IL2CPP. Para mais informações, consulte Criar um projeto com IL2CPP.

    • Defina o nível de compatibilidade da API como .NET Standard 2.0 (ou .NET Framework).

Etapa 4: criar o manifesto do aplicativo

Antes de usar o SDK no jogo, associe 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 do executável do jogo.

Observação:esta é uma etapa manual que precisa ser realizada.

  1. Para criar o arquivo executável do jogo, selecione Arquivo > Build e execução ou clique em Ctrl+B.
  2. Abra um editor de texto e crie um novo arquivo chamado manifest.xml.
  3. Copie e cole o seguinte código XML no arquivo:

    <?xml version="1.0" encoding="utf-8"?>
    <?Manifest version="1">
       <?Application>
         <?PackageName>com.example.package<?/PackageName>
       <?/Application>
    <?/Manifest>

  4. Salve o arquivo como manifest.xml.

  5. Mova esse arquivo para a mesma pasta do arquivo executável do jogo criado.

    Exemplo: se o jogo estiver em Builds/MyGame.exe, o manifesto precisará estar em Builds/manifest.xml.

Observação:se você quiser usar o SDK para PC durante o desenvolvimento no Unity Editor sem precisar assinar digitalmente o executável do jogo ou iniciá-lo no Google Play Games. Para outras etapas de configuração do manifesto, consulte o guia de configuração do modo de desenvolvedor.

Etapa 5: inicializar o SDK

É necessário inicializar o SDK antes de acessar qualquer recurso, como faturamento ou integridade. Use PlayPcSdkFactory para criar o handler de inicialização e iniciar a conexão.

Crie um novo script em C#, por exemplo, SdkInitialization.cs, e adicione o seguinte código:

using UnityEngine;
using System;
using System.Threading.Tasks;
// Import the SDK namespaces
using PlayPcSdkManaged.Initialization;
using PlayPcSdkManaged.Unity;

public class GooglePlayPCSDKInit : MonoBehaviour
{
    // Prevent double-initialization if this script is reloaded
    private static bool _isInitialized = false;

    private void Start()
    {
        // Use the "Safe Runner" pattern to fire the async method
        _ = InitializeSdkAsync();
    }

    private async Task InitializeSdkAsync()
    {
        if (_isInitialized)
        {
            Debug.LogWarning("Google Play PC SDK is already initialized. Skipping.");
            return;
        }

        try
        {
            Debug.Log("Initializing Google Play PC SDK...");

            // 1. Get the Unity-specific initialization handler from the factory
            var initHandler = PlayPcSdkFactory.InitializationHandler;

            // 2. Call InitializeAsync to start the connection
            var result = await GooglePlayInitialization.InitializeAsync(initHandler);

            // 3. Check the result
            if (result.IsOk)
            {
                _isInitialized = true;
                Debug.Log("<color=green>Google Play PC SDK Initialized Successfully!</color>");
                // You can now create BillingClient or IntegrityClient instances
            }
            else
            {
                Debug.LogError($"<color=red>Initialization Failed!</color>");
                Debug.LogError($"Error Code: {result.Code}");
                Debug.LogError($"Message: {result.ErrorMessage}");
            }
        }
        catch (Exception ex)
        {
            // Catch unexpected crashes or task failures
            Debug.LogError($"Exception during initialization: {ex.Message}");
            Debug.LogException(ex);
        }
    }
}

Anexe esse script a um GameObject na primeira cena. Ao executar o jogo, confira a mensagem "SDK Initialized Successfully!" no console.