Schnellstart: Festlegen und Abrufen von Spielerdaten
Notiz
In den PlayFab-APIs verwenden die Funktionsnamen den Begriff UserData. Im Game Manager wird dieses Konzept als Spielerdaten beschrieben. Sie sind identisch und austauschbar.
Erste Schritte mit PlayFab Player Data. In dieser Schnellstartanleitung erfahren Sie, wie Sie Spielerdaten mit C# in Unity und PlayFab CloudScript festlegen und abrufen.
Spielerdaten sind Informationen, die für einen einzelnen Spieler oder eine Spielergruppe gelten (freigegebene Daten) und von PlayFab als Schlüssel-Wert-Paare (KVPs) gespeichert werden. In diesem Artikel werden Client-API-Aufrufe behandelt, die von jedem Prozess oder Kontext aus sicher aufgerufen werden können. Außerdem werden Server-API-Aufrufe behandelt, die nur von einem dedizierten Serverprozess, den Sie steuern, oder einem sorgfältig geschützten CloudScript-Aufruf erfolgen sollten. Server-APIs erfordern Ihren dev secret-Schlüssel, den Sie niemals für Ihren Client bereitstellen oder veröffentlichen sollten.
Die C#-Beispiele in diesem Artikel wurden für das Unity SDK geschrieben. Das Unity SDK verwendet ein ereignisgesteuertes Modell, um nicht synchrone Aufgaben zu verarbeiten. Um den Beispielcode mit den Standard-C#- oder Xamarin C#-SDKs auszuführen, müssen Sie den Code so ändern, dass er ein asynchrones Aufgabenmodell verwendet. Methoden, die geändert werden müssen, weisen Async an den Methodennamen in der Signatur an. Beispielsweise wird SetObject im Unity SDK im Standard-C#-SDK zu SetObjectAsync. Weitere Informationen finden Sie unter Asynchrone Programmierung mit async und await.
Voraussetzungen
- Ein PlayFab-Entwicklerkonto.
- Eine installierte Kopie des Unity-Editors. Informationen zum Installieren von Unity für den persönlichen Gebrauch über Unity Hub oder Unity+ für die professionelle Verwendung finden Sie unter Herunterladen von Unity.
Notiz
Das PlayFab Unity3D SDK unterstützt Unity Editor Version 5.3 (veröffentlicht im Dezember 2015) und höher.
- Ein Unity-Projekt– dies kann eine der folgenden Sein:
- Ein brandneues Projekt. Weitere Informationen finden Sie unter Erstmaliges Starten von Unity.
- Ein geführtes Tutorialprojekt. Weitere Informationen finden Sie unter Erste Schritte mit Unity.
- Ein vorhandenes Projekt.
- Das PlayFab Unity3D SDK.
Informationen zum Einrichten des PlayFab Unity3D SDK finden Sie im Artikel Schnellstart: PlayFab-Clientbibliothek für C# in Unity , der sicherstellt, dass Sie über ein PlayFab-Konto verfügen und das Unity3D SDK konfiguriert haben.
Informationen zu den Codebeispielen
Die C#-Beispiele in diesem Artikel wurden für das Unity SDK geschrieben. Das Unity SDK verwendet ein ereignisgesteuertes Modell, um nicht synchrone Aufgaben zu verarbeiten. Um den Beispielcode mit den Standard-C#- oder Xamarin C#-SDKs auszuführen, müssen Sie den Code so ändern, dass er ein asynchrones Aufgabenmodell verwendet. Methoden, die geändert werden müssen, weisen Async an den Methodennamen in der Signatur an. Beispielsweise wird SetObject im Unity SDK im Standard-C#-SDK zu SetObjectAsync. Weitere Informationen finden Sie unter Asynchrone Programmierung mit async und await.
Während Sie ein vorhandenes mit Unity-Projekt verwenden können, gehen die Verfahren in dieser Schnellstartanleitung davon aus, dass Sie das Beispiel verwenden, das Sie erstellen, wenn Sie die Schnellstart:PlayFab-Clientbibliothek für C# in Unity abschließen.
Spielerdaten in Game Manager
Sie können Spielerdaten jederzeit über Game Manager abrufen und festlegen, indem Sie die folgenden Schritte ausführen.
- Öffnen Sie den Game Manager. Wenn Sie damit nicht vertraut sind, lesen Sie den Game Manager-Schnellstart.
- Wählen Sie die Registerkarte Spieler aus.
- Wählen Sie den Namen des Players aus. Dadurch gelangen Sie zur Registerkarte Spielerkonto .
- Wählen Sie die Registerkarte Spielerdaten aus, um die zugehörigen Daten anzuzeigen.
Hinzufügen einer Methode zum Festlegen der Spielerdaten und Abrufen der Spielerdaten
Öffnen Sie im Unity-Editor Ihr Beispielprojekt.
Öffnen Sie im Fenster Projekt die OptionRessourcenskripts>, und öffnen Sie dann das Skript PlayFabLogin.
Fügen Sie in Visual Studio der folgenden using-Anweisung Folgendes hinzu:
using System.Collections.Generic;
Um Playerdaten festzulegen, fügen Sie der
PlayFabLogin
-Klasse eineSetUserData
-Methode hinzu.SetUserData
verwendet die UpdateUserData-Methode , um die Playerdaten für den angemeldeten Spieler zu erstellen oder zu aktualisieren.Die -Methode erstellt (oder aktualisiert, wenn die Schlüssel-Wert-Paare (KVPS) bereits vorhanden sind), die KVPs
Ancestor
mit dem WertArthur
, undSuccessor
mit dem WertFred
.void SetUserData() { PlayFabClientAPI.UpdateUserData(new UpdateUserDataRequest() { Data = new Dictionary<string, string>() { {"Ancestor", "Arthur"}, {"Successor", "Fred"} } }, result => Debug.Log("Successfully updated user data"), error => { Debug.Log("Got error setting user data Ancestor to Arthur"); Debug.Log(error.GenerateErrorReport()); }); }
Um Spielerdaten abzurufen, fügen Sie der
PlayFabLogin
-Klasse eineGetUserData
-Methode hinzu.SetUserData
verwendet die GetUserData-Methode , um die Playerdaten für den angegebenen Player abzurufen.void GetUserData(string myPlayFabId) { PlayFabClientAPI.GetUserData(new GetUserDataRequest() { PlayFabId = myPlayFabId, Keys = null }, result => { Debug.Log("Got user data:"); if (result.Data == null || !result.Data.ContainsKey("Ancestor")) Debug.Log("No Ancestor"); else Debug.Log("Ancestor: "+result.Data["Ancestor"].Value); }, (error) => { Debug.Log("Got error retrieving user data:"); Debug.Log(error.GenerateErrorReport()); }); }
So rufen Sie die Add-Aufrufe von
SetUserData
undGetUserData
in der -Methode aufOnLoginSuccess
:private void OnLoginSuccess(LoginResult result) { Debug.Log("Congratulations, you made your first successful API call!"); SetUserData(); GetUserData(result.PlayFabId); }
Speichere die Datei.
Ausführen des Beispiels
Wählen Sie im Unity-Editor die Wiedergabeschaltfläche aus. Bei Erfolg werden die Ergebnisse der -Aufrufe im Konsolenfenster angezeigt.