Authentification via le dispositif de lancement d’applications
Si vous utilisez Xsolla Launcher ou Steam pour distribuer votre application aux utilisateurs, vous pouvez automatiquement authentifier l’utilisateur à l’aide des informations d’identification du dispositif de lancement d’applications.
Instructions
Vous pouvez utiliser Xsolla Launcher pour distribuer votre application aux utilisateurs et la mettre à jour. Launcher contient un outil d’autorisation intégré. Pour éviter aux utilisateurs de saisir chaque fois leur nom d’utilisateur et leur mot de passe, configurez l’autorisation dans votre application via Launcher.
Pour utiliser Launcher, vous devez d’abord configurer Login. L’utilisation d’un autre système d’autorisation n’est pas prise en charge.
Le SDK utilise Shop Builder API pour interagir avec le magasin. Launcher utilise sa propre API. Le SDK ne permet donc pas d’interagir avec le magasin Launcher.
- Implémentez la logique d’autorisation de Launcher dans votre application.
- Créez un build d’application et téléchargez-le vers Launcher.
Implémenter la logique d'authentification via Launcher
Flux d’autorisation dans l’application via Launcher :
- L’utilisateur est autorisé dans Launcher.
- L’utilisateur installe et exécute l’application.
- Launcher exécute l’application et passe les paramètres utilisateur par le biais de la ligne de commande. Le jeton d’autorisation est passé dans le paramètre
xsolla-login-token
. - L’application traite les paramètres de la ligne de commande et obtient un jeton.
- L’application valide le jeton obtenu.
- L’application autorise automatiquement l’utilisateur sans afficher de page d’autorisation.
Pour implémenter la logique décrite, utilisez la méthode SDK AuthViaXsollaLauncher
.
Exemple de script d’authentification via Launcher :
- 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}
Créer un build d'application
- Accédez au projet Unity.
- Assurez-vous que les paramètres du SDK indiquent l'ID du projet de Login spécifié dans le Compte éditeur dans les paramètres du lanceur (Distribution > Launcher > General settings > Authentication).
- Exécutez la scène d'autorisation utilisateur, où le jeton est traité.
- Cliquez sur
File > Build settings dans le menu principal, puis surAdd Open Scenes . Assurez-vous que la scène d'autorisation est ajoutée en premier dans la liste. - Cliquez sur
Build . - Dans la fenêtre contextuelle, spécifiez le chemin d'accès au répertoire où le build terminé sera placé.
L’authentification native permet aux joueurs d’accéder à votre application via l’application Steam installée.
Pour configurer l’authentification native :
- Configurez l’authentification silencieuse via Steam dans le Compte éditeur.
- Configurez le projet Unity.
- Initialisez Steamworks.NET.
- Implémentez la logique d’authentification via Steam.
- Vérifiez l’authentification via Steam.
Configurer le projet Unity
- Installez la bibliothèque Steamworks.NET dans votre projet Unity.
- Configurez les paramètres nécessaires dans le fichier
steam_appid.txt
. Pour ce faire :- Ouvrez le fichier
steam_appid.txt
, qui se trouve dans le dossier racine du projet Unity. Si le fichier est manquant, créez-le. - Spécifiez l'ID de votre application dans Steam dans le fichier et enregistrez les modifications. La valeur par défaut du fichier est
480
, qui correspond à l'ID Steam du projet de test. - Redémarrez l'éditeur Unity pour appliquer les modifications.
- Ouvrez le fichier
Initialisez Steamworks.NET
Avant d’appeler des méthodes de la bibliothèque Steamworks.NET, assurez-vous que la bibliothèque est initialisée.
Pour des raisons de commodité, il est recommandé d’utiliser la classe prête à l’emploi SteamManager. Elle gère l’initialisation de la bibliothèque Steamworks.NET, appelle automatiquement la méthodeSteamAPI.Shutdown()
à la fermeture de l’application et fournit la propriété SteamManager.Initialized
pour vérifier l’état de l’initialisation.
Si Steam n’est pas en cours d’exécution ou si l’initialisation de la bibliothèque Steamworks.NET échoue, SteamManager
s’arrête proprement et fournit un moyen sécurisé de vérifier l’état :
- C#
1if (!SteamManager.Initialized)
2{
3 Debug.LogWarning("Steam is not initialized. Working with the API is not possible.");
4 return;
5}
Ajoutez la classe SteamManager
à la scène initiale du jeu en tant que composant d’un objet de jeu distinct. Elle doit exister en tant que singleton et persister entre les scènes.
Implémenter la logique d'authentification via Steam
Pour démarrer l’authentification, utilisez la méthode SDK SilentAuth
et passez-lui les paramètres suivants :
providerName
— plateforme de publication de l'application. Passezsteam
comme valeur ;appId
— ID de votre application dans Steam. La valeur doit correspondre à la valeur spécifiée dans le fichiersteam_appid.txt
;sessionTicket
— ticket de session Steam. Pour l'obtenir, appelez la méthodeSteamUtils.GetSteamSessionTicket()
;onSuccess
— fonction de rappel d'authentification utilisateur réussie ;onError
— fonction de rappel d'erreur.
Exemple de script d’authentification via 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}
Vérifier l'authentification via Steam
- Lancez Steam et connectez-vous. Sinon, la fonction de rappel est appelée avec l'erreur
Requested steam session ticket is null. Please check your Steam settings
. - Créez le build de votre projet Unity pour une plateforme autonome et exécutez-le ou lancez une scène dans l'éditeur Unity. Si tout est bien configuré, vous serez automatiquement connecté à l'application.
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entrée.