Freigeben über


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 geheimen Dev-Schlüssel. Der Schlüssel sollte nicht für Ihren Client bereitgestellt oder mit diesem veröffentlicht werden.

Voraussetzungen

  • Ein PlayFab-Entwicklerkonto.
  • Eine installierte Kopie des Unity-Editor. 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 kann wie folgt sein:
  • Das PlayFab Unity3D SDK.

Informationen zum Einrichten des PlayFab Unity3D SDK finden Sie im Artikel Schnellstart: PlayFab-Clientbibliothek für C# in Unity . In diesem Artikel wird sichergestellt, dass Sie über ein PlayFab-Konto verfügen und das Unity3D SDK ordnungsgemäß 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 dem C#-SDK auszuführen, müssen Sie den Code so ändern, dass er ein asynchrones Aufgabenmodell verwendet. Für Methoden, die geändert werden müssen, ist Async an den Methodennamen in der Signatur angefügt. Beispielsweise wird SetObject im Unity SDK zu SetObjectAsync im C#-SDK. Weitere Informationen finden Sie unter Asynchrone Programmierung mit async und await.

Obwohl Sie ein vorhandenes Unity-Projekt verwenden können, wird in dieser Schnellstartanleitung davon ausgegangen, dass Sie das Beispiel verwenden, das beim Abschließen der Schnellstart:PlayFab-Clientbibliothek für C# in Unity erstellt wurde.

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 Spielers aus, um auf die Registerkarte Spielerkonto zuzugreifen.
  • 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

  1. Öffnen Sie im Unity-Editor Ihr Beispielprojekt.

  2. Öffnen Sie im Fenster Projekt die OptionRessourcenskripts>, und öffnen Sie dann das Skript PlayFabLogin.

  3. Fügen Sie in Visual Studio der using-Anweisung Folgendes hinzu:

    using System.Collections.Generic;

  4. Um Playerdaten festzulegen, fügen Sie der PlayFabLogin -Klasse eine SetUserData -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 Wert Arthur, und Successor mit dem Wert Fred.

    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());
        });
    }
    
  5. Um Spielerdaten abzurufen, fügen Sie der PlayFabLogin -Klasse eine GetUserData -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());
        });
    }
    
  6. Rufen Sie SetUserData und GetUserData in der -Methode auf OnLoginSuccess .

    private void OnLoginSuccess(LoginResult result) {
        Debug.Log("Congratulations, you made your first successful API call!");
        SetUserData();
        GetUserData(result.PlayFabId);
    }
    
  7. 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.

Siehe auch