gpg::GameServices

#include <game_services.h>

Point de départ pour interagir avec Google Play Jeux.

Résumé

Cycle de vie des services de jeux

Une instance de la classe GameServices est créée via GameServices::Builder. Lorsqu'elle est créée, l'instance n'est initialement pas connectée aux services de jeux (en d'autres termes, IsAuthorized() renvoie la valeur "false"). Une tentative de connexion silencieuse est lancée en arrière-plan et 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, l'interface utilisateur d'authentification des utilisateurs (par exemple, les boutons de connexion et/ou de déconnexion) doit être désactivée ou masquée.

À la fin de cette tentative de connexion silencieuse, le rappel OnAuthActionFinished de l'instance GameServices (enregistrée auprès de GameServices::Builder::SetOnAuthActionFinished) reçoit 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 (IsAuthorized() renvoie la valeur "true") et l'UI de déconnexion doit être activée. Si l'argument de rappel reflète une tentative de connexion ayant échoué, l'UI de connexion doit être activée.

La déconnexion explicite via la méthode SignOut() ne doit être appelée que sur demande de l'utilisateur. Cela demande une transition vers l'état "Non 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 GameServices est détruite, elle se bloque jusqu'à ce qu'il n'y ait plus d'opérations en attente afin d'éviter toute perte de données. Si ce comportement de blocage en cas de destruction n'est pas souhaitable, un Flush() doit être émis et l'instance GameServices doit rester active jusqu'à la fin de l'exécution de 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 la page 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 Flush.

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 "const" à l'objet AchievementManager 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 "const" à 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 au FlushCallback fourni.
FlushBlocking()
Vide de manière synchrone et obtient le résultat (état) du vidage.
FlushBlocking(Timeout timeout)
Vide de manière synchrone et obtient le résultat (état) du vidage.
IsAuthorized()
bool
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 "const" à 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 "const" à 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 associées au protocole RTMP.
RealTimeMultiplayer() const
Fournit une référence "const" à l'objet RealTimeMultiplayerManager, ce qui permet d'accéder aux méthodes associées au protocole RTMP.
SignOut()
void
Lance 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 "const" à l'objet SnapshotManager utilisé pour accéder aux instantanés et les manipuler.
StartAuthorizationUI()
void
Affiche un flux d'autorisation utilisateur spécifique à la plate-forme.
Stats()
Fournit une référence à l'objet StatsManager utilisé pour accéder aux statistiques du jeu et du joueur.
Stats() const
const StatsManager &
Fournit une référence "const" à l'objet StatsManager utilisé pour accéder aux statistiques du jeu et des joueurs.
TurnBasedMultiplayer()
Fournit une référence à l'objet TurnBasedMultiplayerManager qui permet d'accéder aux méthodes associées à TBMP.
TurnBasedMultiplayer() const
Fournit une référence "const" à l'objet TurnBasedMultiplayerManager, qui permet d'accéder aux méthodes associées à 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 "const" à 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 Flush.

Utilisée 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 "const" à l'objet AchievementManager 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 "const" à 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 les suivants: FLUSHED, ERROR_INTERNAL et ERROR_VERSION_UPDATE_REQUIRED.

FlushBlocking

FlushStatus FlushBlocking()

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

Les états possibles sont les suivants: 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 à l'appel de FlushStatus FlushBlocking(Timeout), avec un délai d'inactivité de 10 ans.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

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

Les états possibles sont les suivants: 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()

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

Les utilisateurs du SDK sont encouragés à s'inscrire pour des rappels AUTH_ACTION_* afin de gérer les changements d'état d'autorisation, plutôt que d'interroger.

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 "const" à 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 "const" à 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 associées au protocole RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

Fournit une référence "const" à l'objet RealTimeMultiplayerManager, ce qui permet d'accéder aux méthodes associées au protocole RTMP.

SignOut

void SignOut()

Lance 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 message OnAuthActionFinishedCallback indiquant que la déconnexion a abouti.

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 "const" à l'objet SnapshotManager utilisé pour accéder aux instantanés et les manipuler.

StartAuthorizationUI

void StartAuthorizationUI()

Affiche un flux d'autorisation 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 du joueur.

Statistiques

const StatsManager & Stats() const 

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

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

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

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

Fournit une référence "const" à l'objet TurnBasedMultiplayerManager, qui permet d'accéder aux méthodes associées à 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 "const" à l'objet VideoManager, ce qui permet d'accéder aux méthodes liées aux vidéos.

~Services de jeux

 ~GameServices()