Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Google Play Spiele C++ SDK
Zusammenfassung
Organisation
Der Haupteinstiegspunkt für die Funktionen der Play-Spieldienste ist die Klasse GameServices. GameServices-Instanzen werden mit GameServices::Builder erstellt. Siehe GameServices
Methoden, die auf den Status der gesamten GameServices-Sitzung zugreifen oder diesen ändern, sind in der GameServices-Klasse selbst verfügbar.
Andere Funktionen werden durch eine Reihe von Feature-Managern gelenkt. Diese Manager gruppieren verwandte Funktionen in einer Gruppe. Sie enthalten selbst keinen für den Nutzer sichtbaren Status. Manager werden durch Verweis zurückgegeben und ihre Lebensdauer wird von der GameServices-Instanz gesteuert, in der sie enthalten ist. Daher sollte der Clientcode nie an einer Managerreferenz, sondern an der GameServices-Instanz bleiben. Siehe Administratoren.
Daten werden über unveränderliche Werttypobjekte zurückgegeben. Diese Werte spiegeln eine konsistente Ansicht der zugrunde liegenden Daten zum Zeitpunkt der Abfrage wider. Siehe Werttypen.
Threading-Modell
Sofern nicht anders angegeben, sind alle GameServices- und Manager-Methoden Thread-sicher und asynchron. Sie können für jeden Thread ohne externe Sperrung aufgerufen werden und werden in einer Reihenfolge ausgeführt, die ihrer Aufrufreihenfolge entspricht. Im Allgemeinen wird für Mutatormethoden, die den Status ändern, ein Fire-and-Forget-Modell verwendet. Zugriffsmethoden (die den Status lesen) gibt es in zwei Hauptvarianten. Die erste Variante (mit Namen wie GetProperty) stellt ihre Ergebnisse asynchron an einen bereitgestellten Callback bereit. Die zweite Variante (mit Namen wie GetPropertyBlocking) gibt ihre Ergebnisse synchron an den aufrufenden Thread zurück. Zugriffsberechtigungen sehen die Ergebnisse aller zuvor aufgerufenen Mutatoren. Der Mutator kann jedoch den Status der Remote-Spieldienste jederzeit geändert haben.
Alle Nutzer-Callbacks werden in einem dedizierten Callback-Thread aufgerufen. Dabei kann es sich um einzelne Callbacks handeln, die als Argumente für Zugriffsmethoden bereitgestellt werden, oder Callbacks für mehrere Zwecke, die zum Build-Zeitpunkt von GameServices konfiguriert wurden. Dieser Thread unterscheidet sich möglicherweise von jedem Plattformkonzept eines „Hauptthreads“ oder „UI-Threads“. Nutzer-Callbacks sollten schnell ausgeführt werden, da ein angehaltener Callback-Thread für Nutzer sichtbare Probleme verursachen kann, z. B. einen verzögerten Abschluss einer Abmeldeanfrage.
Eigenschaften für unveränderliche Werttypen sind synchron und ohne Blockierung verfügbar.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Google Play Games C++ SDK\n=========================\n\nSummary\n-------\n\nOrganization\n\nThe main entry point for Play Game Services functionality is the GameServices class. GameServices instances are created with GameServices::Builder. See [GameServices](/games/services/cpp/api/other/classgpg_1_1GameServices)\n\nMethods that access or mutate the state of the entire GameServices session live in the GameServices class itself.\n\nOther functionality is indirected through a set of per-feature managers. These managers group related functionality together; they contain no user-visible state themselves. Managers are returned by reference, and have lifetime controlled by the containing GameServices instance. As such, client code should never hold onto a manager reference, but instead hold on to the GameServices instance. See [Managers](/games/services/cpp/api/other/group__Managers).\n\nData is returned via immutable value type objects. These values reflect a consistent view of the underlying data at the point in time the query was made. See [Value Types](/games/services/cpp/api/other/group__ValueType).\n\nThreading Model\n\nUnless otherwise noted, all GameServices methods and Manager methods are threadsafe and asynchronous. They can be called on any thread without external locking, and will execute in an order consistent with their invocation order. In general, mutator methods (those that change state) use a fire-and-forget model. Accessor methods (those that read state) come in two major variants. The first variant (with names like GetProperty) asynchronously supply their results to a provided callback; the second variant (with names like GetPropertyBlocking) synchronously return their results to the calling thread. Accessors see the results of all mutators that have been called prior; however, the mutator may or may not have modified the remote Game Services state at any given time.\n\nAll user callbacks (whether one-shot callbacks supplied as arguments to accessor methods, or multi-use callbacks configured at GameServices build time) are invoked on a dedicated callback thread. This thread is potentially distinct from any platform concept of a \"main thread\" or \"UI thread\". User callbacks should execute quickly, as a stalled callback thread can cause user-visible issues (for example, delayed completion of a sign-out request).\n\nProperties on immutable value types are available synchronously and without blocking."]]