Autenticação via inicializador de aplicativos
Se você usar o Xsolla Launcher ou o Steam para entregar seu aplicativo aos usuários, você pode autenticar automaticamente o usuário usando as credenciais do Inicializador.
Guias
Você pode usar o Xsolla Launcher para entregar seu aplicativo aos usuários e atualizá-lo. O Launcher contém uma ferramenta de autorização interna. Para evitar reinserir o nome de usuário e senha, configure a autorização em seu aplicativo por meio do Launcher.
Para usar o Launcher, você precisa configurar o Login. Não há suporte para sistemas de autorização diferentes.
O SDK utiliza a API Shop Builder para trabalhar com a loja. O Launcher usa sua própria API, de forma que o SDK não suporta trabalhar com a loja do Launcher.
- Implemente a lógica de autorização do Launcher em seu aplicativo.
- Crie uma compilação do aplicativo e envie-a ao Launcher.
Implemente a lógica para a autenticação via o Launcher
Esse é o fluxo para autorização no aplicativo via Launcher:
- O usuário está autorizado no Launcher.
- O usuário instala e executa o aplicativo.
- O Launcher executa o aplicativo e passa os parâmetros do usuário através da linha de comando. O token de autorização é passado no parâmetro
xsolla-login-token
. - O aplicativo processa os parâmetros da linha de comando e obtém um token.
- O aplicativo valida o token recebido.
- O aplicativo autoriza automaticamente o usuário sem exibir uma página de autorização.
Para implementar a lógica descrita, use o método SDK AuthViaXsollaLauncher
.
Exemplo de um script para autenticação via o 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}
Crie uma compilação do aplicativo
- Vá para seu projeto Unity.
- Certifique-se de que as configurações do SDK indicam o ID do projeto Login especificado em sua Conta de Distribuidor nas configurações do Launcher (Launcher > General settings > Authentication).
- Execute a cena de autorização do usuário, onde o token é processado.
- Clique em
File > Build settings no menu principal e então clique emAdd Open Scenes . Verifique se a cena de autorização foi adicionada primeiro na lista. - Clique em
Build . - Na janela pop-up, especifique o caminho para o diretório onde a compilação concluída será colocada.
A autenticação nativa permite que os jogadores entrem em seu aplicativo através do aplicativo Steam instalado.
Para configurar uma autenticação nativa:
- Configure a autenticação silenciosa via Steam na Conta de Distribuidor.
- Configure seu projeto Unity.
- Inicialize o Steamworks.NET.
- Implemente a lógica para autenticação via Steam.
- Garanta a autenticação via Steam.
Configure seu projeto Unity
- Instale a biblioteca Steamworks.NET no seu projeto Unity.
- Prepare as configurações necessárias no arquivo
steam_appid.txt
. Para fazer isso:- Abra o arquivo
steam_appid.txt
, que encontra-se no diretório raiz do projeto Unity. Se o arquivo não estiver presente, crie-o. - Especifique seu ID de aplicativo no Steam no arquivo e salvar as configurações. O valor padrão no arquivo é
480
, que é o ID do projeto de testes do Steam. - Reinicie o editor Unity para que as alterações surtam efeito.
- Abra o arquivo
Inicialize o Steamworks.NET
Antes de chamar qualquer método da biblioteca Steamworks.NET, certifique-se de que a biblioteca seja inicializada.
Por conveniência, é recomendado usar a classe pré-pronta SteamManager. Essa classe gerencia a inicialização da biblioteca Steamworks.NET, automaticamente chama SteamAPI.Shutdown()
quando o aplicativo fecha e fornece a propriedade SteamManager.Initialized
para verificar o status de inicialização.
Se o Steam não estiver em execução ou se a biblioteca Steamworks.NET não for inicializada, SteamManager
desligará devidamente e fornecerá uma maneira segura de verificar o status:
- C#
1if (!SteamManager.Initialized)
2{
3 Debug.LogWarning("Steam is not initialized. Working with the API is not possible.");
4 return;
5}
Adicione a classe SteamManager
à cena inicial do jogo como um componente em um objeto de jogo separado. Ele deve existir como objeto singleton e persistir entre as cenas.
Implemente a lógica para a autenticação via Steam
Para iniciar a autenticação, use o método SDK SilentAuth
e passe os seguintes parâmetros para ele:
providerName
— a plataforma de publicação do aplicativo. Passesteam
como um valor.appId
— seu ID de aplicativo no Steam. O valor deve corresponder ao valor especificado no arquivosteam_appid.txt
.sessionTicket
— Ticket de sessão do Steam. Para obtê-lo, chame o métodoSteamUtils.GetSteamSessionTicket()
.onSuccess
— retorno de chamada de autenticação de usuário bem-sucedido.onError
— retorno de chamada de erro.
Exemplo de um script para autenticação 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}
Garanta a autenticação via Steam
- Inicie o Steam e faça login. Caso contrário, a função de retorno de chamada será chamada com o erro
Requested steam session ticket is null. Please check your Steam settings
. - Crie a compilação do seu projeto Unity como plataforma autônoma e execute-a ou inicie uma cena no editor Unity. Se tudo estiver correto, sua conta estará conectada automaticamente ao aplicativo.
Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.