En esta guía, se proporcionan instrucciones paso a paso para integrar el SDK de Google Play Juegos para PC en tu proyecto de Unity.
Paso 1: Descarga el SDK
Descarga la versión más reciente del paquete de Unity con el vínculo de descarga.
Descargar: SDK de Play Juegos para PCUnity
Paso 2: Importa el paquete
El SDK se distribuye como un archivo tar compatible con Unity Package Manager (UPM). Para obtener más información, consulta Cómo instalar un paquete de UPM desde un archivo tar local
Paso 3: Configura los parámetros de compilación
Para verificar que las bibliotecas nativas se carguen correctamente, debes configurar tu proyecto para que use el backend de secuencias de comandos IL2CPP y segmentar la arquitectura correcta.
Crea un perfil de compilación con Windows como plataforma.
Selecciona la configuración de la plataforma como Windows. Para la arquitectura, usa las siguientes opciones:
- Intel de 64 bits (recomendado)
- Intel de 32 bits
Nota: La plataforma de Google Play Juegos para PC se ejecuta en un entorno de 64 bits. Puedes compilar tu juego como de 32 bits (x86) o de 64 bits (x64).
Establece Scripting Backend en IL2CPP. Para obtener más información, consulta Cómo compilar un proyecto con IL2CPP.
- Establece Api Compatibility Level en .NET Standard 2.0 (o .NET Framework).
Paso 4: Crea el manifiesto de la aplicación
Antes de poder usar el SDK en tu juego, debes asociar el ejecutable del juego con el nombre del paquete de Play que reclamaste en Play Console. Para ello, agrega un archivo manifest.xml en el mismo directorio que el ejecutable del juego.
Nota: Este es un paso manual que se debe realizar.
- Para compilar el archivo ejecutable del juego, selecciona File > Build and Run o haz clic en
Ctrl+B. - Abre un editor de texto y crea un archivo nuevo llamado
manifest.xml. Copia y pega el siguiente código XML en el archivo:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?/Application> <?/Manifest>
Guarda el archivo como
manifest.xml.Mueve este archivo a la misma carpeta que el archivo ejecutable del juego compilado.
Ejemplo: Si tu juego está en
Builds/MyGame.exe, el manifiesto debe estar enBuilds/manifest.xml.
Nota: Si quieres usar el SDK para PC mientras desarrollas en el Editor de Unity sin necesidad de firmar digitalmente el ejecutable del juego ni iniciarlo desde Google Play Juegos. Para obtener pasos adicionales de configuración del manifiesto, consulta la guía de configuración del modo para desarrolladores.
Paso 5: Inicializa el SDK
Debes inicializar el SDK antes de acceder a cualquier función, como Facturación o Integrity. Usa PlayPcSdkFactory para crear el controlador de inicialización y comenzar la conexión.
Crea una secuencia de comandos nueva en C#, por ejemplo, SdkInitialization.cs, y agrega el siguiente 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); } } }
Adjunta esta secuencia de comandos a un GameObject en tu primera escena. Cuando ejecutes el juego, consulta la consola para ver el mensaje "SDK Initialized Successfully!".