Freigeben über


Einrichten der PlayFab-Authentifizierung mit Kongregate und Unity

In diesem Tutorial erfahren Sie, wie sie für die Authentifizierung Ihrer Spieler in PlayFab mit Kongregate und Unity minimal eingerichtet werden müssen.

Voraussetzungen

Einrichten einer Kongregate-App

Kongregate erfordert, dass Sie eine Vorschauversion der App hochladen, bevor Sie Zugriff auf die erforderlichen App-Informationen erhalten. Unser erster Schritt besteht darin, eine index.html-Datei mit dem unten gezeigten Inhalt vorzubereiten.

<!doctype html>
<html lang="en-us">
<head></head>
<body>
 <h1>Placeholder</h1>
</body>
</html>

Navigieren Sie zur Kongregate-Website.

  1. Wählen Sie die Registerkarte Spiele aus.
  2. Wählen Sie dann die Schaltfläche Spiel hochladen aus.

Kongregate-Registerkarte

Eine Seite zum Einrichten einer neuen Anwendung wird geöffnet.

  1. Stellen Sie sicher, dass Sie den Anwendungsnamen eingeben.
  2. Geben Sie eine Spielbeschreibung ein.
  3. Wählen Sie dann eine Kategorie aus.
  4. Übermitteln Sie die neue App, indem Sie auf die Schaltfläche Weiter klicken.

Kongregate laden Sie Ihr Spiel hoch

Sie werden zur Seite Anwendungsupload übertragen.

Stellen Sie zunächst – und vor allem – sicher, dass Sie die URL aus Ihrer Webadressleiste an einem sicheren und leicht zugänglichen Ort speichern. Dadurch sparen Sie viel Zeit beim Wiederherstellen des Zugriffs auf die Anwendung, nachdem Sie die Seite geschlossen haben.

  1. Wählen Sie anschließend die vorbereitete index.html Datei als Spieldatei aus.
  2. Richten Sie dann die Bildschirmgröße ein.
  3. Stellen Sie sicher, dass Sie alle erforderlichen Lizenzen akzeptieren.
  4. Laden Sie schließlich Ihre Anwendung hoch, indem Sie die Schaltfläche Hochladen auswählen.

Seite zum Hochladen der Kongregate-Anwendung

Nachdem die Vorschau geöffnet wurde, ignorieren Sie den Inhalt, und öffnen Sie den Link zu API-Informationen .

Informationen zur Kongregate-Vorschau-API

Wenn die Seite API-Informationen geöffnet wird, suchen Sie den API-Schlüssel , und bewahren Sie ihn an einem sicheren Ort auf, der für die spätere Verwendung leicht zugänglich ist.

Kongregate-API-Schlüssel

Konfigurieren des PlayFab-Titels

In Ihrem PlayFab-Titel Game Manager:

  1. Wählen Sie im Menü auf der linken Seite Add-Ons aus.
  2. Suchen Sie das Symbol Kongregate , und wählen Sie es aus.

PlayFab select Kongregate Add-on

Eine neue Seite wird geöffnet, mit der Sie die Kongregate-Integration einrichten können:

  1. Geben Sie den API-Schlüssel ein , den Sie im vorherigen Abschnitt erworben haben.
  2. Wählen Sie die Schaltfläche Install Kongregate (Kongregate installieren ) aus.

PlayFab richtet die Kongregate-Integration ein

Wenn Sie keine Fehlermeldung erhalten, haben Sie die PlayFab-Titelintegration mit Ihrer Kongregate-Anwendung ordnungsgemäß konfiguriert.

Einrichten eines Unity-Projekts

Verwenden Sie diese Unity-Setupprüfliste:

Ordner

Nun erstellen wir Ihre Arbeitsszene.

  1. Verwenden Sie zu Testzwecken einen Bildschirmskalierungsbereich mit einigen Textbeschriftungen.

Notiz

Wir benötigen nur eine Textbezeichnung, um Debugmeldungen anzuzeigen.

  1. Erstellen Sie ein leeres GameObject, und benennen Sie es in Kongregate um.

Unity BootScene

Diese GameObject enthält eine KongregateHandler Komponente mit einer verkabelten Textbezeichnung für Debugmeldungen.

Unity GameObject Kongregate-Handler

Der Code für die KongregateHandler Komponente ist unten angegeben.

// We are specifically interested in importing PlayFab related namespaces
using PlayFab;
using PlayFab.ClientModels;
using UnityEngine;
using UnityEngine.UI;

public class KongregateHandler : MonoBehaviour
{
  
