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 usando um GameServices::Builder. Quando criada, a instância não está conectada inicialmente aos Serviços relacionados a jogos. Ou seja, IsAuthorized() vai retornar "falso". Uma tentativa de login silencioso é 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 de login silencioso, qualquer interface de autenticação do usuário (por exemplo, botões de login e/ou de logout) precisa ser desativada ou oculta.
Ao concluir essa tentativa de login silencioso, o callback OnAuthActionFinished para a instância GameServices (registrada com GameServices::Builder::SetOnAuthActionFinished) será notificado. Se os argumentos do callback refletirem uma tentativa de login bem-sucedida, a instância poderá ser considerada conectada aos serviços relacionados a jogos (ou seja, IsAuthorized() vai retornar "true") e a IU de desativação será ativada. Se o argumento de callback refletir uma tentativa de login com falha, a interface de login precisa estar ativada.
A desconexão explícita pelo método SignOut() só pode ser invocada quando o usuário solicitar. Isso solicita uma transição para um estado de sessão encerrada. A conclusão dessa transição é indicada por uma invocação do callback OnAuthActionFinished. Até que esse callback seja invocado, outras APIs do GameServices (incluindo StartAuthorizationUI()) não podem ser chamadas.
Quando uma instância do GameServices é destruída, ela é bloqueada até que não haja mais operações pendentes para evitar a perda de dados. Se esse comportamento de bloqueio na destruição não for desejado, um Flush() precisa ser emitido e a instância de GameServices precisa ser mantida até que o Flush() seja concluído.
Para que o GameServices funcione corretamente em versões do Android anteriores à 4.0, a atividade proprietária precisa chamar callbacks de 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 const 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 const ao objeto EventManager usado para acessar e manipular eventos.
|
Flush(FlushCallback callback)
|
void
Limpa de forma assíncrona a fila de envio principal e retorna o status do flush para o FlushCallback fornecido.
|
FlushBlocking()
|
Limpa de forma síncrona e recebe um resultado (status) da limpeza.
|
FlushBlocking(Timeout timeout)
|
Limpa de forma síncrona e recebe um resultado (status) da limpeza.
|
IsAuthorized()
|
bool
Permite verificar explicitamente o estado atual da autorização.
|
Leaderboards()
|
Fornece uma referência ao objeto LeaderboardManager usado para acessar e manipular conquistas.
|
Leaderboards() const
|
const LeaderboardManager &
Fornece uma referência const 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 jogadores.
|
Players() const
|
const PlayerManager &
Fornece uma referência const ao objeto PlayerManager, que permite o acesso a informações sobre jogadores.
|
RealTimeMultiplayer()
|
Fornece uma referência ao objeto RealTimeMultiplayerManager, que permite o acesso a métodos relacionados ao RTMP.
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
Fornece uma referência const ao objeto RealTimeMultiplayerManager, que permite o acesso a métodos relacionados ao RTMP.
|
SignOut()
|
void
Inicia o processo de desativação assíncrona.
|
Snapshots()
|
Fornece uma referência ao objeto SnapshotManager usado para acessar e manipular snapshots.
|
Snapshots() const
|
const SnapshotManager &
Fornece uma referência const ao objeto SnapshotManager usado para acessar e manipular snapshots.
|
StartAuthorizationUI()
|
void
Mostra um fluxo de autorização de 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 const ao objeto StatsManager usado para acessar as estatísticas do jogo e do jogador.
|
TurnBasedMultiplayer()
|
Fornece uma referência ao objeto TurnBasedMultiplayerManager, que permite o acesso a métodos relacionados ao TBMP.
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
Fornece uma referência const ao objeto TurnBasedMultiplayerManager, que permite o acesso a métodos relacionados ao TBMP.
|
Video()
|
Fornece uma referência ao objeto VideoManager, que permite o acesso a métodos relacionados a vídeos.
|
Video() const
|
const VideoManager &
Fornece uma referência const ao objeto VideoManager, que permite o acesso a métodos relacionados a vídeos.
|
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 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 const 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 const ao objeto EventManager usado para acessar e manipular eventos.
Flush
void Flush( FlushCallback callback )
Limpa de forma assíncrona a fila de envio principal e retorna o status do flush para o FlushCallback fornecido.
Os status possíveis são: FLUSHED, ERROR_INTERNAL e ERROR_VERSION_UPDATE_REQUIRED.
FlushBlocking
FlushStatus FlushBlocking()
Limpa 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. Deixar esse tempo limite sem especificação faz com que essa chamada de função seja equivalente a chamar FlushStatus FlushBlocking(Timeout), com Timeout especificado como 10 anos.
FlushBlocking
FlushStatus FlushBlocking( Timeout timeout )
Limpa 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 atual da autorização.
Recomendamos que os consumidores do SDK se registrem para callbacks AUTH_ACTION_* para processar mudanças de estado de autorização em vez de fazer polling.
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 const ao objeto LeaderboardManager usado para acessar e manipular conquistas.
Players
PlayerManager & Players()
Fornece uma referência ao objeto PlayerManager, que permite o acesso a informações sobre jogadores.
Players
const PlayerManager & Players() const
Fornece uma referência const ao objeto PlayerManager, que permite o acesso a informações sobre jogadores.
RealTimeMultiplayer
RealTimeMultiplayerManager & RealTimeMultiplayer()
Fornece uma referência ao objeto RealTimeMultiplayerManager, que permite o acesso a métodos relacionados ao RTMP.
RealTimeMultiplayer
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
Fornece uma referência const ao objeto RealTimeMultiplayerManager, que permite o acesso a métodos relacionados ao RTMP.
Sair
void SignOut()
Inicia o processo de desativação assíncrona.
Depois de chamar SignOut, não chame nenhuma operação em GameServices até receber o OnAuthActionFinishedCallback indicando uma desconexão bem-sucedida.
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 const ao objeto SnapshotManager usado para acessar e manipular snapshots.
StartAuthorizationUI
void StartAuthorizationUI()
Mostra um fluxo de autorização de 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 const 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 o acesso a métodos relacionados ao TBMP.
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
Fornece uma referência const ao objeto TurnBasedMultiplayerManager, que permite o acesso a métodos relacionados ao TBMP.
Vídeo
VideoManager & Video()
Fornece uma referência ao objeto VideoManager, que permite o acesso a métodos relacionados a vídeos.
Vídeo
const VideoManager & Video() const
Fornece uma referência const ao objeto VideoManager, que permite o acesso a métodos relacionados a vídeos.
~GameServices
~GameServices()