Schnellstart: PlayFab-Clientbibliothek für Unreal Engine

Erste Schritte mit dem PlayFab-Plug-In für die Unreal Engine. Führen Sie diese Schnellstartanleitung aus, um das PlayFab Unreal Engine-Plug-In zu installieren und Beispiel-Apps zu erstellen, die die C++-Clientbibliothek und die Blaupausenschnittstelle verwenden.

Sie können das PlayFab-Plug-In für die Unreal Engine verwenden, um LiveOps für Ihren Titel zu verwalten und Administrator-, Client- und Servervorgänge auszuführen, z. B.:

Voraussetzungen

Erstellen eines Unreal-Projekts

Erstellen Sie in Unreal Engine ein neues Unreal-Projekt. Ausführliche Anweisungen finden Sie im Leitfaden Erstellen eines neuen Projekts.

  1. Wählen Sie unter Projektkategoriedie Option Spiele aus.
  2. Wählen Sie unter Vorlage auswählen die Option Leer aus.
  3. Wählen Sie unter Projekteinstellungen entweder C++ oder Blaupause aus.
  4. Wählen Sie No Starter Content (Kein Starterinhalt) aus.
  5. Wählen Sie einen Namen für Ihr Projekt aus, z. B. MyProject.

Aktivieren des PlayFab-Plug-Ins in Ihrem Unreal-Projekt

So aktivieren Sie das PlayFab-Plug-In

  1. Wählen Sie im Menü Einstellungen unter Spielspezifische Einstellungendie Option Plug-Ins aus.
  2. Aktivieren Sie das PlayFab-Plug-In, und starten Sie Unreal Engine nach Bedarf neu.

Hinzufügen von PlayFab als Modulabhängigkeit in C++

Fügen Sie in Visual Studio PlayFab als Modulabhängigkeit in Ihrem C++-Projekt hinzu:

  1. Öffnen Sie im Menü Ansicht Projektmappen-Explorer, in dem Ihre C++-Projektdateien angezeigt werden.

  2. Navigieren Sie Projektmappen-Explorer zu Projektmappe\Spiele\IhrProjektname\Quelle, und öffnen Sie YourProjectName.Build.cs.

  3. Fügen Sie die folgende Zeile hinzu:

    PrivateDependencyModuleNames.AddRange(new string[] { "PlayFab", "PlayFabCpp", "PlayFabCommon" });
    
  4. Speichern Sie Ihre Änderungen.

Generieren der erforderlichen Visual Studio-Projektdateien

So aktualisieren und generieren Sie die Visual Studio-Projektdateien, die für die Verwendung des PlayFab-Plug-Ins erforderlich sind:

  1. Öffnen Sie ein Datei-Explorer-Fenster, und navigieren Sie zum Ordner, in dem sich Ihre Projektdateien befinden.
  2. Klicken Sie im Stammordner des Projekts mit der rechten Maustaste auf die Datei YourProjectName.uproject.
  3. Wählen Sie im Kontextmenü Visual Studio-Projektdateien generieren aus.

Aufrufen von PlayFab mit C++

Die folgenden Schritte führen Sie durch das Erstellen einer Kachel, die sich mit einer benutzerdefinierten ID bei PlayFab anmeldet. Informationen zum Anmelden über ein Blueprints-Projekt finden Sie weiter unten in diesem Artikel unter Aufrufen von PlayFab aus Unreal Blueprints.

Erstellen eines neuen Akteurs

So erstellen Sie einen neuen Actor:

  1. Wählen Sie im Menü Datei die Option Neue C++-Klasse aus.

  2. Wählen Sie unter Übergeordnete Klassedie Option Actor aus.

  3. Nennen Sie Ihren Akteur LoginActor. Nachdem Sie den Actor erstellt haben, öffnet Unreal Engine automatisch Ihre C++-Entwicklungsumgebung und lädt LoginActor.cpp und LoginActor.h.

    Wichtig

    Für diese Schnellstartanleitung müssen Sie den Actor LoginActor nennen. Wenn Sie dem Actor einen anderen Namen geben, müssen Sie den in dieser Schnellstartanleitung bereitgestellten Beispielcode so aktualisieren, dass er mit dem neuen Namen übereinstimmt.

  4. Ziehen Sie den neuen Actor LoginActor aus dem Inhaltsbrowser in den Viewport-Bereich. Sie wird jetzt im Bereich "Weltgliederung" angezeigt. Wenn Ihr LoginActor nicht angezeigt wird, wählen Sie das Symbol Quellbereich anzeigen oder ausblenden aus. Wählen Sie dann den Namen Ihres Projekts unter den C++-Klassen aus.

    Inhaltsbrowser mit dem Quellbereichssymbol.

Login Actor in World

Hinzufügen von PlayFab-API-Aufrufen zu Ihrem C++-LoginActor

