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
|
typedefstd::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
|
const AchievementManager &
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
|
const LeaderboardManager &
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
|
const RealTimeMultiplayerManager &
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
|
const TurnBasedMultiplayerManager &
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:: |
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()