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 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 manipolare gli obiettivi.
Achievements() const
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
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
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
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::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.

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