Preguntas frecuentes

En este documento, se responden preguntas frecuentes sobre los SDKs y la publicación de Google Play Juegos para PC.

Monetización

  1. ¿Por qué mi flujo de compra falla con el código de error 6 después de agregar una nueva clave de facturación o de licencia?

    Las claves de licencia que se generan recientemente en Google Play Console experimentan un retraso de varias horas en el almacenamiento en caché y la propagación en el backend de comercio antes de que las cachés internas de Google Play se sincronicen en todos los entornos de publicación. Aunque el cliente de tu juego pueda consultar los detalles del producto correctamente, las solicitudes de compra fallarán con el código de error 6 hasta que se complete la sincronización. Deja pasar varias horas después de subir o actualizar tu clave de licencia antes de probar las compras.

  2. ¿Puedo usar el flujo de compra sin un servidor de backend?

    Desde una perspectiva de seguridad, Google recomienda usar un servidor de backend.

    Para obtener más información, consulta Proceso sin un servidor de backend.

  3. ¿Se permiten los sistemas de pago existentes basados en APIs después de integrar el SDK de Google Play Juegos para PC?

    Todos los pagos deben administrarse con el SDK de Google Play Juegos para PC a través de la Facturación Google Play. No puedes usar tu forma de pago existente basada en la API en el mismo juego.

  4. ¿Cómo podemos consumir compras en el modo de desarrollador?

    Consume la compra en el modo de desarrollador en un plazo de 3 minutos; de lo contrario, se reembolsará.

  5. ¿Se admiten pagos recurrentes o suscripciones?

    No en el futuro inmediato, aunque puedes proporcionar casos de uso específicos para que los agreguemos a nuestra planificación futura.

  6. ¿Qué es el error de facturación en mis llamadas de compra?

    BillingError es la respuesta del resultado del pago. LaunchPurchaseFlow se mostrará de inmediato sin bloquear, pero debes escuchar la devolución de llamada para saber cuándo finalizó y capturar el resultado.

  7. ¿Cómo puedo usar la verificación de compras del cliente?

    Te recomendamos que uses la compra del servidor y su proceso de verificación. Para procesar las compras desde tu app cliente, tu juego debe estar en una lista de entidades permitidas. Comunícate con tu socio de Google si tu juego requiere acceso. Para obtener más información, consulta Proceso sin un servidor de backend.

  8. ¿Cuáles son los límites de la API para consultar los detalles del producto?

    La cantidad máxima de productos que se pueden consultar en una sola llamada a la API de QueryProductDetails es 50. Si superas este límite, debes dividir la solicitud en varias llamadas.

  9. ¿Por qué las consultas de productos o los flujos de compra fallan con errores internos cuando se cargan muchos SKU de productos?

    Consultar demasiados SKU de productos a la vez o llamar a QueryProductDetails en C++ o QueryProductDetailsAsync en Unity de forma consecutiva demasiadas veces en un período breve (por ejemplo, enviar decenas de llamadas por lotes en un bucle cerrado o crear una nueva instancia de BillingClient por lote) puede sobrecargar las conexiones locales de IPC y backend. Cuando se restablecen esas conexiones, las consultas de detalles del producto fallan y tu juego no puede obtener los tokens de oferta necesarios para iniciar un flujo de compra.

    Para evitar estos errores cuando cargues tu catálogo, sigue estas prácticas:

    • Sigue la cantidad admitida de productos por llamada: No consultes más de 50 productos en una sola llamada a QueryProductDetails o QueryProductDetailsAsync, y almacena en caché el ProductDetails que se muestra en la memoria en lugar de volver a consultar el catálogo completo de forma repetida. Para obtener más información sobre los límites de lotes admitidos y la consulta de detalles de productos, consulta la pregunta anterior sobre los límites de la API, Muestra los productos disponibles para comprar para C++ y Consulta los detalles de los productos para Unity.
    • Evita llamar a las APIs de forma consecutiva demasiadas veces en un período breve: No envíes varios lotes de consultas de productos de forma simultánea o consecutiva sin un ritmo. Reutiliza una sola instancia de BillingClient, serializa las solicitudes o limita la simultaneidad a dos o tres llamadas en curso a la vez, y agrega un breve retraso entre los lotes consecutivos.
    • Actualiza al SDK más reciente: Actualiza tu integración a la versión más reciente del SDK de Google Play Juegos para PC, la versión 26.9.261.0 para C++ o la versión 26.9.261.0 para Unity, desde la página de descargas del SDK de Play Juegos para PC para asegurarte de que tu cliente incluya las mejoras más recientes de estabilidad de IPC y facturación.
  10. ¿Qué parámetros se requieren cuando se llama a Query Purchases o Launch Purchase Flow en el cliente de Facturación?

    La función acepta QueryPurchasesContinuation, que es una devolución de llamada de función con la firma std::function<void(QueryPurchasesResult)>. La devolución de llamada te pasa el resultado con todos los ProductPurchaseDetails. Esta información está disponible en los archivos de encabezado del SDK en el archivo includes/billing/models.h.

    El launch_purchase_flow_result resultante tiene las funciones ok() y code(). La función ok() devuelve si el flujo se completó correctamente. La función code() devuelve la enumeración BillingError (includes/billing/enums.h), que tiene 10 casos de error posibles, como la cancelación del usuario o un error de red.

  11. ¿Se admite un orden personalizado para el flujo de compra de lanzamiento en el cliente de Facturación?

    En el diseño actual del SDK, no hay forma de pasar tu propia carga útil. Sin embargo, puedes proporcionar cualquier combinación de obfuscated_account_id y obfuscated_profile_id. Puedes no proporcionar ninguno, solo uno o ambos.

    El campo offer_token es obligatorio y especifica la oferta de compra que el usuario intenta comprar en el proceso de confirmación de compra. Por el momento, cada SKU de Google Play tiene exactamente una oferta (por ejemplo, comprar un elemento por USD 10). En el futuro, el equipo de Facturación Play proporcionará asistencia para varias ofertas.

    Para garantizar que los metadatos estén asociados con las interrupciones del flujo de compra, almacena los metadatos en tu servidor de backend antes de iniciar el cuadro de diálogo de compra y asócialos con el ID de cuenta del usuario, el SKU de la compra en cuestión y la marca de tiempo correspondiente. Para obtener más información, consulta Asocia una compra con datos internos.

  12. ¿Cuáles son los requisitos previos para cambiar de la facturación de Google con OAuth a la facturación de Google basada en DLL?

    Los juegos pueden seguir usando el acceso de OAuth con Google para administrar la cuenta con la que se accedió, pero Google recomienda que dejes de usar las APIs de facturación de REST heredadas. El cambio de las APIs de REST de facturación (con acceso de OAuth2) al flujo del SDK puede ser una operación con marcas de funciones, por lo que ambas pueden coexistir durante un período mientras se realiza el cambio en el juego.

  13. ¿La llamada a la API de flujo de compra de lanzamiento se procesa a través de un navegador web?

    No, el flujo de compra ahora se completa por completo en el juego con una superposición de WebView fluida, sin salir del cliente del juego.

  14. ¿Un usuario debe acceder por separado para cada juego para realizar una compra?

    La cuenta en primer plano de Google Play Juegos se usa para cada sesión de juego, por lo que no es necesario que vuelvas a acceder. La cuenta que usas en Google Play Juegos cuando se inicia la sesión de juego es la cuenta con la que se emiten las llamadas a la API. El flujo de compra usará esta cuenta automáticamente.

  15. ¿Puede un juego admitir el SDK para PC y los sistemas de pago heredados al mismo tiempo?

    El sistema de pagos funciona con un modelo de flujo doble según la versión binaria del juego. Los usuarios de compilaciones heredadas continúan en el flujo existente, y los usuarios de compilaciones nuevas realizan la transición a los pagos basados en el SDK. Los usuarios de ambos flujos de pago coexisten durante el período de transición.

