En este documento, se responden preguntas comunes sobre los SDKs y la publicación para Google Play Juegos para PC.
¿Cómo se agrega una VPN?
Para los desarrolladores que necesitan probar su juego en regiones en las que Google Play Juegos para PC no es compatible, te recomendamos que uses una VPN para adquirir una dirección IP de una región compatible.
Asegúrate de habilitar el modo TUN en la VPN. Puedes encontrar instrucciones 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.
¿Se puede usar el flujo de compra sin un servidor backend?
Desde una perspectiva de seguridad, por lo general, no se recomienda el procesamiento sin un servidor backend.
Para obtener más información, consulta Procesar sin un servidor backend.
¿Cómo se comienza a desarrollar para Google Play Juegos para PC en Unity o el editor de UE?
- Habilita el modo para desarrolladores y continúa con las pruebas.
- Agrega los archivos
manifest.xmly.dll. Para obtener más información, consulta el documento para desarrolladores. - Registra un GUID de socio de acceso anticipado para realizar pruebas.
Cuando inicias un juego con la app de Google Play Juegos, ¿se sincronizan los detalles de tu 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.
Cuando se envía un paquete de aplicación de Windows (WAB) con un selector de 3P, ¿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 .
Si un jugador usa un selector de 3P en lugar del cliente de Google Play, ¿se sincronizará automáticamente su cuenta de Servicios de juego de Play?
Para que funcionen las funciones del SDK, 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.
¿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 iniciar, ambos pueden ejecutarse al mismo tiempo.
¿Hay alguna limitación en el tamaño de archivo de WAB (paquete de aplicación de Windows)?
Puedes subir un tamaño de archivo de hasta 10 GB para un WAB.
¿Se permiten los sistemas de pago existentes basados en la API después de integrar el SDK de Google Play Juegos para PC?
Google Play Juegos para PC SDK debe controlar todos los pagos con la Facturación Google Play. No puedes usar tu forma de pago existente basada en la API en el mismo juego.
¿Hay entornos de pruebas abiertas o cerradas similares a los dispositivos móviles?
Si bien actualmente no hay una zona de pruebas integral dedicada, reconocemos la necesidad de un entorno de pruebas similar a la producción para los desarrolladores. Pronto se ofrecerá una solución más sólida.
¿No podemos consumir correctamente las compras iniciadas en el modo para desarrolladores?
El consumo de compras en el modo para desarrolladores debe realizarse en un plazo de 3 minutos. De lo contrario, es posible que se haya reembolsado la compra.
¿Hay alguna diferencia entre la API (heredada) y el SDK de Google Play Juegos para PC?
- El sistema heredado solo se enfocaba en la facturación.
- El SDK admitirá el Servicio de escritorio de Google (GDS) y las funciones completas de la PC.
- Interfaz del SDK fácil de usar para desarrolladores
- No se necesita el acceso a Google basado en el navegador.
¿Hay una forma alternativa de inicializar el SDK iniciando el juego directamente con el selector de juegos, sin pasar por Google Play Juegos para PC?
El juego debe iniciarse a través del cliente de Google Play Juegos para PC. Para obtener más detalles, consulta el documento para desarrolladores.
No se admiten los pagos ni las suscripciones recurrentes. ¿Hay planes para implementar esto?
No hay planes para agregar esas opciones de compra más allá de la compra directa desde la aplicación. Nos gustaría recibir tus comentarios con casos de uso específicos.
¿Billingerror proviene de iniciar un flujo de compra o del resultado del pago?
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.
¿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 se abrió el cliente de Google Play Juegos para PC. 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.
Límites de solicitudes a la API de QueryProductDetails
La cantidad máxima de productos que se pueden consultar en una sola llamada a la
QueryProductDetails
API es de 50. Si superas este límite, debes dividir la solicitud en varias
llamadas.
¿Por qué mi juego no se instala ni aparece después de subir mi primer paquete de aplicación de Windows (WAB)?
Si tu juego se incorpora sin una versión para PC preexistente ("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 una línea de base existente para actualizar. Para lanzar por completo el WAB y hacer que el juego esté disponible para la instalación, debes navegar a Google Play Console y ejecutar manualmente la acción de publicación requerida (por ejemplo, hacer clic en "Publicar cambios").
¿Cómo se controla 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 la línea de comandos que recibe el selector del cliente de Google Play Juegos directamente al proceso secundario generado (el ejecutable del juego). Si falla la inicialización (por ejemplo, si se muestra 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.
¿Se espera un error de tiempo de espera si un usuario cierra el navegador sin pagar durante un flujo de compra?
Sí, este es un problema conocido y un comportamiento esperado en el flujo actual basado en el navegador. Google está trabajando activamente en una función de compra fluida (basada en WebView) que mantendrá el flujo de pago dentro del juego y resolverá este inconveniente de tiempo de espera.
¿El SDK nativo para PC admite caracteres multibyte en el archivo de certificación (PEM)?
Sí, el SDK admite caracteres multibyte para la certificación.
¿Qué parámetros se requieren cuando se llama a BillingClient::QueryPurchases o BillingClient::LaunchPurchaseFlow?
La función acepta QueryPurchasesContinuation, que es una devolución de llamada de función
con la std::function<void(QueryPurchasesResult)> firma. 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 funciones ok() y code().
La función ok() muestra si el flujo se realizó correctamente. La función code() muestra la enumeración BillingError (includes/billing/enums.h), que tiene 10 casos de error posibles, como el error de red o la cancelación del usuario.
¿Llamar a BillingClient::LaunchPurchaseFlow() admite pasar un número de pedido personalizado?
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 flujo de confirmación de la compra. Por ahora, cada SKU en Google Play tiene exactamente una oferta (por ejemplo, comprar un artículo por USD 10). En el futuro, el equipo de facturación de Play proporcionará compatibilidad con varias ofertas.
Para garantizar que los metadatos estén asociados con las interrupciones del flujo de compra, almacena los metadatos en tu servidor backend antes de iniciar el cuadro de diálogo de compra y los asocies 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 Cómo asociar una compra con datos internos.
¿Funciona la integración de Play Install Referrer?
La versión más reciente del SDK (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.
¿Un usuario debe acceder por separado a 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 volver a acceder. La cuenta que usas en Google Play Juegos cuando comienza la sesión de juego es la cuenta desde la que se emiten las llamadas a la API. Cuando inicias un flujo de compra en el navegador, debes haber accedido y usar la misma cuenta que la sesión de juego. Si el usuario accedió con una cuenta diferente, el flujo web le solicitará que cambie de cuenta.
¿Cuáles son los requisitos previos para cambiar de la facturación de Google con OAuth a la facturación nativa de Google con 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 facturación de REST (con acceso de OAuth2) al flujo del SDK puede ser una operación marcada con una función, por lo que ambas pueden coexistir durante un período mientras el juego cambia.
¿Se procesa la API de solicitud de pago (LaunchPurchaseFlow) a través de un navegador web?
Sí, por ahora se procesa a través de un navegador. Google planea completar todo el flujo sin salir del juego, lo que se puede lograr a través del SDK.
¿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, se deben finalizar todos los procesos que inicia el juego cuando el usuario cierra el juego o este sale debido a una falla de inicialización del SDK, como kActionRequiredShutdownClientProcess.
¿Se pueden usar claves de registro en HKEY_CURRENT_USER en lugar de HKEY_LOCAL_MACHINE?
Debes crear claves de registro basadas en el registro raíz. Puedes establecer el registro raíz como HKEY_LOCAL_MACHINE o HKEY_CURRENT_USER, según tu propósito y la naturaleza de los datos. El registro HKEY_LOCAL_MACHINE se usa como ejemplo en los lineamientos.
¿Un juego puede admitir el SDK nativo y los sistemas de pago heredados al mismo tiempo?
El sistema de pago 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 hacen la transición a pagos basados en el SDK. Los usuarios de ambos flujos de pago coexisten durante el período de transición.
¿Cómo se sube el WAB para las pruebas internas?
Comparte las cuentas de la lista de entidades permitidas con Google para que pueda habilitarlas para las pruebas internas. Después de que Google tenga la lista, se asegurará de que se incluyan en el proceso de incorporación.
¿Dónde se agregan 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.
¿Dónde se debe subir el paquete oficial para PC antes del lanzamiento formal?
Puedes subir el paquete WAB en la ubicación mencionada en la primera pregunta. Sin embargo, no puedes publicarlo de forma manual. Debes proporcionar al personal de backend de Google una hora UTC precisa (hasta la hora). Luego, Google configura el cronograma de lanzamiento y se asegura de que se publique a tiempo.
¿Cómo se controlan las actualizaciones y el mantenimiento después del lanzamiento oficial?
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 el juego y el selector.
¿Cuáles son los requisitos para la revisión de Google de los paquetes para PC?
Los paquetes para PC se someten a un análisis de software malicioso, después del cual los revisores solo prueban la instalación del juego, el inicio correcto y los procesos de desinstalación.
¿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 aplicación y la venta de contenido digital. google::play::install_referrer es obligatorio para hacer un seguimiento de los datos de referencia que te ayudan a comprender qué fuentes de tráfico envían la mayor cantidad de usuarios para descargar tu app. google::play::games::integrity es obligatorio para proteger tu app de los actores maliciosos mediante la detección de dispositivos potencialmente riesgosos y emuladores desconocidos.
¿Por qué se finalizan algunos procesos del juego 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 emulado de Android o un juego nativo 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.
¿Debes usar la capacidad de desinstalación de Google Play Juegos o un desinstalador personalizado?
Google recomienda usar la capacidad de desinstalación de Google Play Juegos.
¿Se puede usar la compra del cliente para Google Play Juegos para PC?
Google recomienda usar la compra del servidor y su proceso de verificación. Para procesar compras desde tu app cliente, el 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 Procesar sin un servidor backend.