In dieser Schnellstartanleitung verwenden Sie LoginWithCustomID , um die Anmeldung durchzuführen. Obwohl LoginWithCustomId für den Einstieg einfach zu verwenden ist, empfehlen wir, für die Veröffentlichung Ihres Spiels zu einer sichereren Authentifizierungsmethode für Spieler zu wechseln. Informationen zum Implementieren robuster Anmeldefunktionen finden Sie unter Anmeldegrundlagen und bewährte Methoden .

Der LoginWithCustomID Aufruf erfolgt in Ihrem LoginActor. So fügen Sie Ihrem LoginActor den PlayFab-spezifischen Code hinzu:

  1. Ersetzen Sie den Inhalt von LoginActor.h durch den gezeigten Code:
#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "PlayFab.h"
#include "Core/PlayFabError.h"
#include "Core/PlayFabClientDataModels.h"
#include "LoginActor.generated.h"

UCLASS()
class ALoginActor : public AActor
{
    GENERATED_BODY()
public:
    ALoginActor();
    virtual void BeginPlay() override;
    void OnSuccess(const PlayFab::ClientModels::FLoginResult& Result) const;
    void OnError(const PlayFab::FPlayFabCppError& ErrorResult) const;

    virtual void Tick(float DeltaSeconds) override;
private:
    PlayFabClientPtr clientAPI = nullptr;
};
  1. Ersetzen Sie den Inhalt von LoginActor.cpp durch den folgenden Code.
#include "LoginActor.h"
#include "Core/PlayFabClientAPI.h"

ALoginActor::ALoginActor()
{
    PrimaryActorTick.bCanEverTick = true;
}

void ALoginActor::BeginPlay()
{
    Super::BeginPlay();
    
    GetMutableDefault<UPlayFabRuntimeSettings>()->TitleId = TEXT("144");
    
    clientAPI = IPlayFabModuleInterface::Get().GetClientAPI();

    PlayFab::ClientModels::FLoginWithCustomIDRequest request;
    request.CustomId = TEXT("GettingStartedGuide");
    request.CreateAccount = true;

    clientAPI->LoginWithCustomID(request,
        PlayFab::UPlayFabClientAPI::FLoginWithCustomIDDelegate::CreateUObject(this, &ALoginActor::OnSuccess),
        PlayFab::FPlayFabErrorDelegate::CreateUObject(this, &ALoginActor::OnError)
    );
}

void ALoginActor::OnSuccess(const PlayFab::ClientModels::FLoginResult& Result) const
{
    UE_LOG(LogTemp, Log, TEXT("Congratulations, you made your first successful API call!"));
}

void ALoginActor::OnError(const PlayFab::FPlayFabCppError& ErrorResult) const
{
    UE_LOG(LogTemp, Error, TEXT("Something went wrong with your first API call.\nHere's some debug information:\n%s"), *ErrorResult.GenerateErrorReport());
}

void ALoginActor::Tick(float DeltaTime)
{
    Super::Tick(DeltaTime);
}

Tipp

IntelliSense in Visual Studio gibt an, dass die Includedateien und der PlayFab-Namespace nicht gefunden werden können. Sie können diese Warnungen problemlos ignorieren. Wenn Sie Ihr Projekt ausführen, wird es ordnungsgemäß erstellt und ausgeführt.

Fertigstellen und Ausführen mit C++

Jetzt können Sie einen Aufruf von PlayFab von Unreal Engine in C++ testen. Die Ergebnisse Ihres Testaufrufs werden im Ausgabeprotokoll von Unreal Engine angezeigt.

In Unreal Engine:

  1. Zeigen Sie das Ausgabeprotokoll im Windows-Menü an, wählen Sie Entwicklertools aus, und aktivieren Sie Ausgabeprotokoll.
  2. Wählen Sie auf der Symbolleiste Kompilieren aus, und warten Sie, bis Unreal Engine die Kompilierung abgeschlossen hat. Während Der Code kompiliert, zeigt Unreal einen "Kompilieren von C++-Code" an.
  3. Wähle Spielen aus. Wenn der Code ausgeführt wird, zeigt Unreal Folgendes im Fenster Ausgabeprotokoll an :

LogTemp: Congratulations, you made your first successful API call!

Ausgabeprotokoll– erfolgreicher Aufruf

Aufrufen von PlayFab aus Unreal Blueprints

Dieser Abschnitt führt Sie durch das Erstellen einer Blaupausenstruktur, die die PlayFab-API verwendet, um LoginWithCustomID aufzurufen. Obwohl LoginWithCustomId für den Einstieg einfach zu verwenden ist, empfehlen wir, für die Veröffentlichung Ihres Spiels zu einer sichereren Authentifizierungsmethode für Spieler zu wechseln. Informationen zum Implementieren robuster Anmeldefunktionen finden Sie unter Anmeldegrundlagen und bewährte Methoden .

Tipp

Wenn Sie mit einem Blaupausenprojekt beginnen, müssen Sie es in ein C++-Projekt konvertieren, damit die PlayFab-Blaupausenaktionen funktionieren.

Erstellen einer Blaupausenstruktur

