gpg::GameServices

#include <game_services.h>

Il punto di partenza per interagire con Google Play Giochi.

Riepilogo

Ciclo di vita dei servizi per i giochi

Un'istanza della classe GameServices viene creata tramite GameServices::Builder. Una volta creata, l'istanza inizialmente non ha eseguito l'accesso ai Servizi di giochi (in altre parole, IsAuthorized() restituisce il valore false). Un tentativo di accesso silenzioso viene avviato in background e potrebbe avere esito positivo se un utente ha eseguito l'accesso al termine di una sessione precedente. Fino al completamento di questo tentativo di accesso automatico, qualsiasi interfaccia utente di autenticazione utente (ad esempio, i pulsanti di accesso e/o uscita) dovrebbe essere disattivata o nascosta.

Al termine di questo tentativo di accesso silenzioso, verrà inviata una notifica al callback OnAuthActionFinished per l'istanza GameServices (registrata con GameServices::Builder::SetOnAuthActionFinished). Se gli argomenti di callback riflettono un tentativo di accesso riuscito, si può presumere che l'istanza sia connessa ai servizi di giochi (in altre parole, IsAuthorized() restituirà true) e l'interfaccia utente di uscita deve essere abilitata. Se l'argomento di callback riflette un tentativo di accesso non riuscito, la UI di accesso deve essere abilitata.

La disconnessione esplicita tramite il metodo SignOut() deve essere richiamata solo su richiesta dell'utente. Questa operazione richiede la transizione a uno stato disconnesso. Il completamento di questa transizione è indicato dalla chiamata del callback OnAuthActionFinished. Finché non verrà richiamato il callback, non dovresti chiamare altre API GameServices (inclusa StartAuthorizationUI()).

Quando un'istanza GameServices viene distrutta, viene bloccata fino a quando non ci sono operazioni in attesa per evitare la perdita di dati. Se questo comportamento di blocco in caso di distruzione non è desiderato, è necessario inviare una funzione Flush() e l'istanza GameServices deve essere mantenuta attiva fino al completamento di Flush().

Affinché GameServices funzioni correttamente sulle versioni di Android precedenti alla 4.0, l'attività proprietaria deve chiamare i callback del ciclo di vita. Vedi AndroidSupport.

Costruttori e distruttori

GameServices()
~GameServices()

Tipi pubblici

FlushCallback typedef
std::function< void(FlushStatus)>
Definisce un tipo di callback che riceve il risultato (stato) di un'operazione di svuotamento.

Funzioni pubbliche

Achievements()
Fornisce un riferimento all'oggetto AchievementManager utilizzato per accedere e modificare i risultati.
Achievements() const
Fornisce un riferimento costante all'oggetto AchievementManager utilizzato per accedere e modificare i risultati.
Events()
Fornisce un riferimento all'oggetto EventManager utilizzato per accedere agli eventi e manipolarli.
Events() const
const EventManager &
Fornisce un riferimento const all'oggetto EventManager utilizzato per accedere agli eventi e manipolarli.
Flush(FlushCallback callback)
void
Scarica in modo asincrono la coda di invio principale e restituisce lo stato dello svuotamento al FlushCallback fornito.
FlushBlocking()
Esegue il lavaggio in modo sincrono e ottiene il risultato (stato) dello svuotamento.
FlushBlocking(Timeout timeout)
Esegue il lavaggio in modo sincrono e ottiene il risultato (stato) dello svuotamento.
IsAuthorized()
bool
Consente di controllare esplicitamente lo stato di autorizzazione attuale.
Leaderboards()
Fornisce un riferimento all'oggetto LeaderboardManager utilizzato per accedere e modificare i risultati.
Leaderboards() const
Fornisce un riferimento costante all'oggetto LeaderboardManager utilizzato per accedere e modificare i risultati.
Players()
Fornisce un riferimento all'oggetto PlayerManager, che consente di accedere alle informazioni sui player.
Players() const
const PlayerManager &
Fornisce un riferimento costante all'oggetto PlayerManager, che consente di accedere alle informazioni sui player.
RealTimeMultiplayer()
Fornisce un riferimento all'oggetto RealTimeMultiplayerManager, che consente l'accesso ai metodi correlati a RTMP.
RealTimeMultiplayer() const
Fornisce un riferimento costante all'oggetto RealTimeMultiplayerManager, che consente l'accesso ai metodi correlati a RTMP.
SignOut()
void
Avvia la procedura di disconnessione asincrona.
Snapshots()
Fornisce un riferimento all'oggetto SnapshotManager utilizzato per accedere e gestire gli snapshot.
Snapshots() const
const SnapshotManager &
Fornisce un riferimento costante all'oggetto SnapshotManager utilizzato per accedere e gestire gli snapshot.
StartAuthorizationUI()
void
Consente di aprire un flusso di autorizzazione dell'utente specifico della piattaforma.
Stats()
Fornisce un riferimento all'oggetto StatsManager utilizzato per accedere alle statistiche di partite e giocatori.
Stats() const
const StatsManager &
Fornisce un riferimento costante all'oggetto StatsManager utilizzato per accedere alle statistiche di gioco e giocatori.
TurnBasedMultiplayer()
Fornisce un riferimento all'oggetto TurnBasedMultiplayerManager, che consente l'accesso ai metodi correlati a TBMP.
TurnBasedMultiplayer() const
Fornisce un riferimento costante all'oggetto TurnBasedMultiplayerManager, che consente l'accesso ai metodi correlati a TBMP.
Video()
Fornisce un riferimento all'oggetto VideoManager, che consente l'accesso ai metodi relativi ai video.
Video() const
const VideoManager &
Fornisce un riferimento costante all'oggetto VideoManager, che consente l'accesso ai metodi relativi ai video.

