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, wird angenommen, 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
Stellt eine Const-Referenz auf das Objekt AchievementManager bereit, mit dem Erfolge aufgerufen und 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
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
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
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::GameServices::Builder

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