SDK de Google Play Juegos para C++

Resumen

Organización

El punto de entrada principal para la funcionalidad de los Servicios de juego de Play es la clase GameServices. Las instancias de GameServices se crean con GameServices::Builder. Consulta GameServices.

Los métodos que acceden o modifican el estado de toda la sesión de GameServices se encuentran en la propia clase GameServices.

Otras funciones se dirigen de forma indirecta a través de un conjunto de administradores por función. Estos administradores agrupan funciones relacionadas y no contienen un estado visible para el usuario. Los administradores se devuelven como referencia y tienen una vida útil controlada por la instancia de GameServices que los contiene. Por lo tanto, el código del cliente nunca debe conservar una referencia de administrador, sino que debe conservar la instancia de GameServices. Consulta Administradores.

Los datos se devuelven a través de objetos de tipo de valor inmutable. Estos valores reflejan una vista constante de los datos subyacentes en el momento en que se realizó la consulta. Consulta Tipos de valores.

Modelo de subprocesos

A menos que se indique lo contrario, todos los métodos de GameServices y del administrador son asíncronos y seguros para subprocesos. Se los puede llamar en cualquier subproceso sin bloqueo externo y se ejecutarán en un orden coherente con el orden de invocación. En general, los métodos de mutación (los que cambian de estado) usan un modelo de activación y recuperación. Los métodos de descriptores de acceso (aquellos que leen el estado) se encuentran disponibles en dos variantes principales. La primera variante (con nombres como GetProperty) suministra de forma asíncrona sus resultados a una devolución de llamada proporcionada; la segunda variante (con nombres como GetPropertyBlocking) devuelve de forma asíncrona sus resultados al subproceso que realizó la llamada. Los accesores ven los resultados de todos los modificadores a los que se les llamó anteriormente. Sin embargo, es posible que el modificador haya modificado o no el estado remoto de los Servicios de juegos en un momento determinado.

Todas las devoluciones de llamada del usuario (ya sean devoluciones de llamada únicas proporcionadas como argumentos a métodos de acceso o devoluciones de llamada de uso múltiple configuradas en el tiempo de compilación de GameServices) se invocan en un subproceso de devolución de llamada exclusivo. Este subproceso es potencialmente distinto a cualquier concepto de plataforma de un "subproceso principal" o "subproceso de IU". Las devoluciones de llamada del usuario deben ejecutarse rápidamente, ya que un subproceso de devolución de llamada detenido puede causar problemas visibles para el usuario (por ejemplo, demoras en la ejecución de una solicitud de salida de la cuenta).

Las propiedades de los tipos de valores inmutables están disponibles de forma síncrona y sin bloqueos.