Windows App Bundle

  1. Cuando se envía un WAB con un selector de terceros, ¿se requiere el paquete del juego para la revisión?

    Solo puedes enviar el instalador y no es necesario que envíes todo el paquete del juego. El revisor podrá descargar el paquete del juego con el instalador.

  2. ¿Hay alguna limitación en el tamaño de los archivos WAB?

    En el caso de Installer Publishing, puedes subir un archivo de hasta 10 GB para un WAB. Para la publicación administrada de Play, el límite de tamaño máximo de los archivos WAB es de 200 GB.

  3. ¿Por qué mi juego no se instala ni aparece después de subir mi WAB?

    Si tu juego se está incorporando sin una versión para PC preexistente (un "WAB por primera vez"), es posible que el sistema lo coloque automáticamente en un estado de retención de publicación administrada. Esto sucede porque no hay un modelo de referencia existente para actualizar. Para lanzar por completo el WAB y que el juego esté disponible para su instalación, debes navegar a Google Play Console y ejecutar de forma manual la acción de publicación requerida (por ejemplo, hacer clic en "Publicar cambios").

  4. ¿Cómo subo el WAB para realizar pruebas internas?

    Comparte las cuentas de la lista de entidades permitidas con Google para que pueda habilitarlas para las pruebas internas. Una vez que Google tiene la lista, se asegura de que se incluyan en el proceso de incorporación.

  5. ¿Dónde se debe subir el paquete de WAB?

    Puedes subir el paquete de WAB en la ubicación que se menciona en la primera pregunta. Sin embargo, no puedes publicarla de forma manual. Debes proporcionar al personal de backend de Google una hora UTC precisa (hasta la hora). Luego, Google configura el programa de lanzamientos y se asegura de que se publique a tiempo.

