gpg::GameServices

#include <game_services.h>

O ponto de partida para interagir com o Google Play Games.

Resumo

Ciclo de vida dos serviços relacionados a jogos

Uma instância da classe GameServices é criada por um GameServices::Builder. Quando criada, a instância não está inicialmente conectada aos serviços relacionados a jogos (ou seja, IsAuthorized() retorna "false"). Uma tentativa de login silenciosa é iniciada em segundo plano e pode ser bem-sucedida se um usuário tiver feito login ao final de uma sessão anterior. Até a conclusão dessa tentativa silenciosa de login, qualquer interface de autenticação do usuário (por exemplo, botões de login e/ou logout) deverá ser desativada ou ocultada.

Após a conclusão dessa tentativa de login silencioso, o callback OnAuthActionFinished para a instância de GameServices (registrado em GameServices::Builder::SetOnAuthActionFinished) será notificado. Se os argumentos do callback refletirem uma tentativa de login bem-sucedida, presume-se que a instância está conectada aos serviços relacionados a jogos (ou seja, IsAuthorized() retornará verdadeiro) e a interface de logout deve estar ativada. Se o argumento de callback refletir uma tentativa de login malsucedida, a interface de login precisará ser ativada.

O logout explícito por meio do método SignOut() deve ser invocado somente quando solicitado pelo usuário. Isso solicita uma transição para um estado desconectado. A conclusão dessa transição é indicada pela invocação da chamada de retorno OnAuthActionFinished. Até que esse callback seja invocado, outras APIs GameServices (incluindo StartAuthorizationUI()) não devem ser chamadas.

Quando uma instância GameServices é destruída, ela fica bloqueada até que não haja operações pendentes para evitar a perda de dados. Se esse comportamento de bloqueio na destruição não for desejado, um Flush() precisará ser emitido, e a instância GameServices precisará ser mantida ativa até que o Flush() seja concluído.

Para que os GameServices funcionem corretamente nas versões do Android anteriores à 4.0, a atividade proprietária precisa chamar callbacks do ciclo de vida. Consulte AndroidSupport.

Construtores e destruidores

GameServices()
~GameServices()

Tipos públicos

FlushCallback typedef
std::function< void(FlushStatus)>
Define um tipo de retorno de chamada que recebe o resultado (status) de uma operação de limpeza.

Funções públicas

Achievements()
Fornece uma referência ao objeto AchievementManager usado para acessar e manipular conquistas.
Achievements() const
Fornece uma referência constante ao objeto AchievementManager usado para acessar e manipular conquistas.
Events()
Fornece uma referência ao objeto EventManager usado para acessar e manipular eventos.
Events() const
const EventManager &
Fornece uma referência constante ao objeto EventManager usado para acessar e manipular eventos.
Flush(FlushCallback callback)
void
Limpa de maneira assíncrona a fila de despacho principal e retorna o status da liberação para o FlushCallback fornecido.
FlushBlocking()
Libera de forma síncrona e recebe um resultado (status) da limpeza.
FlushBlocking(Timeout timeout)
Libera de forma síncrona e recebe um resultado (status) da limpeza.
IsAuthorized()
bool
Permite verificar explicitamente o estado da autorização atual.
Leaderboards()
Fornece uma referência ao objeto LeaderboardManager usado para acessar e manipular conquistas.
Leaderboards() const
Fornece uma referência constante ao objeto LeaderboardManager usado para acessar e manipular conquistas.
Players()
Fornece uma referência ao objeto PlayerManager, que permite o acesso a informações sobre os jogadores.
Players() const
const PlayerManager &
Fornece uma referência constante ao objeto PlayerManager, que permite o acesso a informações sobre os jogadores.
RealTimeMultiplayer()
Fornece uma referência ao objeto RealTimeMultiplayerManager, que permite acesso a métodos relacionados a RTMP.
RealTimeMultiplayer() const
Fornece uma referência constante ao objeto RealTimeMultiplayerManager, que permite acesso a métodos relacionados a RTMP.
SignOut()
void
Inicia o processo de logout assíncrono.
Snapshots()
Fornece uma referência ao objeto SnapshotManager usado para acessar e manipular snapshots.
Snapshots() const
const SnapshotManager &
Fornece uma referência constante ao objeto SnapshotManager usado para acessar e manipular snapshots.
StartAuthorizationUI()
void
Apresenta um fluxo de autorização do usuário específico da plataforma.
Stats()
Fornece uma referência ao objeto StatsManager usado para acessar as estatísticas do jogo e do jogador.
Stats() const
const StatsManager &
Fornece uma referência constante ao objeto StatsManager usado para acessar as estatísticas do jogo e do jogador.
TurnBasedMultiplayer()
Fornece uma referência ao objeto TurnBasedMultiplayerManager, que permite acesso a métodos relacionados a TBMP.
TurnBasedMultiplayer() const
Fornece uma referência constante ao objeto TurnBasedMultiplayerManager, que permite acesso a métodos relacionados ao TBMP.
Video()
Fornece uma referência ao objeto VideoManager, que permite acesso a métodos relacionados ao vídeo.
Video() const
const VideoManager &
Fornece uma constante referência ao objeto VideoManager, que permite acesso a métodos relacionados ao vídeo.

