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