gpg::GameServices

#include <game_services.h>

El punto de partida para interactuar con Google Play Juegos.

Resumen

Ciclo de vida de los servicios de juego

Se crea una instancia de la clase GameServices a través de un GameServices::Builder. Cuando se crea, la instancia no accede inicialmente a los servicios de juego (es decir, IsAuthorized() muestra falso). Se inicia un intento de acceso silencioso en segundo plano, que puede completarse si un usuario accedió al final de una sesión anterior. Hasta que finalice este intento de acceso silencioso, cualquier IU de autenticación de usuario (por ejemplo, los botones para acceder o salir) debe estar oculta o inhabilitada.

Cuando finalice este intento de acceso silencioso, se notificará la devolución de llamada OnAuthActionFinished para la instancia GameServices (registrada con GameServices::Builder::SetOnAuthActionFinished). Si los argumentos de devolución de llamada reflejan un intento de acceso exitoso, se puede suponer que la instancia está conectada a servicios de juego (es decir, IsAuthorized() mostrará un valor verdadero) y que la IU de cierre de sesión debe estar habilitada. Si el argumento de devolución de llamada refleja un intento de acceso fallido, se debe habilitar la IU de acceso.

El cierre de sesión explícito a través del método SignOut() solo se debe invocar si el usuario lo solicita. Esta acción solicita una transición a un estado de salida de la cuenta. La finalización de esta transición se indica mediante una invocación de la devolución de llamada OnAuthActionFinished. Hasta que se invoque esta devolución de llamada, no se deberá llamar a otras APIs de GameServices (incluida StartAuthorizationUI()).

Cuando se destruye una instancia de GameServices, se bloquea hasta que no haya operaciones pendientes para evitar la pérdida de datos. Si este comportamiento de bloqueo durante la destrucción no es el deseado, se debe emitir una instancia de Flush(), y la instancia de GameServices debe mantenerse activa hasta que se complete la de Flush().

Para que GameServices funcione correctamente en versiones de Android anteriores a la 4.0, la actividad propietaria debe llamar a devoluciones de llamada de ciclo de vida. Consulta AndroidSupport.

Constructores y destructores

GameServices()
~GameServices()

Tipos públicos

FlushCallback typedef
std::function< void(FlushStatus)>
Define un tipo de devolución de llamada que recibe el resultado (estado) de una operación de limpieza.

Funciones públicas

Achievements()
Proporciona una referencia al objeto AchievementManager que se utiliza para acceder a los logros y manipularlos.
Achievements() const
Proporciona una referencia constante al objeto AchievementManager que se utiliza para acceder a los logros y manipularlos.
Events()
Proporciona una referencia al objeto EventManager que se utiliza para acceder a eventos y manipularlos.
Events() const
const EventManager &
Proporciona una referencia constante al objeto EventManager que se usa para acceder a eventos y manipularlos.
Flush(FlushCallback callback)
void
Limpia de manera asíncrona la cola de envío principal y muestra el estado de la limpieza al FlushCallback proporcionado.
FlushBlocking()
Limpia de manera síncrona y obtiene un resultado (estado) del vaciado.
FlushBlocking(Timeout timeout)
Limpia de manera síncrona y obtiene un resultado (estado) del vaciado.
IsAuthorized()
bool
Te permite verificar de forma explícita el estado de autorización actual.
Leaderboards()
Proporciona una referencia al objeto LeaderboardManager que se usa para acceder a los logros y manipularlos.
Leaderboards() const
Proporciona una referencia constante al objeto LeaderboardManager que se usa para acceder a los logros y manipularlos.
Players()
Proporciona una referencia al objeto PlayerManager, que permite acceder a información sobre los jugadores.
Players() const
const PlayerManager &
Proporciona una referencia constante al objeto PlayerManager, que permite acceder a información sobre jugadores.
RealTimeMultiplayer()
Proporciona una referencia al objeto RealTimeMultiplayerManager, que permite el acceso a métodos relacionados con RTMP.
RealTimeMultiplayer() const
Proporciona una referencia constante al objeto RealTimeMultiplayerManager, que permite el acceso a métodos relacionados con RTMP.
SignOut()
void
Inicia el proceso de cierre de sesión asíncrono.
Snapshots()
Proporciona una referencia al objeto SnapshotManager que se usa para acceder a instantáneas y manipularlas.
Snapshots() const
const SnapshotManager &
Proporciona una referencia constante al objeto SnapshotManager que se usa para acceder a las instantáneas y manipularlas.
StartAuthorizationUI()
void
Abre un flujo de autorización de usuario específico de la plataforma.
Stats()
Proporciona una referencia al objeto StatsManager que se usa para acceder a las estadísticas de juegos y jugadores.
Stats() const
const StatsManager &
Proporciona una referencia constante al objeto StatsManager que se usa para acceder a las estadísticas del juego y del jugador.
TurnBasedMultiplayer()
Proporciona una referencia al objeto TurnBasedMultiplayerManager, que permite el acceso a métodos relacionados con TBMP.
TurnBasedMultiplayer() const
Proporciona una referencia const al objeto TurnBasedMultiplayerManager, que permite el acceso a métodos relacionados con TBMP.
Video()
Proporciona una referencia al objeto VideoManager, que permite el acceso a métodos relacionados con videos.
Video() const
const VideoManager &
Proporciona una referencia constante al objeto VideoManager, que permite el acceso a métodos relacionados con videos.

