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 typedef
std::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
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
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
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
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::GameServices::Builder

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()