SDK para PC

  1. ¿Cuáles son las diferencias entre la API heredada y el SDK de Google Play Juegos para PC?

    • La API heredada solo ofrece funciones de facturación.
    • El SDK para PC admite el Servicio de Google para computadoras (GDS) y todas las funciones para PC.
    • No se requiere el Acceso con Google basado en el navegador con el SDK para PC.
  2. ¿Existe una forma alternativa de inicializar el SDK iniciando el juego directamente con el selector de juegos, sin pasar por Google Play Juegos para PC?

    Tu juego se debe iniciar a través del cliente de Google Play Juegos para PC. Para obtener más detalles, consulta este documento para desarrolladores.

  3. ¿El SDK de PC admite caracteres multibyte en el archivo de certificación PEM?

    Sí, el SDK admite caracteres multibyte para la certificación.

  4. ¿Cómo controla el SDK el acceso a la Cuenta de Google para varias instancias o cuentas?

    Cada inicio de juego en Google Play Juegos se trata como una "sesión de juego", y cada "sesión de juego" puede tener una cuenta asociada. Pueden ser diferentes. Por lo tanto, si inicias el juego con la cuenta A y, luego, cambias a la cuenta B y vuelves a iniciarlo, ambos pueden ejecutarse al mismo tiempo.

  5. ¿La integración de Play Install Referrer funciona con el SDK para PC?

    El SDK de PC (25.5.409.0 y versiones posteriores) admite la API de Play Install Referrer. Para obtener más información, consulta la API de Play Install Referrer.

Launcher

  1. Si un jugador usa un launcher de terceros en lugar del cliente de Google Play, ¿se sincronizará automáticamente su cuenta de Servicios de Play Games?

    Para que las funciones del SDK operen, el juego debe iniciarse directamente a través del cliente de Google Play Juegos. Si otro proceso, como un instalador o una aplicación de selector, inicia el juego, ese proceso debe iniciarse desde el cliente de Google Play Juegos. El juego debe pasar todos los parámetros recibidos del cliente al proceso del cliente.

  2. ¿Cómo controlo la inicialización si Google Play Juegos inicia un selector de juegos de terceros?

    No es necesario que integres el SDK directamente en tu selector. Sin embargo, debes pasar todos los argumentos de línea de comandos que recibe el selector del cliente de Google Play Juegos directamente al proceso secundario generado (el ejecutable del juego). Si la inicialización falla (por ejemplo, si se devuelve kActionRequiredShutdownClientProcess), se deben finalizar todos los procesos, incluido el selector, para que Google Play Juegos pueda intentar recuperar y reiniciar el juego automáticamente. Para obtener más detalles, consulta el paso 5 de la guía de configuración.

  3. ¿Cómo puedo administrar las actualizaciones y el mantenimiento de mi juego y el selector después de que esté en producción?

    Las actualizaciones y el mantenimiento posteriores deben implementarse a través de tu selector. El cliente de Google Play Juegos no admite funciones de actualización, por lo que el selector debe poder actualizar tanto el juego como el selector.

  4. ¿Cómo recibe el instalador el token de sesión de GPG para la reproducción automática?

    GPG pasa el token de sesión al instalador con el argumento de línea de comandos --g_session_token=<token>. Para habilitar esto, debes configurar acceptsCommandLineArguments="true" en tu play_publishing_config.xml.

    El instalador es responsable de extraer este token y usarlo para iniciar el juego. Si falla la generación del token, GPG inicia el instalador sin el token (resguardo).

