gpg::GameServices

#include <game_services.h>

Point de départ d'une interaction avec Google Play Jeux.

Résumé

Cycle de vie des services de jeux

Une instance de la classe GameServices est créée via un GameServices::Builder. Une fois créée, l'instance n'est pas connectée aux services de jeux (par exemple, IsAuthorized() renvoie la valeur "false"). Une tentative de connexion silencieuse est lancée en arrière-plan. Elle peut aboutir si un utilisateur s'est connecté à la fin d'une session précédente. Tant que cette tentative de connexion silencieuse n'est pas terminée, toutes les interfaces utilisateur d'authentification des utilisateurs (boutons de connexion et/ou de déconnexion, par exemple) doivent être désactivées ou masquées.

À la fin de cette tentative de connexion silencieuse, le rappel OnAuthActionFinished pour l'instance GameServices (enregistrée auprès de GameServices::Builder::SetOnAuthActionFinished) recevra une notification. Si les arguments de rappel reflètent une tentative de connexion réussie, l'instance peut être considérée comme connectée aux services de jeux (c'est-à-dire que IsAuthorized() renvoie la valeur "true") et l'interface utilisateur de déconnexion doit être activée. Si l'argument de rappel reflète une tentative de connexion ayant échoué, l'interface utilisateur de connexion doit être activée.

La déconnexion explicite via la méthode SignOut() ne doit être invoquée qu'à la demande de l'utilisateur. Cette action demande la transition vers un état déconnecté. La fin de cette transition est indiquée par un appel du rappel OnAuthActionFinished. Tant que ce rappel n'est pas invoqué, les autres API GameServices (y compris StartAuthorizationUI()) ne doivent pas être appelées.

Lorsqu'une instance de GameServices est détruite, elle est bloquée jusqu'à ce qu'il n'y ait plus d'opérations en attente pour éviter toute perte de données. Si ce comportement de blocage lors de la destruction n'est pas souhaité, un Flush() doit être émis et l'instance GameServices doit rester active jusqu'à la fin de l'opération Flush().

Pour que GameServices fonctionne correctement sur les versions d'Android antérieures à 4.0, l'activité propriétaire doit appeler des rappels de cycle de vie. Consultez AndroidSupport.

Constructeurs et destructeurs

GameServices()
~GameServices()

Types publics

FlushCallback typedef
std::function< void(FlushStatus)>
Définit un type de rappel qui reçoit le résultat (état) d'une opération de vidage.

Fonctions publiques

Achievements()
Fournit une référence à l'objet AchievementManager utilisé pour accéder aux réussites et les manipuler.
Achievements() const
Fournit une référence constante à l'objet AchievementManager utilisé pour accéder aux réussites et les manipuler.
Events()
Fournit une référence à l'objet EventManager utilisé pour accéder aux événements et les manipuler.
Events() const
const EventManager &
Fournit une référence constante à l'objet EventManager utilisé pour accéder aux événements et les manipuler.
Flush(FlushCallback callback)
void
Vide de manière asynchrone la file d'attente de distribution principale et renvoie l'état du vidage dans le FlushCallback fourni.
FlushBlocking()
Vide de manière synchrone et obtient un résultat (état) de vidage.
FlushBlocking(Timeout timeout)
Vide de manière synchrone et obtient un résultat (état) de vidage.
IsAuthorized()
bool
Vous permet de vérifier explicitement l'état d'autorisation actuel.
Leaderboards()
Fournit une référence à l'objet LeaderboardManager utilisé pour accéder aux réussites et les manipuler.
Leaderboards() const
Fournit une référence constante à l'objet LeaderboardManager utilisé pour accéder aux réussites et les manipuler.
Players()
Fournit une référence à l'objet PlayerManager, qui permet d'accéder aux informations sur les joueurs.
Players() const
const PlayerManager &
Fournit une référence constante à l'objet PlayerManager, qui permet d'accéder aux informations sur les joueurs.
RealTimeMultiplayer()
Fournit une référence à l'objet RealTimeMultiplayerManager, qui permet d'accéder aux méthodes liées à RTMP.
RealTimeMultiplayer() const
Fournit une référence constante à l'objet RealTimeMultiplayerManager, qui permet d'accéder aux méthodes liées à RTMP.
SignOut()
void
Démarre le processus de déconnexion asynchrone.
Snapshots()
Fournit une référence à l'objet SnapshotManager utilisé pour accéder aux instantanés et les manipuler.
Snapshots() const
const SnapshotManager &
Fournit une référence constante à l'objet SnapshotManager utilisé pour accéder aux instantanés et les manipuler.
StartAuthorizationUI()
void
Affiche un flux d'autorisation de l'utilisateur spécifique à la plate-forme.
Stats()
Fournit une référence à l'objet StatsManager utilisé pour accéder aux statistiques du jeu et aux statistiques des joueurs.
Stats() const
const StatsManager &
Fournit une référence constante à l'objet StatsManager utilisé pour accéder aux statistiques du jeu et des statistiques des joueurs.
TurnBasedMultiplayer()
Fournit une référence à l'objet TurnBasedMultiplayerManager, qui permet d'accéder aux méthodes liées à la fonctionnalitéTBMP.
TurnBasedMultiplayer() const
Fournit une référence constante à l'objet TurnBasedMultiplayerManager, ce qui permet d'accéder aux méthodes liées à la fonctionnalitéTBMP.
Video()
Fournit une référence à l'objet VideoManager, qui permet d'accéder aux méthodes liées aux vidéos.
Video() const
const VideoManager &
Fournit une référence constante à l'objet VideoManager, ce qui permet d'accéder aux méthodes liées aux vidéos.

Classes

gpg::GameServices::Builder

Utilisé pour créer et configurer une instance de la classe GameServices.

Types publics

FlushCallback

std::function< void(FlushStatus)> FlushCallback

Définit un type de rappel qui reçoit le résultat (état) d'une opération de vidage.

Utilisé dans Flush().

Fonctions publiques

Réussites

AchievementManager & Achievements()

Fournit une référence à l'objet AchievementManager utilisé pour accéder aux réussites et les manipuler.

Réussites

const AchievementManager & Achievements() const 

Fournit une référence constante à l'objet AchievementManager utilisé pour accéder aux réussites et les manipuler.

Événements

EventManager & Events()

Fournit une référence à l'objet EventManager utilisé pour accéder aux événements et les manipuler.

Événements

const EventManager & Events() const 

Fournit une référence constante à l'objet EventManager utilisé pour accéder aux événements et les manipuler.

Vider

void Flush(
  FlushCallback callback
)

Vide de manière asynchrone la file d'attente de distribution principale et renvoie l'état du vidage au FlushCallback fourni.

Les états possibles sont: FLUSHED, ERROR_INTERNAL et ERROR_VERSION_UPDATE_REQUIRED.

FlushBlocking

FlushStatus FlushBlocking()

Vide de manière synchrone et obtient un résultat (état) de vidage.

Les états possibles sont: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED et ERROR_TIMEOUT. Si ce délai n'est pas spécifié, cet appel de fonction équivaut à appeler FlushStatus FlushBlocking(Timeout), avec un délai avant expiration spécifié sur 10 ans.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Vide de manière synchrone et obtient un résultat (état) de vidage.

Les états possibles sont: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED et ERROR_TIMEOUT. Spécifiez le délai avant expiration sous la forme d'un nombre arbitraire de millisecondes.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

Vous permet de vérifier explicitement l'état d'autorisation actuel.

Les utilisateurs du SDK sont invités à s'enregistrer pour les rappels AUTH_ACTION_* afin de gérer les changements d'état d'autorisation, plutôt que l'interrogation.

Classements

LeaderboardManager & Leaderboards()

Fournit une référence à l'objet LeaderboardManager utilisé pour accéder aux réussites et les manipuler.

Classements

const LeaderboardManager & Leaderboards() const 

Fournit une référence constante à l'objet LeaderboardManager utilisé pour accéder aux réussites et les manipuler.

Joueurs

PlayerManager & Players()

Fournit une référence à l'objet PlayerManager, qui permet d'accéder aux informations sur les joueurs.

Joueurs

const PlayerManager & Players() const 

Fournit une référence constante à l'objet PlayerManager, qui permet d'accéder aux informations sur les joueurs.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

Fournit une référence à l'objet RealTimeMultiplayerManager, qui permet d'accéder aux méthodes liées à RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

Fournit une référence constante à l'objet RealTimeMultiplayerManager, qui permet d'accéder aux méthodes liées à RTMP.

SignOut

void SignOut()

Démarre le processus de déconnexion asynchrone.

Après avoir appelé SignOut, vous ne devez appeler aucune opération sur GameServices tant que vous n'avez pas reçu le OnAuthActionFinishedCallback indiquant que la déconnexion a réussi.

Instantanés

SnapshotManager & Snapshots()

Fournit une référence à l'objet SnapshotManager utilisé pour accéder aux instantanés et les manipuler.

Instantanés

const SnapshotManager & Snapshots() const 

Fournit une référence constante à l'objet SnapshotManager utilisé pour accéder aux instantanés et les manipuler.

StartAuthorizationUI

void StartAuthorizationUI()

Affiche un flux d'autorisation de l'utilisateur spécifique à la plate-forme.

Statistiques

StatsManager & Stats()

Fournit une référence à l'objet StatsManager utilisé pour accéder aux statistiques du jeu et aux statistiques des joueurs.

Statistiques

const StatsManager & Stats() const 

Fournit une référence constante à l'objet StatsManager utilisé pour accéder aux statistiques du jeu et des statistiques des joueurs.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

Fournit une référence à l'objet TurnBasedMultiplayerManager, qui permet d'accéder aux méthodes liées à la fonctionnalitéTBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

Fournit une référence constante à l'objet TurnBasedMultiplayerManager, ce qui permet d'accéder aux méthodes liées à la fonctionnalitéTBMP.

Vidéo

VideoManager & Video()

Fournit une référence à l'objet VideoManager, qui permet d'accéder aux méthodes liées aux vidéos.

Vidéo

const VideoManager & Video() const 

Fournit une référence constante à l'objet VideoManager, ce qui permet d'accéder aux méthodes liées aux vidéos.

~GameServices

 ~GameServices()