Authentifizierung über das Startprogramm der Anwendung
Wenn Sie Xsolla Launcher oder Steam nutzen, um Ihre Anwendung an Benutzer zu verteilen, können Sie den Benutzer automatisch anhand seiner Startprogramm-Anmeldedaten authentifizieren.
Anleitungen
Mithilfe des Xsolla Launcher können Sie Ihre Anwendungen an Benutzer ausliefern und aktualisieren. Das Startprogramm verfügt über ein integriertes Autorisierungstool. Richten Sie die Autorisierung in Ihrer Anwendung über das Launcher ein, damit der Benutzername und das Passwort nicht erneut eingegeben werden müssen.
Um das Launcher verwenden zu können, muss Login konfiguriert sein. Die Nutzung eines anderen Autorisierungssystems wird nicht unterstützt.
Das SDK verwendet die IGS API, um mit dem Online-Shop zu kommunizieren. Das Launcher verwendet seine eigene API, weshalb das SDK nicht mit dem Launcher Online-Shop kommunizieren kann.
- Implementieren Sie die Launcher Autorisierungslogik in Ihre Anwendung.
- Erstellen Sie einen Anwendungs-Build, und laden Sie sie in das Launcher hoch.
Logik für die Authentifizierung über das Launcher implementieren
Die Autorisierung in der Anwendung über das Launcher läuft folgt ab:
- Der Benutzer autorisiert sich im Launcher.
- Der Benutzer installiert die Anwendung und führt sie aus.
- Das Launcher führt die Anwendung aus und übermittelt die Benutzerparameter in der Befehlszeile. Der Autorisierungstoken wird im Parameter
xsolla-login-token
übermittelt. - Die Anwendung verarbeitet die Befehlszeilenparameter und ruft einen Token ab.
- Die Anwendung validiert den empfangen Token.
- Die Anwendung autorisiert den Benutzer automatisch, ohne eine Autorisierungsseite anzuzeigen.
Nutzen Sie die SDK-Methode AuthViaXsollaLauncher
, um die beschriebene Logik zu implementieren.
Beispielskript für die Authentifizierung über das Launcher:
- C#
using UnityEngine;
using Xsolla.Auth;
using Xsolla.Core;
namespace Xsolla.Samples.Authorization
{
public class AuthorizationViaXsollaLauncher : MonoBehaviour
{
private void Start()
{
// Start authorization via Xsolla Launcher
// Pass callback functions for success and error cases
XsollaAuth.AuthViaXsollaLauncher(OnSuccess, OnError);
}
private void OnSuccess()
{
Debug.Log("Authorization successful");
// Add actions taken in case of success
}
private void OnError(Error error)
{
Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
// Add actions taken in case of error
}
}
}
Anwendungs-Build erstellen
- Wechseln Sie zu Ihrem Unity-Projekt.
- Vergewissern Sie sich, dass in den SDK-Einstellungen die Login-Projekt-ID angezeigt wird, die im Kundenportal in den Launcher Einstellungen (Launcher > Allgemeine Einstellungen > Authentifizierung) angegeben ist.
- Führen Sie die Benutzerautorisierungsszene aus, in der der Token verarbeitet wird.
- Klicken Sie im Hauptmenü auf
File > Build settings und dann aufAdd Open Scenes . Stellen Sie sicher, dass die Autorisierungsszene an erster Stelle in der Liste hinzugefügt wird. - Klicken Sie auf
Build . - Geben Sie im Pop-up-Fenster den Pfad zu dem Verzeichnis an, in dem die fertige Build abzulegen ist.
Die native Authentifizierung ermöglicht es Spielern, Ihre Anwendung über die installierte Steam-Anwendung zu starten.
So richten Sie die native Authentifizierung ein:
- Konfigurieren Sie die stille Authentifizierung über Steam im Kundenportal.
- Konfigurieren Sie Ihr Unity-Projekt.
- Implementieren Sie die Logik für die Authentifizierung über Steam.
- Ermöglichen Sie die Authentifizierung über Steam.
Unity-Projekt konfigurieren
Assets/Xsolla/ThirdParty/Steamworks.NET
.- Öffnen Sie die Datei
steam_appid.txt
, die sich im Stammordner des Unity-Projekts befindet. - Geben Sie in der Datei Ihre Anwendungs-ID aus Steam an, und speichern Sie die Änderungen. Der Standardwert in der Datei ist
480
, dabei handelt es sich um die ID des Steam-Testprojekts. - Starten Sie den Unity-Editor neu, damit die Änderungen wirksam werden.
Logik für die Authentifizierung über Steam implementieren
Nutzen Sie die SDK-Methode SilentAuth
und übermitteln Sie ihr die folgenden Parameter, um die Authentifizierung zu starten:
providerName
– Publishing-Plattform der Anwendung. Übermitteln Siesteam
als Wert.appId
– Ihre Anwendungs-ID in Steam. Der Wert muss mit dem in der Dateisteam_appid.txt
angegebenen Wert übereinstimmen.sessionTicket
– Steam-Session-Ticket. Rufen Sie die MethodeSteamUtils.GetSteamSessionTicket()
auf, um das Ticket abzurufen.onSuccess
– Rückruf bei erfolgreicher Benutzerauthentifizierung.onError
– Rückruf bei einem Fehler.
Beispielskript für die Authentifizierung über Steam:
- C#
using UnityEngine;
using Xsolla.Auth;
using Xsolla.Core;
namespace Xsolla.Samples.Steam
{
public class SteamNativeAuthorization : MonoBehaviour
{
private void Start()
{
// Get the steam session ticket from `SteamUtils` class
var steamSessionTicket = SteamUtils.GetSteamSessionTicket();
// Start silent authentication
// Pass `steam` as `providerName` parameter
// Pass your `Steam App ID` as `appId` parameter. We use `480` as an example
// Pass `steamSessionTicket` variable as the `sessionTicket` parameter
// Pass callback functions for success and error cases
XsollaAuth.SilentAuth("steam", "480", steamSessionTicket, OnSuccess, OnError);
}
private void OnSuccess()
{
Debug.Log("Authorization successful");
// Add actions taken in case of success
}
private void OnError(Error error)
{
Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
// Add actions taken in case of error
}
}
}
Authentifizierung über Steam ermöglichen
- Starten Sie Steam, und melden Sie sich an. Andernfalls wird die Rückruffunktion mitsamt der Fehlermeldung
Requested steam session ticket is null. Please check your Steam settings
aufgerufen. - Erstellen Sie die Build Ihres Unity-Projekts für eine Stand-alone-Plattform, und führen Sie sie aus. Alternativ können Sie auch eine Szene im Unity-Editor starten. Wenn alles korrekt ist, werden Sie automatisch bei der Anwendung angemeldet.
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.