Mejora tu juego con el SDK de Play Juegos para PC

Con el SDK de Play Juegos para PC, puedes acceder a los servicios de Google Play para compilar y monetizar tu juego en PCs. Vende contenido digital con la Facturación Play, accede sin problemas con Play Juegos y asegúrate de que tus usuarios tengan un derecho válido para tu aplicación con Play Integrity.

¿Todo listo para comenzar?

Requisitos previos

  • Crea una entrada de la app en Play Console y reclama un nombre de paquete de Play.

  • Descarga e instala Google Play Juegos para PC y accede con tu Cuenta de Google.

Paso 1: Agrega el SDK a tu proyecto

  • Descarga el SDK de C++ de Play Juegos para PC.

  • Copia la carpeta de encabezados de la API includes/ en la base de código de tu aplicación.

  • Copia los archivos redistribuibles de imports/ en el proyecto de tu aplicación.

    • Vincula tu proyecto a play_pc_sdk.lib para permitir el acceso al contenido de play_pc_sdk.dll.

Paso 2: Agrega un archivo de manifiesto

Antes de poder usar el SDK desde tu juego, deberás 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.

Contenido de manifest.xml de ejemplo:

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

Ejemplo de posición de manifest.xml:

C:\Program Files
└───Example Game
    ├───Game.exe
    └───manifest.xml

Paso 3: Firma digitalmente tu juego

Antes de que tu juego pueda usar el SDK, el ejecutable del juego debe firmarse digitalmente con una firma digital de Authenticode. Para obtener instrucciones sobre cómo firmar un archivo ejecutable, consulta la documentación sobre SignTool .

Paso 4: Inicializa el SDK

Inicializa el SDK durante la secuencia de inicio de tu juego. Esto debe hacerse automáticamente sin requerir ninguna interacción del usuario, y se recomienda verificar que la inicialización se haya realizado correctamente antes de renderizar la ventana del juego. Esto proporciona la mejor experiencia del usuario, ya que muestra y resuelve los errores lo antes posible, y evita que la ventana del juego aparezca brevemente en los casos en que el proceso del juego debe salir.

Comienza a usar el SDK llamando a GooglePlayInitialize para inicializar la API. Esto configurará el estado global, se conectará con el entorno de ejecución del SDK y verificará que la aplicación se haya iniciado correctamente. Se DEBE llamar a este método y hacer que la devolución de llamada de continuación se complete con InitializeResult::ok() igual a true antes de que se pueda usar cualquier otra API.

// Initialize the SDK as part of the startup sequence of your application.
auto promise = std::make_shared<std::promise<InitializeResult>>();
GooglePlayInitialize(
  [promise](InitializeResult result) {
    promise->set_value(std::move(result));
  });

auto initialize_result = promise->get_future().get();
if (initialize_result.ok()) {
  // The SDK succeeded with initialization. Continue with the startup sequence
  // of the game.
  // ...
} else if (initialize_result.code() == InitializationError::kActionRequiredShutdownClientProcess) {
  // The SDK failed to initialize and has requested that your game process exit
  // as soon as possible.
  exit(1);
} else {
  // The SDK failed to initialize for an alternative reason. It is still
  // generally recommended that you exit the game process as soon as possible,
  // because it won't be possible to access any APIs in the SDK. Critical
  // operations such as verifying the user owns a valid license to your game
  // won't be possible.
  // ...
}

Si la inicialización falla con el código kActionRequiredShutdownClientProcess, sal del proceso del juego lo antes posible. El tiempo de ejecución del SDK intentará ayudar al usuario sin que tu juego requiera ninguna acción adicional. Por ejemplo, si el usuario no tiene una licencia válida para el juego, Google Play Juegos le pedirá que compre una copia. En el caso de otros errores, se recomienda salir del proceso del juego lo antes posible, ya que no se podrá usar el SDK para realizar operaciones críticas, como verificar que el usuario tenga una licencia válida para tu juego.

Una respuesta no exitosa puede indicar una de las siguientes condiciones:

  • El entorno de ejecución del SDK no está instalado, no se ejecuta en el dispositivo o es una versión anterior que no es compatible con el SDK integrado en tu juego.

  • El tiempo de ejecución del SDK no pudo verificar la identidad de la aplicación del juego. Esto puede deberse a un manifest.xml no válido o al uso del SDK sin habilitar el modo de desarrollador durante el desarrollo. Sin esto, el ejecutable del juego debe firmarse digitalmente con el certificado digital registrado en el nombre del paquete de Play.

  • El ejecutable del juego no se inició a través del cliente de Google Play Juegos.

  • El usuario activo en Google Play Juegos no tiene una licencia para la aplicación.

Paso 5: (Opcional) Admite varios procesos del juego

Si tu juego usa varios procesos y planeas usar el SDK de Play Juegos para PC desde un proceso que Google Play Juegos para PC no inicia directamente, se requieren pasos de integración adicionales:

  1. El proceso que inicia directamente Google Play Juegos para PC debe verificar una inicialización correcta del SDK de Play Juegos para PC.

    Esto proporciona la mejor experiencia del usuario, ya que muestra los errores lo antes posible. Ten en cuenta que el proceso secundario que usa el SDK también debe realizar la inicialización, además del proceso que se inicia directamente.

  2. Para usar el SDK de Play Juegos para PC en un proceso secundario, reenvía los parámetros de la línea de comandos al proceso secundario generado.

    Ejemplo de reenvío de parámetros de la línea de comandos:

    Processes hierarchy tree:
    
    GooglePlayGames.exe
    └───YourGameLauncher.exe --foo=abc --bar=123
        └───YourGame.exe --foo=abc --bar=123
    

    En este ejemplo, vemos una jerarquía de procesos en la que Google Play Juegos para PC (GooglePlayGames.exe) inicia el juego (YourGameLauncher.exe) con algunos parámetros de ejemplo (--foo=abc --bar=123). Luego, el juego genera un proceso secundario (YourGame.exe) que usa el SDK de Play Juegos para PC. Para permitir esto, el proceso del juego que inicia Google Play Juegos para PC reenvía los parámetros de la línea de comandos que se le proporcionaron al proceso secundario.

  3. Salir de todos los procesos cuando el juego deje de ejecutarse

    Cuando un usuario cierre tu juego o este salga debido a una falla en la inicialización del SDK, como kActionRequiredShutdownClientProcess, cierra todos los procesos que haya generado tu juego. Esto garantiza que, la próxima vez que el cliente de Google Play Juegos para PC inicie tu juego, se aplicarán los cambios nuevos, como el cambio a una cuenta activa diferente.

Próximos pasos

Usa el SDK mientras desarrollas en tu IDE:

Agrega funciones de Google Play para PC a tu app: