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 un comando GameServices::Builder. Una volta creata, l'istanza non è inizialmente collegata ai servizi di giochi (vale a dire, IsAuthorized() restituirà false). Un tentativo di accesso silenzioso viene avviato in background e può avere esito positivo se un utente ha eseguito l'accesso alla fine di una sessione precedente. Fino al completamento di questo tentativo di accesso silenzioso, qualsiasi interfaccia utente di autenticazione utente (ad esempio i pulsanti di accesso e/o disconnessione) deve essere disattivata o nascosta.
Al completamento 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 (ovvero, IsAuthorized() restituirà true) e l'interfaccia utente di disconnessione deve essere attivata. Se l'argomento di callback riflette un tentativo di accesso non riuscito, l'interfaccia utente di accesso deve essere abilitata.
L'uscita esplicita tramite il metodo SignOut() deve essere richiamata solo su richiesta dell'utente. Viene richiesta la transizione a uno stato di disconnessione. Il completamento di questa transizione è indicato dalla chiamata del callback OnAuthActionFinished. Fino a quando non viene richiamato questo callback, non devi chiamare altre API GameServices (tra cui StartAuthorizationUI()).
Quando un'istanza GameServices viene distrutta, si blocca 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 emettere una funzione Flush() e l'istanza GameServices deve essere attiva fino al completamento della funzione Flush().
Affinché GameServices funzioni correttamente su versioni Android precedenti alla 4.0, l'attività proprietaria deve chiamare i callback del ciclo di vita. Vedi l'AndroidSupport.
Costruttori e distruttori |
|
---|---|
GameServices()
|
|
~GameServices()
|
Tipi pubblici |
|
---|---|
FlushCallback
|
typedefstd::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 manipolare gli obiettivi.
|
Achievements() const
|
const AchievementManager &
Fornisce un riferimento a costanza all'oggetto AchievementManager utilizzato per accedere agli obiettivi e gestirli.
|
Events()
|
Fornisce un riferimento all'oggetto EventManager utilizzato per accedere e manipolare gli eventi.
|
Events() const
|
const EventManager &
Fornisce un riferimento a cost all'oggetto EventManager utilizzato per accedere e manipolare gli eventi.
|
Flush(FlushCallback callback)
|
void
Svuota in modo asincrono la coda di invio principale e restituisce lo stato dello svuotamento al valore FlushCallback fornito.
|
FlushBlocking()
|
Svuota in modo sincrono e ottiene un risultato (stato) dello scarico.
|
FlushBlocking(Timeout timeout)
|
Svuota in modo sincrono e ottiene un risultato (stato) dello scarico.
|
IsAuthorized()
|
bool
Consente di controllare esplicitamente lo stato di autorizzazione attuale.
|
Leaderboards()
|
Fornisce un riferimento all'oggetto LeaderboardManager utilizzato per accedere e manipolare gli obiettivi.
|
Leaderboards() const
|
const LeaderboardManager &
Fornisce un riferimento all'oggetto LeaderboardManager utilizzato per accedere agli obiettivi e gestirli.
|
Players()
|
Fornisce un riferimento all'oggetto PlayerManager, che consente l'accesso alle informazioni sui player.
|
Players() const
|
const PlayerManager &
Fornisce un riferimento a cost all'oggetto PlayerManager, che consente l'accesso alle informazioni sui player.
|
RealTimeMultiplayer()
|
Fornisce un riferimento all'oggetto RealTimeMultiplayerManager, che consente di accedere ai metodi relativi a RTMP.
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
Fornisce un riferimento a cost all'oggetto RealTimeMultiplayerManager, che consente di accedere ai metodi relativi a RTMP.
|
SignOut()
|
void
Avvia il processo di disconnessione asincrona.
|
Snapshots()
|
Fornisce un riferimento all'oggetto SnapshotManager utilizzato per accedere agli snapshot e gestirli.
|
Snapshots() const
|
const SnapshotManager &
Fornisce un riferimento a const all'oggetto SnapshotManager utilizzato per accedere agli snapshot e gestirli.
|
StartAuthorizationUI()
|
void
Apre un flusso di autorizzazione dell'utente specifico per la piattaforma.
|
Stats()
|
Fornisce un riferimento all'oggetto StatsManager utilizzato per accedere alle statistiche sui giochi e sui giocatori.
|
Stats() const
|
const StatsManager &
Fornisce un riferimento all'oggetto StatsManager utilizzato per accedere alle statistiche sui giochi e sui giocatori.
|
TurnBasedMultiplayer()
|
Fornisce un riferimento all'oggetto TurnBasedMultiplayerManager, che consente di accedere ai metodi correlati a TBMP.
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
Fornisce un riferimento a costanza all'oggetto TurnBasedMultiplayerManager, che consente di accedere ai metodi correlati a TBMP.
|
Video()
|
Fornisce un riferimento all'oggetto VideoManager, che consente di accedere ai metodi correlati ai video.
|
Video() const
|
const VideoManager &
Fornisce un riferimento a cost all'oggetto VideoManager, che consente l'accesso ai metodi relativi ai video.
|
Corsi |
|
---|---|
gpg:: |
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.
Utilizzata in Flush().
Funzioni pubbliche
Obiettivi
AchievementManager & Achievements()
Fornisce un riferimento all'oggetto AchievementManager utilizzato per accedere e manipolare gli obiettivi.
Obiettivi
const AchievementManager & Achievements() const
Fornisce un riferimento a costanza all'oggetto AchievementManager utilizzato per accedere agli obiettivi e gestirli.
Eventi
EventManager & Events()
Fornisce un riferimento all'oggetto EventManager utilizzato per accedere e manipolare gli eventi.
Eventi
const EventManager & Events() const
Fornisce un riferimento a cost all'oggetto EventManager utilizzato per accedere e manipolare gli eventi.
Svuota
void Flush( FlushCallback callback )
Svuota in modo asincrono la coda di invio principale e restituisce lo stato dello svuotamento al valore FlushCallback fornito.
Gli stati possibili sono: FLUSHED, ERROR_INTERNAL e ERROR_VERSION_UPDATE_REQUIRED.
FlushBlocking
FlushStatus FlushBlocking()
Svuota in modo sincrono e ottiene un risultato (stato) dello scarico.
Gli stati possibili sono: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED e ERROR_TIMEOUT. Se questo timeout non viene specificato, la chiamata di funzione equivale a chiamare FlushStatus FlushBlocking(Timeout), con il timeout specificato su 10 anni.
FlushBlocking
FlushStatus FlushBlocking( Timeout timeout )
Svuota in modo sincrono e ottiene un risultato (stato) dello scarico.
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 consumer 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 manipolare gli obiettivi.
Classifiche
const LeaderboardManager & Leaderboards() const
Fornisce un riferimento all'oggetto LeaderboardManager utilizzato per accedere agli obiettivi e gestirli.
Giocatori
PlayerManager & Players()
Fornisce un riferimento all'oggetto PlayerManager, che consente l'accesso alle informazioni sui player.
Giocatori
const PlayerManager & Players() const
Fornisce un riferimento a cost all'oggetto PlayerManager, che consente l'accesso alle informazioni sui player.
RealTimeMultiplayer
RealTimeMultiplayerManager & RealTimeMultiplayer()
Fornisce un riferimento all'oggetto RealTimeMultiplayerManager, che consente di accedere ai metodi relativi a RTMP.
RealTimeMultiplayer
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
Fornisce un riferimento a cost all'oggetto RealTimeMultiplayerManager, che consente di accedere ai metodi relativi a RTMP.
SignOut
void SignOut()
Avvia il processo di disconnessione asincrona.
Dopo aver chiamato SignOut, non devi chiamare alcuna operazione su GameServices finché non ricevi il messaggio OnAuthActionFinishedCallback che indica la disconnessione.
Snapshot
SnapshotManager & Snapshots()
Fornisce un riferimento all'oggetto SnapshotManager utilizzato per accedere agli snapshot e gestirli.
Snapshot
const SnapshotManager & Snapshots() const
Fornisce un riferimento a const all'oggetto SnapshotManager utilizzato per accedere agli snapshot e gestirli.
StartAuthorizationUI
void StartAuthorizationUI()
Apre un flusso di autorizzazione dell'utente specifico per la piattaforma.
Statistiche
StatsManager & Stats()
Fornisce un riferimento all'oggetto StatsManager utilizzato per accedere alle statistiche sui giochi e sui giocatori.
Statistiche
const StatsManager & Stats() const
Fornisce un riferimento all'oggetto StatsManager utilizzato per accedere alle statistiche sui giochi e sui giocatori.
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
Fornisce un riferimento all'oggetto TurnBasedMultiplayerManager, che consente di accedere ai metodi correlati a TBMP.
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
Fornisce un riferimento a costanza all'oggetto TurnBasedMultiplayerManager, che consente di accedere ai metodi correlati a TBMP.
Video
VideoManager & Video()
Fornisce un riferimento all'oggetto VideoManager, che consente di accedere ai metodi correlati ai video.
Video
const VideoManager & Video() const
Fornisce un riferimento a cost all'oggetto VideoManager, che consente l'accesso ai metodi relativi ai video.
~Servizi giochi
~GameServices()