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 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 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
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
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
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::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 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()