Mit dem Dienst „Gespeicherte Spiele“ können Sie den Spielfortschritt Ihrer Spieler bequem auf den Google-Servern speichern. Die gespeicherten Spieldaten können von Ihrem Spiel abgerufen werden, damit wiederkehrende Spieler ein Spiel auf jedem Gerät zum letzten Speicherpunkt fortsetzen können.
Mit dem Dienst „Gespeicherte Spiele“ können die Spieldaten eines Spielers auf mehreren Geräten synchronisiert werden. Wenn Sie beispielsweise ein Spiel auf Android ausführen, können Sie den Dienst „Gespeicherte Spiele“ verwenden, damit ein Spieler ein Spiel auf seinem Android-Smartphone starten und dann auf einem Tablet weiterspielen kann, ohne dass sein Fortschritt verloren geht. Dieser Dienst kann auch verwendet werden, um sicherzustellen, dass ein Spieler an der Stelle weiterspielen kann, an der er aufgehört hat, auch wenn sein Gerät verloren geht, zerstört oder gegen ein neueres Modell eingetauscht wird.
Informationen zum Implementieren gespeicherter Spiele für Ihre Plattform finden Sie unter Clientimplementierungen.
Grundlagen zu gespeicherten Spielen
Ein gespeichertes Spiel besteht aus zwei Teilen:
- Ein unstrukturiertes binäres Blob. Diese Daten können deine Wahl darstellen. Dein Spiel ist für das Parsen und Schreiben in sie verantwortlich.
- Strukturierte Metadaten – zusätzliche Eigenschaften, die mit den Binärdaten verknüpft sind. Dadurch können Google Play-Spieldienste gespeicherte Spiele in der standardmäßigen Benutzeroberfläche der Liste gespeicherter Spiele visuell darstellen und nützliche Informationen in der Google Play Spiele App bereitstellen, z. B. den Zeitstempel der letzten Aktualisierung.
Ein Spiel kann eine beliebige Anzahl gespeicherter Spiele für einen einzelnen Spieler schreiben, unterliegt jedoch dem Nutzerkontingent. Daher ist es nicht zwingend erforderlich, die Spieler auf eine einzige Speicherdatei zu beschränken.
Titelbilder
Der Dienst „Gespeicherte Spiele“ bietet neben Persistenzfunktionen auch eine visuelle Darstellung für die Nutzer. Es wird dringend empfohlen, repräsentative Bilder mit entsprechenden gespeicherten Dateien zu verknüpfen. Wenn Sie in Ihrem Spiel die Standardbenutzeroberfläche für die Liste der gespeicherten Spiele verwenden, die vom Play Spiele SDK bereitgestellt wird, werden auf der Benutzeroberfläche diese Titelbilder angezeigt. Die Titelbilder können auch in der Google Play Spiele App erscheinen.
Beschreibungen
Sie können eine kurze Beschreibung des Inhalts eines bestimmten gespeicherten Spiels eingeben. Diese Beschreibung wird den Spielern direkt angezeigt und sollte den Status zusammenfassen, den das gespeicherte Spiel repräsentiert. Beispiel: „Fighting the Goblins in the Dark Woods“.
Kontingent
Für Entwickler, die in der Cloud gespeichert sind, fallen keine Kosten an. Stattdessen werden diese Daten auf das Google Drive-Kontingent des Spielers angerechnet, sodass Sie sich keine Gedanken darüber machen müssen. Das einzige Kontingent, das Spieleentwickler berücksichtigen müssen, ist ihr Google Drive API-Kontingent.
Lese-/Schreib-Isolierung
Alle gespeicherten Spiele werden im Google Drive-Ordner mit Anwendungsdaten gespeichert. Dieser Ordner kann nur von Ihrem Spiel gelesen und geschrieben werden – er kann von den Spielen anderer Entwickler nicht angezeigt oder geändert werden, sodass die Daten besser vor Datenbeschädigungen geschützt sind. Außerdem sind gespeicherte Spiele vor direkter Manipulation durch Spieler geschützt, sodass sie einzelne gespeicherte Spiele nicht ändern können.
Offline-Support
Ihr Spiel kann weiterhin in einem gespeicherten Spiel lesen und schreiben, wenn das Gerät des Spielers offline ist. Eine Synchronisierung mit den Google Play-Spieldiensten ist jedoch erst dann wieder möglich, wenn eine Netzwerkverbindung hergestellt wurde. Sobald die Verbindung wiederhergestellt ist, aktualisieren die Google Play-Spieldienste die gespeicherten Spieldaten asynchron auf den Google-Servern.
Konfliktlösung
Wenn Sie den Dienst „Gespeicherte Spiele“ verwenden, können beim Speichern von Daten Konflikte in Ihrem Spiel auftreten. Diese Konflikte können auftreten, wenn ein Nutzer mehr als eine Instanz Ihrer Anwendung auf verschiedenen Geräten oder Computern ausführt. Ihre Anwendung muss diese Konflikte im Sinne der Nutzerfreundlichkeit lösen können.
In der Regel treten Datenkonflikte auf, wenn eine Instanz Ihrer App den Dienst „Gespeicherte Spiele“ beim Laden oder Speichern von Daten nicht erreichen kann. Im Allgemeinen lassen sich Datenkonflikte am besten vermeiden, indem immer die neuesten Daten vom Dienst geladen werden, wenn Ihre Anwendung gestartet oder fortgesetzt wird, und die Daten mit angemessener Häufigkeit im Dienst zu speichern. Es ist jedoch nicht immer möglich, Datenkonflikte zu vermeiden. Ihre Anwendung sollte alles daran setzen, mit Konflikten umzugehen, damit die Daten Ihrer Nutzer erhalten bleiben und die Nutzerfreundlichkeit nicht beeinträchtigt wird.
Beschränkungen
Die Google Play-Spieldienste erzwingen derzeit Größenbeschränkungen für Binärdaten und Titelbilder von jeweils 3 MB bzw. 800 KB.
Gespeicherte Spielmetadaten
Die strukturierten Metadaten für ein gespeichertes Spiel enthalten die folgenden Eigenschaften:
Attribut | Beschreibung |
---|---|
ID | Ein eindeutiger String, der von den Google Play-Spieldiensten für dieses gespeicherte Spiel generiert wird. Verwende diese ID, um in deinen Spieleclients auf das gespeicherte Spiel zu verweisen. |
name | Ein vom Entwickler angegebener Kurzname für das gespeicherte Spiel, z. B. „Slot 1 speichern“ oder „PlayerName_Save1“. Dieser wird Spielern nicht angezeigt. |
Beschreibung | Eine vom Entwickler bereitgestellte Beschreibung des gespeicherten Spiels. |
Zuletzt geändert | Zeitstempel in Millisekunden, der von den Google Play-Spieldiensten für die letzte Aktualisierung des gespeicherten Spiels generiert wurde. |
Wiedergabezeit | Die vom Entwickler angegebene Zeit (in Millisekunden), die im gespeicherten Spiel angezeigt wird. Dieser Wert sollte angeben, wie lange der Spieler das entsprechende Spiel gespielt hat. Ein Wert von 3.600.000 Sekunden wird beispielsweise von den Google Play-Spieldiensten als „1 Std.“ angezeigt. |
Titelbild | Dies ist eine optionale, vom Entwickler bereitgestellte Property mit Informationen zum Titelbild. |
Clientimplementierungen
Informationen zum Implementieren von „Gespeicherte Spiele“ für deine Plattform findest du in den folgenden Ressourcen: