Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Tutorial führt Sie durch die Schritte für die Anmeldung bei PlayFab mithilfe von Steam über SteamWorks und Unity.
Voraussetzungen
Bevor Sie beginnen, sollten Sie über Folgendes verfügen:
- Ein Unity-Projekt mit einem importierten PlayFab SDK und einer konfigurierten Titel-ID.
- Eine Steam-Anwendung mit:
- Die AppID ist bereits eingerichtet. Die AppID kann über den Steam Direct -Prozess (früher Greenlight) abgerufen werden.
- Ein Steam Publisher-Web-API-Schlüssel. Informationen zum Generieren eines Herausgeberschlüssels finden Sie unter Erstellen eines Herausgeber-Web-API-Schlüssels in der Steamworks-Dokumentation .
- Vertrautheit mit Anmeldegrundlagen und bewährten Methoden.
Einrichten eines PlayFab-Titels mit Steam-Integration
Um die Unterstützung für die Steam-Autorisierung zu aktivieren, erfordert PlayFab, dass Sie das Steam-Add-On aktivieren.
Wechseln Sie zu Ihrer Game Manager-Seite :
- Wählen Sie das Menüelement Add-Ons aus.
- Suchen Sie in der Liste der verfügbaren Add-Onsnach Steam , und wählen Sie den Titellink aus:
- Geben Sie Ihre App-ID ein.
- Geben Sie den Web-API-Schlüssel ein.
- Wählen Sie dann Install Steam (Steam installieren) aus.
Einrichten eines Unity-Projekts
Laden Sie zunächst die neueste Version von Steamworks.NET von der Seite Releases herunter.
- Rufen Sie die Unity-Paketversion des Release ab, und importieren Sie sie in das Projekt.
- Nachdem Sie das Paket importiert haben, schließen Sie Unity.
- Navigieren Sie zum Stammordner Project .
- Suchen Sie die steam_appid.txt-Datei .
- Öffnen Sie die Datei, und ersetzen Sie den App-ID-Wert durch Ihren eigenen Wert.
Öffnen Sie Unity erneut, und erstellen Sie eine neue Szene.
Erstellen Sie in dieser Szene ein neues GameObject namens Steam:
- Fügen Sie dem GameObject eine SteamManager-Komponente hinzu. Diese Komponente ist Teil von Steamworks.Net.
- Erstellen Sie eine SteamScript-Komponente , und fügen Sie sie dem GameObject hinzu.
Das folgende Beispiel zeigt den Code für die SteamScript
Komponente.
using System.Text;
using PlayFab;
using PlayFab.ClientModels;
using Steamworks;
using UnityEngine;
public class SteamScript : MonoBehaviour
{
protected Callback<GetTicketForWebApiResponse_t> m_OnGetSteamAuthTicket;
// Alternatively, you can use this callback if you choose to call SteamUser.GetAuthSessionTicket(...) instead
// TicketIsServiceSpecific in the PlayFabLoginRequest should be false in this case
// protected Callback<GetAuthSessionTicketResponse_t> m_OnGetSteamAuthTicketAlternate;
private HAuthTicket m_hTicket;
public void Awake()
{
m_OnGetSteamAuthTicket = Callback<GetTicketForWebApiResponse_t>.Create(OnGetSteamAuthTicket);
}
public void OnGUI()
{
if (GUILayout.Button("Log In") && SteamManager.Initialized)
{
GetSteamAuthTicket();
}
}
private void GetSteamAuthTicket()
{
m_hTicket = SteamUser.GetAuthTicketForWebApi("AzurePlayFab");
if (m_hTicket == HAuthTicket.Invalid)
{
Debug.Log("Failed to request steam auth ticket");
}
else
{
Debug.Log("Steam auth ticket requested");
}
}
private void OnGetSteamAuthTicket(GetTicketForWebApiResponse_t pCallback)
{
Debug.Log("Steam auth ticket callback invoked");
if (pCallback.m_eResult != EResult.k_EResultOK)
{
Debug.Log("Failed to get steam auth ticket: " + pCallback.m_eResult);
}
StringBuilder sb = new();
for (int i = 0; i < pCallback.m_cubTicket; ++i)
{
sb.AppendFormat("{0:x2}", pCallback.m_rgubTicket[i]);
}
PlayFabClientAPI.LoginWithSteam(new LoginWithSteamRequest
{
CreateAccount = true,
SteamTicket = sb.ToString(),
TicketIsServiceSpecific = true
}, OnComplete, OnFailed);
}
private void OnComplete(LoginResult obj)
{
SteamUser.CancelAuthTicket(m_hTicket);
Debug.Log("Success!");
}
private void OnFailed(PlayFabError error)
{
SteamUser.CancelAuthTicket(m_hTicket);
Debug.Log("Failed PlayFab login: " + error.GenerateErrorReport());
}
}
Testen
Sie können direkt im Editor testen:
- Führen Sie die Szene aus, und wählen Sie die Schaltfläche Anmelden aus.
- Die Konsolenmeldung sollte nach einem Moment angezeigt werden, die das Authentifizierungsergebnis Success! angibt.