Clases

gpg::GameServices::Builder

Se usa para crear y configurar una instancia de la clase GameServices.

Tipos públicos

FlushCallback

std::function< void(FlushStatus)> FlushCallback

Define un tipo de devolución de llamada que recibe el resultado (estado) de una operación de limpieza.

Se usa en Flush().

Funciones públicas

Logros

AchievementManager & Achievements()

Proporciona una referencia al objeto AchievementManager que se utiliza para acceder a los logros y manipularlos.

Logros

const AchievementManager & Achievements() const 

Proporciona una referencia constante al objeto AchievementManager que se utiliza para acceder a los logros y manipularlos.

Eventos

EventManager & Events()

Proporciona una referencia al objeto EventManager que se utiliza para acceder a eventos y manipularlos.

Eventos

const EventManager & Events() const 

Proporciona una referencia constante al objeto EventManager que se usa para acceder a eventos y manipularlos.

Vaciado

void Flush(
  FlushCallback callback
)

Limpia de manera asíncrona la cola de envío principal y muestra el estado de la limpieza al FlushCallback proporcionado.

Los estados posibles son FLUSHED, ERROR_INTERNAL y ERROR_VERSION_UPDATE_REQUIRED.

FlushBlocking

FlushStatus FlushBlocking()

Limpia de manera síncrona y obtiene un resultado (estado) del vaciado.

Los estados posibles son FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED y ERROR_TIMEOUT. Si no especificas este tiempo de espera, la llamada a función será equivalente a llamar a FlushBlocking(Timeout) de FlushStatus con el tiempo de espera especificado en 10 años.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Limpia de manera síncrona y obtiene un resultado (estado) del vaciado.

Los estados posibles son FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED y ERROR_TIMEOUT. Especifica el tiempo de espera como una cantidad arbitraria de milisegundos.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

Te permite verificar de forma explícita el estado de autorización actual.

Se recomienda a los consumidores de SDK que se registren para recibir devoluciones de llamada AUTH_ACTION_* para controlar los cambios de estado de la autorización, en lugar de sondeos.

Tablas de clasificación

LeaderboardManager & Leaderboards()

Proporciona una referencia al objeto LeaderboardManager que se usa para acceder a los logros y manipularlos.

Tablas de clasificación

const LeaderboardManager & Leaderboards() const 

Proporciona una referencia constante al objeto LeaderboardManager que se usa para acceder a los logros y manipularlos.

Jugadores

PlayerManager & Players()

Proporciona una referencia al objeto PlayerManager, que permite acceder a información sobre los jugadores.

Jugadores

const PlayerManager & Players() const 

Proporciona una referencia constante al objeto PlayerManager, que permite acceder a información sobre jugadores.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

Proporciona una referencia al objeto RealTimeMultiplayerManager, que permite el acceso a métodos relacionados con RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

Proporciona una referencia constante al objeto RealTimeMultiplayerManager, que permite el acceso a métodos relacionados con RTMP.

SignOut

void SignOut()

Inicia el proceso de cierre de sesión asíncrono.

Después de llamar a SignOut, no debes llamar a ninguna operación en GameServices hasta que recibas el OnAuthActionFinishedCallback que indica un cierre de sesión exitoso.

Instantáneas

SnapshotManager & Snapshots()

Proporciona una referencia al objeto SnapshotManager que se usa para acceder a instantáneas y manipularlas.

Instantáneas

const SnapshotManager & Snapshots() const 

Proporciona una referencia constante al objeto SnapshotManager que se usa para acceder a las instantáneas y manipularlas.

StartAuthorizationUI

void StartAuthorizationUI()

Abre un flujo de autorización de usuario específico de la plataforma.

Estadísticas

StatsManager & Stats()

Proporciona una referencia al objeto StatsManager que se usa para acceder a las estadísticas de juegos y jugadores.

Estadísticas

const StatsManager & Stats() const 

Proporciona una referencia constante al objeto StatsManager que se usa para acceder a las estadísticas del juego y del jugador.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

Proporciona una referencia al objeto TurnBasedMultiplayerManager, que permite el acceso a métodos relacionados con TBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

Proporciona una referencia const al objeto TurnBasedMultiplayerManager, que permite el acceso a métodos relacionados con TBMP.

Video

VideoManager & Video()

Proporciona una referencia al objeto VideoManager, que permite el acceso a métodos relacionados con videos.

Video

const VideoManager & Video() const 

Proporciona una referencia constante al objeto VideoManager, que permite el acceso a métodos relacionados con videos.

~Servicios de juego

 ~GameServices()