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:
  • 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

  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 folgenden 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. So rufen Sie die Add-Aufrufe von 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