Classes

gpg::GameServices::Builder

Usado para criar e configurar uma instância da classe GameServices.

Tipos públicos

FlushCallback

std::function< void(FlushStatus)> FlushCallback

Define um tipo de retorno de chamada que recebe o resultado (status) de uma operação de limpeza.

Usado em Flush().

Funções públicas

Conquistas

AchievementManager & Achievements()

Fornece uma referência ao objeto AchievementManager usado para acessar e manipular conquistas.

Conquistas

const AchievementManager & Achievements() const 

Fornece uma referência constante ao objeto AchievementManager usado para acessar e manipular conquistas.

Eventos

EventManager & Events()

Fornece uma referência ao objeto EventManager usado para acessar e manipular eventos.

Eventos

const EventManager & Events() const 

Fornece uma referência constante ao objeto EventManager usado para acessar e manipular eventos.

Flush

void Flush(
  FlushCallback callback
)

Limpa de maneira assíncrona a fila de despacho principal e retorna o status da liberação para o FlushCallback fornecido.

Os status possíveis são: FLUSHED, ERROR_INTERNAL e ERROR_VERSION_UPDATE_REQUIRED.

FlushBlocking

FlushStatus FlushBlocking()

Libera de forma síncrona e recebe um resultado (status) da limpeza.

Os status possíveis são: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED e ERROR_TIMEOUT. Se esse tempo limite não for especificado, essa chamada de função será equivalente a chamar o FlushStatus FlushBlocking(Timeout), com o tempo limite especificado como 10 anos.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Libera de forma síncrona e recebe um resultado (status) da limpeza.

Os status possíveis são: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED e ERROR_TIMEOUT. Especifique o tempo limite como um número arbitrário de milissegundos.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

Permite verificar explicitamente o estado da autorização atual.

Os consumidores do SDK são incentivados a se registrar para callbacks AUTH_ACTION_* para lidar com alterações de estado de autorização, em vez de pesquisa.

Placares

LeaderboardManager & Leaderboards()

Fornece uma referência ao objeto LeaderboardManager usado para acessar e manipular conquistas.

Placares

const LeaderboardManager & Leaderboards() const 

Fornece uma referência constante ao objeto LeaderboardManager usado para acessar e manipular conquistas.

Jogadores

PlayerManager & Players()

Fornece uma referência ao objeto PlayerManager, que permite o acesso a informações sobre os jogadores.

Jogadores

const PlayerManager & Players() const 

Fornece uma referência constante ao objeto PlayerManager, que permite o acesso a informações sobre os jogadores.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

Fornece uma referência ao objeto RealTimeMultiplayerManager, que permite acesso a métodos relacionados a RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

Fornece uma referência constante ao objeto RealTimeMultiplayerManager, que permite acesso a métodos relacionados a RTMP.

SignOut

void SignOut()

Inicia o processo de logout assíncrono.

Depois de chamar SignOut, não chame nenhuma operação no GameServices até receber o OnAuthActionFinishedCallback, que indica um logout bem-sucedido.

Snapshots

SnapshotManager & Snapshots()

Fornece uma referência ao objeto SnapshotManager usado para acessar e manipular snapshots.

Snapshots

const SnapshotManager & Snapshots() const 

Fornece uma referência constante ao objeto SnapshotManager usado para acessar e manipular snapshots.

StartAuthorizationUI

void StartAuthorizationUI()

Apresenta um fluxo de autorização do usuário específico da plataforma.

Estatísticas

StatsManager & Stats()

Fornece uma referência ao objeto StatsManager usado para acessar as estatísticas do jogo e do jogador.

Estatísticas

const StatsManager & Stats() const 

Fornece uma referência constante ao objeto StatsManager usado para acessar as estatísticas do jogo e do jogador.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

Fornece uma referência ao objeto TurnBasedMultiplayerManager, que permite acesso a métodos relacionados a TBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

Fornece uma referência constante ao objeto TurnBasedMultiplayerManager, que permite acesso a métodos relacionados ao TBMP.

Vídeo

VideoManager & Video()

Fornece uma referência ao objeto VideoManager, que permite acesso a métodos relacionados ao vídeo.

Vídeo

const VideoManager & Video() const 

Fornece uma constante referência ao objeto VideoManager, que permite acesso a métodos relacionados ao vídeo.

~GameServices

 ~GameServices()