gpg:: GameServices
#include <game_services.h>
Der Ausgangspunkt für die Interaktion mit Google Play Spiele.
Zusammenfassung
Lebenszyklus der Spieldienste
Eine Instanz der GameServices-Klasse wird über GameServices::Builder erstellt. Nach der Erstellung ist die Instanz anfangs nicht bei den Spieldiensten angemeldet, d. h., IsAuthorized() gibt "false" zurück. Im Hintergrund wird ein versuchter Anmeldeversuch gestartet, der möglicherweise erfolgreich ist, wenn ein Nutzer am Ende einer vorherigen Sitzung angemeldet war. Bis dahin sollte jede Benutzeroberfläche zur Nutzerauthentifizierung (z. B. Anmelde- und/oder Abmeldeschaltflächen) deaktiviert oder ausgeblendet sein.
Nach Abschluss dieses stillen Anmeldeversuchs wird der OnAuthActionFinished-Callback für die GameServices-Instanz, die bei GameServices::Builder::SetOnAuthActionFinished registriert ist, benachrichtigt. Wenn die Callback-Argumente einen erfolgreichen Anmeldeversuch widerspiegeln, kann davon ausgegangen werden, dass die Instanz mit den Spieldiensten verbunden ist (d. h. IsAuthorized() gibt „true“ zurück) und die Abmelde-UI sollte aktiviert sein. Wenn das Callback-Argument einen fehlgeschlagenen Anmeldeversuch anzeigt, sollte die Anmelde-UI aktiviert werden.
Die explizite Abmeldung über die Methode SignOut() sollte nur auf Anforderung des Nutzers erfolgen. Dadurch wird der Wechsel in einen abgemeldeten Status angefordert. Der Abschluss dieses Übergangs wird durch den Aufruf des OnAuthActionFinished-Rückrufs angezeigt. Bis dahin sollten keine anderen GameServices APIs (einschließlich StartAuthorizationUI()) aufgerufen werden.
Wenn eine GameServices-Instanz gelöscht wird, wird sie blockiert, bis keine ausstehenden Vorgänge mehr vorliegen, um Datenverluste zu vermeiden. Wenn dieses Verhalten beim Vernichten nicht erwünscht ist, sollte eine Flush()-Funktion ausgegeben und die GameServices-Instanz so lange aktiv gehalten werden, bis Flush() abgeschlossen ist.
Damit GameServices unter Android-Versionen unter 4.0 ordnungsgemäß funktioniert, muss die übergeordnete Aktivität Lebenszyklus-Callbacks aufrufen. Weitere Informationen finden Sie unter AndroidSupport.
Konstruktoren und Zerstörer |
|
---|---|
GameServices()
|
|
~GameServices()
|
Öffentliche Typen |
|
---|---|
FlushCallback
|
typedef.std::function< void(FlushStatus)>
Definiert einen Rückruftyp, der das Ergebnis (Status) eines Leerungsvorgangs empfängt. |
Öffentliche Funktionen |
|
---|---|
Achievements()
|
Stellt eine Referenz auf das Objekt AchievementManager bereit, mit dem Erfolge aufgerufen und bearbeitet werden können.
|
Achievements() const
|
const AchievementManager &
Stellt eine Const-Referenz zum Objekt AchievementManager bereit, mit dem auf Erfolge zugegriffen und diese bearbeitet werden können.
|
Events()
|
Stellt eine Referenz auf das Objekt EventManager bereit, das für den Zugriff auf und die Bearbeitung von Ereignissen verwendet wird.
|
Events() const
|
const EventManager &
Stellt einen Const-Verweis auf das Objekt EventManager bereit, das für den Zugriff auf und die Bearbeitung von Ereignissen verwendet wird.
|
Flush(FlushCallback callback)
|
void
Leert die Haupt-Weiterleitungswarteschlange asynchron und gibt den Status der Leerung an das bereitgestellte FlushCallback zurück.
|
FlushBlocking()
|
Leert synchron und ruft ein Ergebnis (Status) des Leerens ab.
|
FlushBlocking(Timeout timeout)
|
Leert synchron und ruft ein Ergebnis (Status) des Leerens ab.
|
IsAuthorized()
|
bool
Ermöglicht Ihnen die explizite Überprüfung des aktuellen Autorisierungsstatus.
|
Leaderboards()
|
Stellt eine Referenz auf das Objekt LeaderboardManager bereit, mit dem Erfolge aufgerufen und bearbeitet werden können.
|
Leaderboards() const
|
const LeaderboardManager &
Stellt eine const-Referenz auf das Objekt LeaderboardManager bereit, das zum Zugreifen auf und Bearbeiten von Erfolgen verwendet wird.
|
Players()
|
Stellt eine Referenz zum PlayerManager-Objekt bereit, das den Zugriff auf Informationen über Spieler ermöglicht.
|
Players() const
|
const PlayerManager &
Stellt eine Const-Referenz zum PlayerManager-Objekt bereit, die den Zugriff auf Informationen über Spieler ermöglicht.
|
RealTimeMultiplayer()
|
Stellt eine Referenz zum Objekt RealTimeMultiplayerManager bereit, das den Zugriff auf RTMP-bezogene Methoden ermöglicht.
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
Stellt eine Const-Referenz zum RealTimeMultiplayerManager-Objekt bereit, die den Zugriff auf RTMP-bezogene Methoden ermöglicht.
|
SignOut()
|
void
Startet den asynchronen Abmeldevorgang.
|
Snapshots()
|
Stellt einen Verweis auf das Objekt SnapshotManager bereit, das für den Zugriff auf und das Bearbeiten von Snapshots verwendet wird.
|
Snapshots() const
|
const SnapshotManager &
Stellt eine const-Referenz für das Objekt SnapshotManager bereit, das für den Zugriff auf und das Bearbeiten von Snapshots verwendet wird.
|
StartAuthorizationUI()
|
void
Ruft einen plattformspezifischen Ablauf der Nutzerautorisierung auf.
|
Stats()
|
Stellt eine Referenz auf das StatsManager-Objekt bereit, das für den Zugriff auf Spiel- und Spielerstatistiken verwendet wird.
|
Stats() const
|
const StatsManager &
Stellt eine const-Referenz für das StatsManager-Objekt bereit, das für den Zugriff auf Spiel- und Spielerstatistiken verwendet wird.
|
TurnBasedMultiplayer()
|
Stellt eine Referenz zum Objekt TurnBasedMultiplayerManager bereit, das den Zugriff auf TBMP-bezogene Methoden ermöglicht.
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
Stellt eine const-Referenz zum Objekt TurnBasedMultiplayerManager bereit, das den Zugriff auf TBMP-bezogene Methoden ermöglicht.
|
Video()
|
Stellt einen Verweis auf das VideoManager-Objekt bereit, das den Zugriff auf videobezogene Methoden ermöglicht.
|
Video() const
|
const VideoManager &
Stellt eine Const-Referenz zum VideoManager-Objekt bereit, die den Zugriff auf videobezogene Methoden ermöglicht.
|
Klassen |
|
---|---|
gpg:: |
Wird zum Erstellen und Konfigurieren einer Instanz der GameServices-Klasse verwendet. |
Öffentliche Typen
FlushCallback
std::function< void(FlushStatus)> FlushCallback
Definiert einen Rückruftyp, der das Ergebnis (Status) eines Leerungsvorgangs empfängt.
Wird in Flush() verwendet.
Öffentliche Funktionen
Erfolge
AchievementManager & Achievements()
Stellt eine Referenz auf das Objekt AchievementManager bereit, mit dem Erfolge aufgerufen und bearbeitet werden können.
Erfolge
const AchievementManager & Achievements() const
Stellt eine Const-Referenz zum Objekt AchievementManager bereit, mit dem auf Erfolge zugegriffen und diese bearbeitet werden können.
Ereignisse
EventManager & Events()
Stellt eine Referenz auf das Objekt EventManager bereit, das für den Zugriff auf und die Bearbeitung von Ereignissen verwendet wird.
Ereignisse
const EventManager & Events() const
Stellt einen Const-Verweis auf das Objekt EventManager bereit, das für den Zugriff auf und die Bearbeitung von Ereignissen verwendet wird.
Leeren
void Flush( FlushCallback callback )
Leert die Haupt-Weiterleitungswarteschlange asynchron und gibt den Status der Leerung an das bereitgestellte FlushCallback zurück.
Mögliche Status sind: FLUSHED, ERROR_INTERNAL und ERROR_VERSION_UPDATE_REQUIRED.
FlushBlocking
FlushStatus FlushBlocking()
Leert synchron und ruft ein Ergebnis (Status) des Leerens ab.
Mögliche Status sind: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED und ERROR_TIMEOUT. Wenn dieses Zeitlimit nicht angegeben wird, entspricht dieser Funktionsaufruf dem Aufruf von FlushStatus FlushBlocking(Timeout) mit einem Zeitlimit von 10 Jahren.
FlushBlocking
FlushStatus FlushBlocking( Timeout timeout )
Leert synchron und ruft ein Ergebnis (Status) des Leerens ab.
Mögliche Status sind: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED und ERROR_TIMEOUT. Geben Sie für das Zeitlimit einen beliebigen Wert in Millisekunden an.
GameServices
GameServices()=delete
IsAuthorized
bool IsAuthorized()
Ermöglicht Ihnen die explizite Überprüfung des aktuellen Autorisierungsstatus.
SDK-Nutzer sollten sich für AUTH_ACTION_*-Callbacks registrieren, um Änderungen des Autorisierungsstatus statt Abfragen zu verarbeiten.
Bestenlisten
LeaderboardManager & Leaderboards()
Stellt eine Referenz auf das Objekt LeaderboardManager bereit, mit dem Erfolge aufgerufen und bearbeitet werden können.
Bestenlisten
const LeaderboardManager & Leaderboards() const
Stellt eine const-Referenz auf das Objekt LeaderboardManager bereit, das zum Zugreifen auf und Bearbeiten von Erfolgen verwendet wird.
Spieler
PlayerManager & Players()
Stellt eine Referenz zum PlayerManager-Objekt bereit, das den Zugriff auf Informationen über Spieler ermöglicht.
Spieler
const PlayerManager & Players() const
Stellt eine Const-Referenz zum PlayerManager-Objekt bereit, die den Zugriff auf Informationen über Spieler ermöglicht.
RealTimeMultiplayer
RealTimeMultiplayerManager & RealTimeMultiplayer()
Stellt eine Referenz zum Objekt RealTimeMultiplayerManager bereit, das den Zugriff auf RTMP-bezogene Methoden ermöglicht.
RealTimeMultiplayer
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
Stellt eine Const-Referenz zum RealTimeMultiplayerManager-Objekt bereit, die den Zugriff auf RTMP-bezogene Methoden ermöglicht.
SignOut
void SignOut()
Startet den asynchronen Abmeldevorgang.
Nachdem Sie „SignOut“ aufgerufen haben, sollten Sie keine Vorgänge von GameServices aufrufen, bis Sie den OnAuthActionFinishedCallback erhalten, der auf eine erfolgreiche Abmeldung hinweist.
Snapshots
SnapshotManager & Snapshots()
Stellt einen Verweis auf das Objekt SnapshotManager bereit, das für den Zugriff auf und das Bearbeiten von Snapshots verwendet wird.
Snapshots
const SnapshotManager & Snapshots() const
Stellt eine const-Referenz für das Objekt SnapshotManager bereit, das für den Zugriff auf und das Bearbeiten von Snapshots verwendet wird.
StartAuthorizationUI
void StartAuthorizationUI()
Ruft einen plattformspezifischen Ablauf der Nutzerautorisierung auf.
Statistik
StatsManager & Stats()
Stellt eine Referenz auf das StatsManager-Objekt bereit, das für den Zugriff auf Spiel- und Spielerstatistiken verwendet wird.
Statistik
const StatsManager & Stats() const
Stellt eine const-Referenz für das StatsManager-Objekt bereit, das für den Zugriff auf Spiel- und Spielerstatistiken verwendet wird.
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
Stellt eine Referenz zum Objekt TurnBasedMultiplayerManager bereit, das den Zugriff auf TBMP-bezogene Methoden ermöglicht.
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
Stellt eine const-Referenz zum Objekt TurnBasedMultiplayerManager bereit, das den Zugriff auf TBMP-bezogene Methoden ermöglicht.
Video
VideoManager & Video()
Stellt einen Verweis auf das VideoManager-Objekt bereit, das den Zugriff auf videobezogene Methoden ermöglicht.
Video
const VideoManager & Video() const
Stellt eine Const-Referenz zum VideoManager-Objekt bereit, die den Zugriff auf videobezogene Methoden ermöglicht.
~GameServices
~GameServices()