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 Unity de Play Juegos para PC
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 scripting IL2CPP y 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 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 archivo 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.
Paso 5: Inicializa el SDK
Debes inicializar el SDK antes de acceder a cualquier función, como Billing o Integrity. Usa PlayPcSdkFactory para crear el controlador de inicialización y comenzar la conexión.
Crea una secuencia de comandos de C# nueva, 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); } } }
Vincula este código a un GameObject en tu primer ambiente. Cuando ejecutes el juego, verifica si aparece el mensaje "SDK Initialized Successfully!" en la consola.