Autenticación a través del lanzador de aplicaciones
Si utiliza Xsolla Launcher o Steam para suministrar su aplicación a los usuarios, puede autenticar automáticamente al usuario mediante las credenciales del lanzador.
Instrucciones
Puede utilizar Xsolla Launcher para suministrar su aplicación a los usuarios y actualizarla. Launcher contiene una herramienta de autorización integrada. Para no tener que reintroducir el nombre de usuario y la contraseña, establezca la autorización en su aplicación mediante Launcher.
Para utilizar Launcher, debe configurar Login. No se admite el uso de un sistema de autorización diferente.
El SDK utiliza la Shop Builder API para trabajar con la tienda. Launcher utiliza su propia API, por lo que el SDK no admite el funcionamiento con la tienda de Launcher.
- Implemente la Lógica de autorización de Launcher en su aplicación.
- Cree una compilación de la aplicación y súbala a Launcher.
Implementar la lógica para la autenticación mediante Launcher
El flujo de autorización en la aplicación mediante Launcher es el siguiente:
- El usuario se autoriza en Launcher.
- El usuario instala y ejecuta la aplicación.
- Launcher ejecuta la aplicación y transmite parámetros de usuario a través de la línea de comandos. El token de autorización se transmite en el parámetro
xsolla-login-token
. - La aplicación procesa los parámetros de la línea de comandos y obtiene un token.
- La aplicación valida el token recibido.
- La aplicación autoriza automáticamente al usuario sin mostrar una página de autorización.
Para implementar la lógica descrita, utilice el método del SDK AuthViaXsollaLauncher
.
Ejemplo de script para la autenticación mediante el Lanzador:
- C#
1using UnityEngine;
2using Xsolla.Auth;
3using Xsolla.Core;
4
5namespace Xsolla.Samples.Authorization
6{
7 public class AuthorizationViaXsollaLauncher : MonoBehaviour
8 {
9 private void Start()
10 {
11 // Start authorization via Xsolla Launcher
12 // Pass callback functions for success and error cases
13 XsollaAuth.AuthViaXsollaLauncher(OnSuccess, OnError);
14 }
15
16 private void OnSuccess()
17 {
18 Debug.Log("Authorization successful");
19 // Add actions taken in case of success
20 }
21
22 private void OnError(Error error)
23 {
24 Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
25 // Add actions taken in case of error
26 }
27 }
28}
Crear una compilación de la aplicación
- Vaya a su proyecto de Unity.
- Asegúrese de que los Ajustes del SDK indican el ID de proyecto de inicio de sesión especificado en su Cuenta del editor en la configuración de Launcher (Distribution > Launcher > General settings > Authentication).
- Ejecuta la escena de autorización de usuario, en la que se procesa el token.
- Haga clic en
File > Build settings en el menú principal y, a continuación, haga clic enAdd Open Scenes . Asegúrese de que la escena de autorización se añade en el primer lugar en la lista. - Haga clic en
Build . - En la ventana emergente, especifique la ruta al directorio en el que se colocará la compilación finalizada.
La autenticación nativa permite a los jugadores acceder a su aplicación a través de la aplicación de Steam instalada.
Para establecer la autenticación nativa:
- Establezca la autenticación silenciosa a través de Steam en Cuenta del editor.
- Configure su proyecto de Unity.
- Inicialice Steamworks.NET.
- Implemente la lógica para la autenticación a través de Steam.
- Asegure la autenticación a través de Steam.
Configurar su proyecto de Unity
- Instale la biblioteca Steamworks.NET en su proyecto de Unity.
- Configure los ajustes necesarios en el archivo
steam_appid.txt
. Para ello:- Abra el archivo
steam_appid.txt
, que está ubicado en la carpeta raíz del proyecto de Unity. Si no existe el archivo, créelo. - Especifique el ID de su aplicación en Steam en el archivo y guarde los cambios. El valor predeterminado en el archivo es
480
, el cual es el ID del proyecto de prueba de Steam. - Reinicie el editor de Unity para que los cambios surtan efecto.
- Abra el archivo
Inicializar Steamworks.NET
Antes de llamar a cualquier método de la biblioteca Steamworks.NET, asegúrese de que la biblioteca está inicializada.
Para mayor comodidad, se recomienda utilizar la clase SteamManager ya creada. Esta clase gestiona la inicialización de la biblioteca Steamworks.NET, llama automáticamente a SteamAPI.Shutdown()
cuando se cierra la aplicación y proporciona la propiedad SteamManager.Initialized
para comprobar el estado de inicialización.
Si Steam no está activo o la biblioteca Steamworks.NET no se inicializa, SteamManager
se cerrará y proporcionará una forma segura de verificar el estado:
- C#
1if (!SteamManager.Initialized)
2{
3 Debug.LogWarning("Steam is not initialized. Working with the API is not possible.");
4 return;
5}
Añada la clase SteamManager
a la escena inicial del juego como un componente de un objeto de juego independiente. Debe existir como singleton y permanecer en todas las escenas.
Implementar la lógica para la autenticación mediante el Steam
Para iniciar la autenticación, utilice el método del SDK SilentAuth
y transmítale los siguientes parámetros:
providerName
: la plataforma de publicación de la aplicación. Transmitasteam
como valor.appId
: el ID de su aplicación en Steam. El valor debe coincidir con el valor especificado en el archivosteam_appid.txt
.sessionTicket
: ticket de sesión de Steam. Para obtenerlo, llame al métodoSteamUtils.GetSteamSessionTicket()
.onSuccess
: devolución de llamada de autenticación de usuario realizada correctamente.onError
: devolución de llamada de error.
Ejemplo de script para la autenticación mediante Steam:
- C#
1using UnityEngine;
2using Xsolla.Auth;
3using Xsolla.Core;
4
5namespace Xsolla.Samples.Steam
6{
7 public class SteamNativeAuthorization : MonoBehaviour
8 {
9 private void Start()
10 {
11 // Ensure that the Steamworks API is initialized !!!
12
13 // Get the steam session ticket from `SteamUtils` class
14 var steamSessionTicket = SteamUtils.GetSteamSessionTicket();
15
16 // Start silent authentication
17 // Pass `steam` as `providerName` parameter
18 // Pass your `Steam App ID` as `appId` parameter. We use `480` as an example
19 // Pass `steamSessionTicket` variable as the `sessionTicket` parameter
20 // Pass callback functions for success and error cases
21 XsollaAuth.SilentAuth("steam", "480", steamSessionTicket, OnSuccess, OnError);
22 }
23
24 private void OnSuccess()
25 {
26 Debug.Log("Authorization successful");
27
28 // Add actions taken in case of success
29 }
30
31 private void OnError(Error error)
32 {
33 Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
34
35 // Add actions taken in case of error
36 }
37 }
38}
Garantizar la autenticación a través de Steam
- Lance Steam e inicie sesión. De lo contrario, se llama a la función de devolución de llamada con el error
Requested steam session ticket is null. Please check your Steam settings
. - Cree la compilación de su proyecto de Unity para una plataforma independiente y ejecútela o inicie una escena en el editor de Unity. Si todo está correcto, se le iniciará sesión automáticamente en la aplicación.
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.