Freigeben über


Schnellstart-Bestenlisten

In diesem Leitfaden erfahren Sie, wie Sie die Entwicklungsumgebung für den Bestenlistendienst einrichten. Außerdem erfahren Sie, wie Sie auf unserer Website Game Manager eine schnelle Bestenliste erstellen.

Voraussetzungen

Wir benötigen ein PlayFab-Konto, um den PlayFab-Bestenlistendienst verwenden zu können. Anweisungen zum Erstellen eines Kontos finden Sie unter Authentifizierung.

Erstellen einer Bestenliste

Wählen Sie im linken Menü Die Option Fortschritt aus.

PlayFab-Bestenlisten–Hauptmenü

Wir wählen nun im oberen Menü die Registerkarte Bestenlisten aus.

PlayFab Leaderboards Game Manager

Anschließend wechseln wir zur Schaltfläche "Neue Bestenliste" und erstellen unsere Bestenlistendefinition.

PlayFab-Bestenlistendefinition

Hier können wir jeden Aspekt der Bestenliste konfigurieren. Weitere Informationen zu den verfügbaren Parametern und zum Erstellen von Bestenlisten finden Sie hier:

Das Endergebnis sollte wie folgt aussehen.

Verwendung von PlayFab-Bestenlisten

Einrichten der Umgebung

Hier erfahren Sie, wie Sie die Entwicklerumgebung für die Verwendung des C#-SDK einrichten, aber die hier vorgestellten Konzepte können auch mit anderen SDK- oder einfachen HTTP-Anforderungen funktionieren.

Festlegen von TitleId und DeveloperSecretKey

DeveloperSecretKey ist für die Authentifizierung als Titelentität erforderlich.

PlayFabSettings.staticSettings.TitleId = ""; // Change this value to your own titleId from PlayFab Game Manager
PlayFabSettings.staticSettings.DeveloperSecretKey = ""; // Change this to your title's secret key from Game Manager

Erstellen eines Titels und Abrufen des geheimen Schlüssels

  • Melden Sie sich bei an https://playfab.com/
  • Erstellen eines Titels
    • Suchen Sie die Titel-ID im Abschnitt API-Features unter einstellungen.
  • Generieren eines geheimen Schlüssels:
    • Zahnrad neben dem Titelnamen oben links in der Titelansicht
    • Titeleinstellungen
    • Geheime Schlüssel
    • Neuer geheimer Schlüssel

So sieht die Benutzeroberfläche aus, wenn Sie den Abschnitt Geheimer Schlüssel in Game Manager finden.

PlayFab-Bestenlistenschlüssel

Melden Sie sich als Titel an.

Für Schreibvorgänge empfehlen wir die Verwendung von TitleEntity von Ihrem Spielserver. Diese Methode gibt den zurück, der AuthenticationContext für alle anforderungen verwendet wird, die wir stellen.

public static async Task<PlayFabAuthenticationContext> LoginAsTitleEntity()
{
    GetEntityTokenRequest request = new GetEntityTokenRequest()
    {
        Entity = new PlayFab.AuthenticationModels.EntityKey()
        {
            Id = PlayFabSettings.staticSettings.TitleId,
            Type = "title",
        },                
    };

    PlayFabResult<GetEntityTokenResponse> entityTokenResult = await PlayFabAuthenticationAPI.GetEntityTokenAsync(request);

    PlayFabAuthenticationContext authContext = new PlayFabAuthenticationContext
    {
        EntityToken = entityTokenResult.Result.EntityToken
    };
    
    return authContext;
}

Melden Sie sich als Spieler an (Spieler erstellen)

Diese Methode erstellt einen Player basierend auf einem Bezeichner, der eine Entität vom Typ title_player_accountzurückgibt. Weitere Informationen finden Sie hier: Schnellstartentitäten

private static async Task<PlayFabAuthenticationContext> LoginAsPlayer(string customId = "GettingStartedGuide")
{
    LoginWithCustomIDRequest request = new LoginWithCustomIDRequest { CustomId = customId, CreateAccount = true };

    PlayFabResult<LoginResult> loginResult = await PlayFabClientAPI.LoginWithCustomIDAsync(request);

    return loginResult.Result.AuthenticationContext;
}

Festlegen der Anzeigenameneigenschaft für eine Entität

Damit die DisplayName -Eigenschaft als Teil der Antwort der "Get Leaderboards-APIs" verfügbar ist, müssen wir den folgenden Code für jede Entität ausführen, die wir erstellt haben, um die Entität dem benutzerdefinierten Anzeigenamen des Spiels zuzuordnen.

private static async Task UpdateEntityDisplayName(PlayFabAuthenticationContext context, string customId)
{
    SetDisplayNameRequest request = new SetDisplayNameRequest()
    {
        AuthenticationContext = context,
        DisplayName = customId,
        Entity = new PlayFab.ProfilesModels.EntityKey()
        {
            Id = context.EntityId,
            Type = context.EntityType,
        },
    };

    PlayFabResult<SetDisplayNameResponse> updateNameResult = await PlayFabProfilesAPI.SetDisplayNameAsync(request);
}

Weitere Informationen