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
|
typedefstd::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
|
const AchievementManager &
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
|
const LeaderboardManager &
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
|
const RealTimeMultiplayerManager &
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
|
const TurnBasedMultiplayerManager &
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:: |
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()