Corsi

gpg::GameServices::Builder

Utilizzato per creare e configurare un'istanza della classe GameServices.

Tipi pubblici

FlushCallback

std::function< void(FlushStatus)> FlushCallback

Definisce un tipo di callback che riceve il risultato (stato) di un'operazione di svuotamento.

Utilizzato in Flush().

Funzioni pubbliche

Obiettivi

AchievementManager & Achievements()

Fornisce un riferimento all'oggetto AchievementManager utilizzato per accedere e modificare i risultati.

Obiettivi

const AchievementManager & Achievements() const 

Fornisce un riferimento costante all'oggetto AchievementManager utilizzato per accedere e modificare i risultati.

Eventi

EventManager & Events()

Fornisce un riferimento all'oggetto EventManager utilizzato per accedere agli eventi e manipolarli.

Eventi

const EventManager & Events() const 

Fornisce un riferimento const all'oggetto EventManager utilizzato per accedere agli eventi e manipolarli.

Svuota

void Flush(
  FlushCallback callback
)

Scarica in modo asincrono la coda di invio principale e restituisce lo stato dello svuotamento al FlushCallback fornito.

Gli stati possibili sono: FLUSHED, ERROR_INTERNAL e ERROR_VERSION_UPDATE_REQUIRED.

FlushBlocking

FlushStatus FlushBlocking()

Esegue il lavaggio in modo sincrono e ottiene il risultato (stato) dello svuotamento.

Gli stati possibili sono: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED e ERROR_TIMEOUT. Se questo timeout non è specificato, la chiamata di funzione equivale a chiamare FlushStatus FlushBlocking(Timeout), con Timeout specificato su 10 anni.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Esegue il lavaggio in modo sincrono e ottiene il risultato (stato) dello svuotamento.

Gli stati possibili sono: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED e ERROR_TIMEOUT. Specifica il timeout come numero arbitrario di millisecondi.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

Consente di controllare esplicitamente lo stato di autorizzazione attuale.

I consumatori dell'SDK sono invitati a registrarsi per i callback AUTH_ACTION_* per gestire le modifiche dello stato di autorizzazione, anziché il polling.

Classifiche

LeaderboardManager & Leaderboards()

Fornisce un riferimento all'oggetto LeaderboardManager utilizzato per accedere e modificare i risultati.

Classifiche

const LeaderboardManager & Leaderboards() const 

Fornisce un riferimento costante all'oggetto LeaderboardManager utilizzato per accedere e modificare i risultati.

Giocatori

PlayerManager & Players()

Fornisce un riferimento all'oggetto PlayerManager, che consente di accedere alle informazioni sui player.

Giocatori

const PlayerManager & Players() const 

Fornisce un riferimento costante all'oggetto PlayerManager, che consente di accedere alle informazioni sui player.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

Fornisce un riferimento all'oggetto RealTimeMultiplayerManager, che consente l'accesso ai metodi correlati a RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

Fornisce un riferimento costante all'oggetto RealTimeMultiplayerManager, che consente l'accesso ai metodi correlati a RTMP.

SignOut

void SignOut()

Avvia la procedura di disconnessione asincrona.

Dopo aver chiamato SignOut, non devi chiamare alcuna operazione su GameServices finché non ricevi il messaggio OnAuthActionFinishedCallback che indica un'uscita riuscita.

Snapshot

SnapshotManager & Snapshots()

Fornisce un riferimento all'oggetto SnapshotManager utilizzato per accedere e gestire gli snapshot.

Snapshot

const SnapshotManager & Snapshots() const 

Fornisce un riferimento costante all'oggetto SnapshotManager utilizzato per accedere e gestire gli snapshot.

StartAuthorizationUI

void StartAuthorizationUI()

Consente di aprire un flusso di autorizzazione dell'utente specifico della piattaforma.

Statistiche

StatsManager & Stats()

Fornisce un riferimento all'oggetto StatsManager utilizzato per accedere alle statistiche di partite e giocatori.

Statistiche

const StatsManager & Stats() const 

Fornisce un riferimento costante all'oggetto StatsManager utilizzato per accedere alle statistiche di gioco e giocatori.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

Fornisce un riferimento all'oggetto TurnBasedMultiplayerManager, che consente l'accesso ai metodi correlati a TBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

Fornisce un riferimento costante all'oggetto TurnBasedMultiplayerManager, che consente l'accesso ai metodi correlati a TBMP.

Video

VideoManager & Video()

Fornisce un riferimento all'oggetto VideoManager, che consente l'accesso ai metodi relativi ai video.

Video

const VideoManager & Video() const 

Fornisce un riferimento costante all'oggetto VideoManager, che consente l'accesso ai metodi relativi ai video.

~GameServices

 ~GameServices()