    // Standard unity callback, executed once for the script to start
    public void Start()
    {
        // Utility: show feedback
        SetMessage("Loading kongregate api...");

        /*
         * Important: execute Javascript in the external context to initialize
         * Kongregate API, Unity Support and set up callback GameObject and Method.
         * In this case, callback is set to a GameObject called Kongregate and a
         * method called OnKongregateAPILoaded, which we define later in this class.
         * Once Kongregate API is initialized, Unity will locate this object by name
         * ("Kongregate") and execute a method "OnKongregateAPILoaded" passing in user
         * info string as an argument.
         */
        Application.ExternalEval(
          "if(typeof(kongregateUnitySupport) != 'undefined'){" +
          " kongregateUnitySupport.initAPI('Kongregate', 'OnKongregateAPILoaded');" +
          "} else {" +
          " console.error('No unity support!');" +
          "};"
        );
    }

    /*
     * Executed once Kongregate API is ready. This method is invoked by KongregateAPI
     * and receives a structured text with multiple pieces of data you must parse manually.
     * The userInfo string parameter has the following structure: 'user_identifier|user_name|auth_token'
     */
    public void OnKongregateAPILoaded(string userInfo)
    {
        SetMessage("Received user info! Logging though playfab...");

        // We split userInfo string using '|' character to acquire auth token and Kongregate ID.
        var userInfoArray = userInfo.Split('|');
        var authTicket = userInfoArray[2];
        var kongregateId = userInfoArray[0];

        LogToBrowser("Auth Token: " + authTicket);
        LogToBrowser("Kongregate Id: " + kongregateId);

        /*
         * We then execute PlayFab API call called LoginWithKongregate.
         * LoginWithKongregate requires KongregateID and AuthTicket.
         * We also pass CreateAccount flag, to automatically create player account.
         */
        PlayFabClientAPI.LoginWithKongregate(new LoginWithKongregateRequest
        {
            KongregateId = kongregateId,
            AuthTicket = authTicket,
            CreateAccount = true
        }, OnLoggedIn, OnFailed);
    }


    /*
     * The rest of the code serves as a utility to process results, log debug statements
     * and display them using Text message label.
     */

    private void OnLoggedIn(LoginResult obj)
    {
        SetMessage("Logged in through PlayFab!");
    }
    private void OnFailed(PlayFabError error)
    {
        SetMessage("Failed to login in with PlayFab: " + error.GenerateErrorReport());
    }

    private void SetMessage(string message)
    {
        InfoLabel.text = message;
    }

    private void LogToBrowser(string message)
    {
        Application.ExternalEval(string.Format("console.log('{0}')", message));
    }

    public Text InfoLabel;
}

Testen

Die einzige Möglichkeit, die Integration wirklich zu testen, besteht darin, Ihren Prototyp in Kongregate hochzuladen.

  1. Öffnen Sie das Fenster Erstellen , und stellen Sie sicher, dass WebGL im Menü ausgewählt ist.
  2. Öffnen Sie dann die Spielereinstellungen , indem Sie die Schaltfläche auswählen.

Kongregate-Buildeinstellungen

Suchen Sie auf dem Bildschirm Player Settings (Playereinstellungen ) die Einstellungen für WebGL-Build :

  1. Vergewissern Sie sich, dass die Größe ordnungsgemäß eingerichtet ist.
  2. Wählen Sie dann die Vorlage Kongregate Preloader aus.

Kongregate WebGL-Einstellungen

Erstellen Sie die Anwendung, und öffnen Sie den Ordner Build .

  • Sie erhalten index.html und eine Reihe anderer Dateien (je nach Unity-Version).
  • Nehmen Sie alle Dateien außer index.html und platzieren Sie sie in einem ZIP-Archiv, wie im folgenden Beispiel gezeigt.

Unity-Buildordner

Verwenden Sie die URL, die Sie zuvor gespeichert haben, um auf Die Seite "Anwendungsupload" zuzugreifen.

  1. Wählen Sie index.html als Spieldatei aus.
  2. Wählen Sie dann das ZIP-Archiv als Zusätzliche Dateien aus.
    • Akzeptieren Sie die Lizenzen, und laden Sie sie hoch.

Seite zum Hochladen der Kongregate-Anwendung: Hinzufügen von Dateien

Sobald die Vorschau geöffnet wird, sollten Sie Ihr Spiel live sehen können, wenn sich die Meldung ändert.

Nach Abschluss des Vorgangs sollte die Meldung auf eine erfolgreiche Anmeldung über PlayFab hinweisen.

An diesem Punkt haben Sie PlayFab und Kongregate erfolgreich integriert.