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 com um GameServices::Builder. Quando criada, a instância não está inicialmente conectada aos serviços relacionados a jogos, ou seja, IsAuthorized() retorna falso. Uma tentativa de login silenciosa é iniciada em segundo plano e pode ser bem-sucedida se um usuário tiver feito login no 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) deve estar desativada ou ocultada.

Quando você concluir essa tentativa de login silenciosa, o callback OnAuthActionFinished para a instância GameServices (registrado em GameServices::Builder::SetOnAuthActionFinished) será notificado. Se os argumentos de callback refletirem uma tentativa de login bem-sucedida, será possível presumir que a instância está conectada aos serviços relacionados a jogos (ou seja, IsAuthorized() retorna verdadeiro), e a IU de logout precisa estar ativada. Se o argumento do callback refletir uma tentativa de login com falha, a interface de login precisará ser ativada.

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

Quando uma instância de GameServices é destruída, ela é 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 o desejado, um Flush() deverá ser emitido e a instância de GameServices deverá ser mantida ativa até que o Flush() seja concluído.

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

Construtores e destrutores

GameServices()
~GameServices()

Tipos públicos

FlushCallback typedef
std::function< void(FlushStatus)>
Define um tipo de callback 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 envios principal e retorna o status da limpeza para o FlushCallback fornecido.
FlushBlocking()
Limpeza síncrona e recebe um resultado (status) da limpeza.
FlushBlocking(Timeout timeout)
Limpeza 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 acesso a informações sobre os jogadores.
Players() const
const PlayerManager &
Fornece uma referência constante ao objeto PlayerManager, que permite acesso a informações sobre os jogadores.
RealTimeMultiplayer()
Fornece uma referência ao objeto RealTimeMultiplayerManager, que permite o acesso aos métodos relacionados ao RTMP.
RealTimeMultiplayer() const
Fornece uma referência constante ao objeto RealTimeMultiplayerManager, que permite acesso aos métodos relacionados ao 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
Mostra um fluxo de autorização do usuário específico da plataforma.
Stats()
Fornece uma referência ao objeto StatsManager usado para acessar estatísticas de jogos e jogadores.
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 aos métodos relacionados ao TBMP.
TurnBasedMultiplayer() const
Fornece uma referência constante ao objeto TurnBasedMultiplayerManager, que permite acesso aos métodos relacionados ao TBMP.
Video()
Fornece uma referência ao objeto VideoManager, que permite acesso a métodos relacionados a vídeo.
Video() const
const VideoManager &
Fornece uma referência constante ao objeto VideoManager, que permite acesso a métodos relacionados a vídeo.

Aulas

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 callback 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 envios principal e retorna o status da limpeza para o FlushCallback fornecido.

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

FlushBlocking

FlushStatus FlushBlocking()

Limpeza 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 FlushBlocking(Timeout) do FlushStatus, com o tempo limite especificado como 10 anos.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Limpeza 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. Especifica 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 nos callbacks AUTH_ACTION_* para processar alterações de estado de autorização, em vez de pesquisar.

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 acesso a informações sobre os jogadores.

Jogadores

const PlayerManager & Players() const 

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

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

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

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

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

SignOut

void SignOut()

Inicia o processo de logout assíncrono.

Depois de chamar o SignOut, não chame nenhuma operação em GameServices até que você receba o OnAuthActionFinishedCallback indicando 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()

Mostra 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 estatísticas de jogos e jogadores.

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 aos métodos relacionados ao TBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

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

Video

VideoManager & Video()

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

Video

const VideoManager & Video() const 

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

~Serviços relacionados a jogos

 ~GameServices()