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 einen GameServices::Builder erstellt. Nach der Erstellung ist die Instanz anfangs nicht bei den Spieldiensten angemeldet, d. h., IsAuthorized() gibt "false" zurück. Ein Anmeldeversuch im Hintergrund wird im Hintergrund gestartet und kann erfolgreich sein, wenn ein Nutzer am Ende einer vorherigen Sitzung angemeldet war. Bis dieser Anmeldeversuch im Rahmen der automatischen Anmeldung abgeschlossen ist, sollten alle Benutzeroberflächen zur Nutzerauthentifizierung (z. B. Anmelde- und/oder Abmeldeschaltflächen) deaktiviert oder ausgeblendet werden.
Nach Abschluss dieses automatischen Anmeldeversuchs wird der Callback OnAuthActionFinished für die GameServices-Instanz (registriert mit GameServices::Builder::SetOnAuthActionFinished) 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-Benutzeroberfläche sollte aktiviert sein. Wenn das Callback-Argument einen fehlgeschlagenen Anmeldeversuch darstellt, sollte die Anmelde-UI aktiviert werden.
Eine explizite Abmeldung über die Methode SignOut() sollte nur auf Anfrage eines Nutzers aufgerufen werden. Dadurch wird ein Wechsel in einen abgemeldeten Status angefordert. Der Abschluss dieser Umstellung wird durch den Aufruf des OnAuthActionFinished-Rückrufs angezeigt. Solange dieser Callback nicht aufgerufen wird, 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 vorhanden sind, um Datenverluste zu vermeiden. Wenn dieses Block-on-Destruction-Verhalten nicht erwünscht ist, sollte ein Flush() ausgegeben und die GameServices-Instanz aktiv gehalten werden, bis Flush() abgeschlossen ist.
Damit GameServices unter Android-Versionen vor 4.0 ordnungsgemäß funktionieren, muss die zugehörige Activity Lebenszyklus-Callbacks aufrufen. Siehe AndroidSupport.
Konstruktoren und Zerstörer |
|
---|---|
GameServices()
|
|
~GameServices()
|
Öffentliche Typen |
|
---|---|
FlushCallback
|
typedefstd::function< void(FlushStatus)>
Definiert einen Callback-Typ, der das Ergebnis (Status) eines Flush-Vorgangs empfängt. |
Öffentliche Funktionen |
|
---|---|
Achievements()
|
Enthält einen Verweis auf das Objekt AchievementManager, das für den Zugriff auf und die Bearbeitung von Erfolgen verwendet wird.
|
Achievements() const
|
const AchievementManager &
Stellt einen Const-Verweis auf das AchievementManager-Objekt bereit, das für den Zugriff auf und die Bearbeitung von Erfolgen verwendet wird.
|
Events()
|
Enthält eine Referenz zum Objekt EventManager, mit dem Ereignisse aufgerufen und bearbeitet werden können
|
Events() const
|
const EventManager &
Stellt einen Const-Verweis auf das EventManager-Objekt bereit, das für den Zugriff auf Ereignisse und die Bearbeitung von Ereignissen verwendet wird.
|
Flush(FlushCallback callback)
|
void
Leert asynchron die Hauptweiterleitungswarteschlange und gibt den Status der Leerung an den angegebenen FlushCallback zurück.
|
FlushBlocking()
|
Leert synchron und ruft das Ergebnis (den Status) ab.
|
FlushBlocking(Timeout timeout)
|
Leert synchron und ruft das Ergebnis (den Status) ab.
|
IsAuthorized()
|
bool
Ermöglicht es Ihnen, den aktuellen Autorisierungsstatus explizit zu prüfen.
|
Leaderboards()
|
Liefert einen Verweis auf das Objekt LeaderboardManager, das für den Zugriff auf und die Bearbeitung von Erfolgen verwendet wird.
|
Leaderboards() const
|
const LeaderboardManager &
Stellt einen Const-Verweis auf das Objekt LeaderboardManager bereit, das für den Zugriff auf und die Bearbeitung von Erfolgen verwendet wird.
|
Players()
|
Liefert einen Verweis auf das Objekt PlayerManager, das den Zugriff auf Informationen über Spieler ermöglicht.
|
Players() const
|
const PlayerManager &
Stellt einen Const-Verweis auf das PlayerManager-Objekt bereit, der den Zugriff auf Informationen über Spieler ermöglicht.
|
RealTimeMultiplayer()
|
Enthält einen Verweis auf das Objekt RealTimeMultiplayerManager, das den Zugriff auf RTMP-Methoden ermöglicht.
|
RealTimeMultiplayer() const
|
const RealTimeMultiplayerManager &
Stellt einen Const-Verweis auf das RealTimeMultiplayerManager-Objekt bereit, das den Zugriff auf RTMP-Methoden ermöglicht.
|
SignOut()
|
void
Startet den asynchronen Abmeldevorgang.
|
Snapshots()
|
Liefert einen Verweis auf das SnapshotManager-Objekt, das für den Zugriff auf und die Bearbeitung von Snapshots verwendet wird.
|
Snapshots() const
|
const SnapshotManager &
Stellt einen Const-Verweis zum Objekt SnapshotManager bereit, das für den Zugriff auf und die Bearbeitung von Snapshots verwendet wird.
|
StartAuthorizationUI()
|
void
Löst einen plattformspezifischen Autorisierungsvorgang für Nutzer aus.
|
Stats()
|
Liefert einen Verweis auf das StatsManager-Objekt, das für den Zugriff auf Spiel- und Spielerstatistiken verwendet wird.
|
Stats() const
|
const StatsManager &
Liefert eine Konstante auf das Objekt StatsManager, das für den Zugriff auf Spiel- und Spielerstatistiken verwendet wird.
|
TurnBasedMultiplayer()
|
Stellt einen Verweis auf das Objekt TurnBasedMultiplayerManager bereit, das den Zugriff auf TBMP-bezogene Methoden ermöglicht.
|
TurnBasedMultiplayer() const
|
const TurnBasedMultiplayerManager &
Stellt einen Const-Verweis auf das Objekt TurnBasedMultiplayerManager bereit, der den Zugriff auf TBMP-bezogene Methoden ermöglicht.
|
Video()
|
Enthält eine Referenz zum VideoManager-Objekt, das den Zugriff auf videobezogene Methoden ermöglicht.
|
Video() const
|
const VideoManager &
Stellt einen Const-Verweis auf das VideoManager-Objekt bereit, der den Zugriff auf videobezogene Methoden ermöglicht.
|
Kurse |
|
---|---|
gpg:: |
Wird zum Erstellen und Konfigurieren einer Instanz der GameServices-Klasse verwendet. |
Öffentliche Typen
FlushCallback
std::function< void(FlushStatus)> FlushCallback
Definiert einen Callback-Typ, der das Ergebnis (Status) eines Flush-Vorgangs empfängt.
Wird in Flush() verwendet.
Öffentliche Funktionen
Erfolge
AchievementManager & Achievements()
Enthält einen Verweis auf das Objekt AchievementManager, das für den Zugriff auf und die Bearbeitung von Erfolgen verwendet wird.
Erfolge
const AchievementManager & Achievements() const
Stellt einen Const-Verweis auf das AchievementManager-Objekt bereit, das für den Zugriff auf und die Bearbeitung von Erfolgen verwendet wird.
Veranstaltungen
EventManager & Events()
Enthält eine Referenz zum Objekt EventManager, mit dem Ereignisse aufgerufen und bearbeitet werden können
Veranstaltungen
const EventManager & Events() const
Stellt einen Const-Verweis auf das EventManager-Objekt bereit, das für den Zugriff auf Ereignisse und die Bearbeitung von Ereignissen verwendet wird.
Leeren
void Flush( FlushCallback callback )
Leert asynchron die Hauptweiterleitungswarteschlange und gibt den Status der Leerung an den angegebenen FlushCallback zurück.
Mögliche Status sind: FLUSHED, ERROR_INTERNAL und ERROR_VERSION_UPDATE_REQUIRED.
FlushBlocking
FlushStatus FlushBlocking()
Leert synchron und ruft das Ergebnis (den Status) ab.
Mögliche Status sind: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED und ERROR_TIMEOUT. Wenn Sie dieses Zeitlimit nicht angeben, entspricht dieser Funktionsaufruf dem Aufruf von FlushStatus FlushBlocking(Timeout), wobei das Zeitlimit auf 10 Jahre festgelegt ist.
FlushBlocking
FlushStatus FlushBlocking( Timeout timeout )
Leert synchron und ruft das Ergebnis (den Status) ab.
Mögliche Status sind: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED und ERROR_TIMEOUT. Geben Sie das Zeitlimit in einer beliebigen Anzahl von Millisekunden an.
GameServices
GameServices()=delete
IsAuthorized
bool IsAuthorized()
Ermöglicht es Ihnen, den aktuellen Autorisierungsstatus explizit zu prüfen.
SDK-Nutzer sollten sich für AUTH_ACTION_*-Callbacks registrieren, um Änderungen des Autorisierungsstatus statt Abfragen durchzuführen.
Bestenlisten
LeaderboardManager & Leaderboards()
Liefert einen Verweis auf das Objekt LeaderboardManager, das für den Zugriff auf und die Bearbeitung von Erfolgen verwendet wird.
Bestenlisten
const LeaderboardManager & Leaderboards() const
Stellt einen Const-Verweis auf das Objekt LeaderboardManager bereit, das für den Zugriff auf und die Bearbeitung von Erfolgen verwendet wird.
Spieler
PlayerManager & Players()
Liefert einen Verweis auf das Objekt PlayerManager, das den Zugriff auf Informationen über Spieler ermöglicht.
Spieler
const PlayerManager & Players() const
Stellt einen Const-Verweis auf das PlayerManager-Objekt bereit, der den Zugriff auf Informationen über Spieler ermöglicht.
RealTimeMultiplayer
RealTimeMultiplayerManager & RealTimeMultiplayer()
Enthält einen Verweis auf das Objekt RealTimeMultiplayerManager, das den Zugriff auf RTMP-Methoden ermöglicht.
RealTimeMultiplayer
const RealTimeMultiplayerManager & RealTimeMultiplayer() const
Stellt einen Const-Verweis auf das RealTimeMultiplayerManager-Objekt bereit, das den Zugriff auf RTMP-Methoden ermöglicht.
SignOut
void SignOut()
Startet den asynchronen Abmeldevorgang.
Nach dem Aufrufen von SignOut sollten Sie keine Vorgänge mehr für GameServices aufrufen, bis Sie den OnAuthActionFinishedCallback erhalten, der eine erfolgreiche Abmeldung anzeigt.
Snapshots
SnapshotManager & Snapshots()
Liefert einen Verweis auf das SnapshotManager-Objekt, das für den Zugriff auf und die Bearbeitung von Snapshots verwendet wird.
Snapshots
const SnapshotManager & Snapshots() const
Stellt einen Const-Verweis zum Objekt SnapshotManager bereit, das für den Zugriff auf und die Bearbeitung von Snapshots verwendet wird.
StartAuthorizationUI
void StartAuthorizationUI()
Löst einen plattformspezifischen Autorisierungsvorgang für Nutzer aus.
Statistik
StatsManager & Stats()
Liefert einen Verweis auf das StatsManager-Objekt, das für den Zugriff auf Spiel- und Spielerstatistiken verwendet wird.
Statistik
const StatsManager & Stats() const
Liefert eine Konstante auf das Objekt StatsManager, das für den Zugriff auf Spiel- und Spielerstatistiken verwendet wird.
TurnBasedMultiplayer
TurnBasedMultiplayerManager & TurnBasedMultiplayer()
Stellt einen Verweis auf das Objekt TurnBasedMultiplayerManager bereit, das den Zugriff auf TBMP-bezogene Methoden ermöglicht.
TurnBasedMultiplayer
const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const
Stellt einen Const-Verweis auf das Objekt TurnBasedMultiplayerManager bereit, der den Zugriff auf TBMP-bezogene Methoden ermöglicht.
Video
VideoManager & Video()
Enthält eine Referenz zum VideoManager-Objekt, das den Zugriff auf videobezogene Methoden ermöglicht.
Video
const VideoManager & Video() const
Stellt einen Const-Verweis auf das VideoManager-Objekt bereit, der den Zugriff auf videobezogene Methoden ermöglicht.
~GameServices
~GameServices()