Wählen Sie Unreal Engine auf der Symbolleiste Blaupause öffnen aus.

Beispielbild für eine offene Blaupausenebene

EventGraph wird geöffnet und ist mit zwei Aktionen vorab aufgefüllt. Event BeginPlay und Event Tick.

In dieser Schnellstartanleitung verwendete Aktionen:

  • Set Play Fab Settings
  • Login with Custom ID
  • Make ClientLoginWithCustomIDRequest
  • AddCustomEvent x 2
  • Break PlayFabError
  • Print String x 2

Erstellen Sie Ihre Blaupause wie folgt:

  • Wählen Sie die Ausgabenadel aus, Event BeginPlay und ziehen Sie ihn an eine geöffnete Position im Ereignisgraphen. Suchen Sie im Dialogfeld Ausführbare Aktionen nach Set Play Fab Settings dem Befehl, und wählen Sie es aus, um es Ihrer Blaupause hinzuzufügen. Wenn Set Play Fab Settingsdie Spieltitel-ID in leer ist, legen Sie sie auf die Titel-ID Ihres Spiels fest.

  • Wählen Sie den Ausgabeanschluss ein, Set Play Fab Settings und ziehen Sie ihn an eine geöffnete Position. Suchen Sie im Dialogfeld Ausführbare Aktionen nach Login with Custom ID dem Befehl, und wählen Sie es aus, um es Ihrer Blaupause hinzuzufügen.

  • Wählen Sie die Anheftung Anfordern aus, Login with Custom ID und ziehen Sie ihn an eine leere Position. Wählen Sie unter Aktionen, die eine(n) Clientanmeldung mit benutzerdefinierter ID-Anforderungsstruktur bereitstellen, die Option aus Make ClientLoginWithCustomIDRequest.

  • Auf Make ClientLoginWithCustomIDRequest:

    • Wählen Sie Konto erstellen aus.
    • Legen Sie die benutzerdefinierte ID auf GettingStartedGuide fest.
  • Wählen Sie unter Login with Custom IDden Pin Bei Erfolg aus, und ziehen Sie ihn an eine leere Position. Suchen Sie in den Aktionen, die einen(n) Delegaten bereitstellen, nach Add Custom Event dem Stellvertretung, und wählen Sie ihn aus, um sie Ihrer Blaupause hinzuzufügen.

    • Nennen Sie es OnLogin.
  • Wählen Sie den Pin Bei Fehler aus, und ziehen Sie ihn an eine leere Position. Suchen Sie in den Aktionen, die einen(n) Delegaten bereitstellen, nach Add Custom Event dem Stellvertretung, und wählen Sie ihn aus, um sie Ihrer Blaupause hinzuzufügen.

    • Nennen Sie es OnFailure.
  • Wählen Sie die Ausgabenadel aus, OnLogin und ziehen Sie ihn an eine leere Position. Suchen Sie im Dialogfeld Ausführbare Aktionen nach Print String , und wählen Sie es aus, um es der Blaupause hinzuzufügen.

    • Print StringLegen Sie unter den Wert In String auf "Herzlichen Glückwunsch, Sie haben Ihren ersten erfolgreichen PlayFab-API-Aufruf mithilfe von Blueprint ausgeführt!".
  • Wählen Sie den Ausgabepin von aus, OnFailure und ziehen Sie ihn an eine leere Position. Suchen Sie im Dialogfeld Ausführbare Aktionen nach Print String , und wählen Sie es aus, um es der Blaupause hinzuzufügen.

  • Wählen Sie die Pin Fehler aus, OnFailure und ziehen Sie ihn an eine leere Position. Suchen Sie im Dialogfeld Aktionen, die eine(n) Zeichenfolge bereitstellen nach PlayFabError unterbrechen , und wählen Sie es aus, um es der Blaupause hinzuzufügen. Suchen Sie im Dialogfeld Aktionen, die eine(n) PlayFab-Fehlerstruktur ausführen nach PlayFabError unterbrechen , und wählen Sie ihn aus, um es der Blaupause hinzuzufügen.

  • Verbinden Sie den Pin Fehlermeldung von Break PlayFabError mit dem Pin In String von bei Fehleraktion Print String .

Wenn Sie fertig sind, sollte Ihre Blaupause in etwa wie folgt aussehen:

Geöffnete Blaupausen-Benutzeroberfläche

Speichern Sie die Blaupause, und schließen Sie das Fenster Blaupausen-Editor.

Ausführen eines PlayFab-Aufrufs mit Blaupause

  1. Wählen Sie auf der Symbolleiste die Schaltfläche Wiedergeben aus.

  2. Wenn die Blaupause ausgeführt wird, wird die folgende Ausgabe im Viewport-Fenster angezeigt.

    Erfolg des Blaupausenprotokolls

Herzlichen Glückwunsch, Sie haben Ihren ersten erfolgreichen PlayFab-API-Aufruf mithilfe von Blueprint durchgeführt!

Weitere Ressourcen