Inicialización

  1. Cuando inicio un juego con la app de Google Play Juegos, ¿se sincronizan los detalles de mi Cuenta de Google?

    Después de iniciar el juego a través del cliente de Google Play Juegos, la cuenta se sincroniza automáticamente y no es necesario volver a acceder a través del proceso de acceso de Google.

  2. ¿Es posible reutilizar los parámetros de inicialización varias veces?

    Esto es posible siempre que el cliente de Google Play Juegos esté en ejecución y la información de acceso sea válida. Sin embargo, en situaciones como la que se describe en la guía, todos los procesos que inicia el juego deben finalizar cuando el usuario cierra el juego o este se cierra debido a un error de inicialización del SDK, como kActionRequiredShutdownClientProcess.

  3. ¿Hay alguna forma de crear un acceso directo para abrir el juego directamente?

    Puedes usar el siguiente URI para abrir el juego directamente:

    googleplaygames://launch/?pid=2&id=com.company.gamename

    El URI admite la detección de si el cliente de Google Play Juegos para PC está abierto. Si el cliente no está abierto, se abrirá el cliente de Google Play Juegos antes de que se ejecute el juego o el selector. Debes administrar el juego o el selector para evitar que se ejecuten varias instancias.

  4. ¿Hay alguna manera de verificar la instalación de Google Play Juegos para PC sin usar el SDK?

    Para verificar el estado de la instalación de Google Play Juegos para PC sin integrar el SDK, comprueba la presencia de la siguiente clave de registro de Windows:

    HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Services

    La presencia de esta clave indica que los Servicios de juego de Google Play (necesarios para ejecutar juegos en PC) están instalados en la máquina. Si falta la clave, debes dirigir al usuario a la página de instalación de Google Play Juegos para PC para que descargue e instale el cliente.

Pruebas

  1. ¿Hay entornos de pruebas abiertas o cerradas similares a los de los dispositivos móviles?

    Si bien no hay una zona de pruebas dedicada de extremo a extremo, reconocemos la necesidad de un entorno de pruebas similar al de producción para los desarrolladores. Pronto se ofrecerá una solución más sólida.

  2. ¿Cómo puedo agregar verificadores nuevos?

    Tu punto de contacto de Google crea un grupo de correo electrónico para cada proyecto de PC, en el que se deben agregar las Cuentas de Google de los verificadores. Solo los miembros de este grupo de correo electrónico están autorizados para descargar los paquetes de prueba en Google Play Juegos.

Varios

  1. ¿Puedo usar una VPN?

    En el caso de los desarrolladores que necesitan probar su juego en regiones en las que no se admite Google Play Juegos para PC, recomendamos que usen una VPN para obtener una dirección IP de una región admitida.

    Asegúrate de habilitar el modo TUN en la VPN. Puedes encontrar orientación para habilitar el modo TUN y configurar el firewall en el manual de operaciones del proveedor de VPN.

    Después de habilitar el modo TUN, instala Google Play Juegos para PC y el emulador para realizar pruebas.

  2. ¿Cómo puedo comenzar a desarrollar para Google Play Juegos para PC en Unity o UE Editor?

  3. ¿Cómo puedo usar las claves de registro correctamente?

    Debes crear claves de registro basadas en la sección raíz. Puedes establecer la sección raíz como HKEY_LOCAL_MACHINE o HKEY_CURRENT_USER según tu propósito y la naturaleza de los datos. La colmena HKEY_LOCAL_MACHINE se usa como ejemplo en los lineamientos.

  4. ¿Cuáles son los requisitos para que Google revise los paquetes para PC?

    Los paquetes para PC se someten a una detección de malware, después de la cual los revisores prueban solo los procesos de instalación, inicio correcto y desinstalación del juego.

  5. ¿Es necesario integrar todas las APIs?

    No se requieren otras APIs, pero ofrecen beneficios adicionales. google::play::billing es obligatorio para las compras directas desde la app y la venta de contenido digital. google::play::install_referrer es necesario para hacer un seguimiento de los datos de referencia y ayudarte a comprender qué fuentes de tráfico envían la mayor cantidad de usuarios para que descarguen tu app. google::play::games::integrity es necesario para proteger tu app de agentes que actúan de mala fe, ya que detecta dispositivos potencialmente riesgosos y emuladores desconocidos.

  6. ¿Por qué algunos procesos de juego finalizan cuando se cierra el cliente de Google Play Juegos, mientras que otros no?

    Google no controla los subprocesos ni los procesos del juego en ejecución. El comportamiento depende de si el juego es un juego de Android emulado o un juego para PC. Los juegos emulados se instalan dentro de su propio entorno, por lo que su comportamiento depende en gran medida de la inicialización y el cierre del emulador.

  7. ¿Debo usar la función de desinstalación de Google Play Juegos o un desinstalador personalizado?

    Google recomienda usar nuestra función de desinstalación de Google Play Juegos.

Asistencia adicional

Si necesitas más ayuda que no se incluye en estas Preguntas frecuentes, comunícate con google-play-games-pc@google.com.