Autenticação no Unity
Este tutorial guiará você pela configuração da Autenticação Unity em um projeto Unity. A Autenticação Unity permite que você gerencie e autentique usuários em seus jogos usando o kit de ferramentas Identity da Unity. Abordaremos as etapas necessárias para configurar a autenticação, integrá-la ao seu projeto e implementar a funcionalidade de login.
Pré-requisitos
- Unity Hub e editor Unity instalados.
- Unity projeto com serviços Unity habilitados.
- Unity conta e um ID de projeto ativo.
Etapa 1: Configurar autenticação Unity no painel Unity
- Faça login no Unity Painel.
- Selecione seu projeto ou crie um novo.
- Navegue até Autenticação na seção "Services".
- Habilite a autenticação clicando no botão Ativar.
- Configure as configurações de autenticação conforme necessário, como atributos de usuário, métodos de login e controles de acesso.
Etapa 2: instalar o pacote de autenticação Unity
Para usar a autenticação Unity no seu projeto, você precisa instalar o pacote apropriado.
- Abra seu projeto Unity.
- Navegue até Janela > Gerenciador de Pacotes.
- Procure por Authentication no Gerenciador de Pacotes.
- Clique em Instalar para adicionar o pacote de autenticação ao seu projeto.
Etapa 3: Configurar script de inicialização
Para usar autenticação no seu jogo, você precisa inicializar os serviços Unity e autenticação no tempo de execução. Adicione o seguinte código em um script C# (por exemplo, AuthenticationManager.cs
) e anexe-o a um GameObject na sua cena.
using UnityEngine;
using Unity.Services.Core;
using Unity.Services.Authentication;
using System.Threading.Tasks;
public class AuthenticationManager : MonoBehaviour
{
async void Start()
{
await InitializeUnityServicesAsync();
}
private async Task InitializeUnityServicesAsync()
{
try
{
await UnityServices.InitializeAsync();
Debug.Log("Unity Services initialized successfully.");
if (!AuthenticationService.Instance.IsSignedIn)
{
await SignInAnonymously();
}
}
catch (System.Exception e)
{
Debug.LogError($"Error initializing Unity Services: {e.Message}");
}
}
private async Task SignInAnonymously()
{
try
{
await AuthenticationService.Instance.SignInAnonymouslyAsync();
Debug.Log("Signed in anonymously.");
}
catch (System.Exception e)
{
Debug.LogError($"Error signing in anonymously: {e.Message}");
}
}
}
Este script inicializa os serviços Unity quando o jogo inicia e conecta o usuário anonimamente, caso ele ainda não esteja conectado.
Etapa 4: Implementar login com autenticação Unity
Você também pode fornecer opções para métodos de login específicos, como e-mail ou login do Google, dependendo dos requisitos do seu jogo. Abaixo está um exemplo de como você pode implementar o login com a Autenticação Unity.
Exemplo: Login com e-mail e senha
using UnityEngine;
using Unity.Services.Authentication;
using System.Threading.Tasks;
public class AuthenticationManager : MonoBehaviour
{
async void Start()
{
await InitializeUnityServicesAsync();
}
private async Task InitializeUnityServicesAsync()
{
try
{
await UnityServices.InitializeAsync();
Debug.Log("Unity Services initialized successfully.");
}
catch (System.Exception e)
{
Debug.LogError($"Error initializing Unity Services: {e.Message}");
}
}
public async Task SignInWithEmailAsync(string email, string password)
{
try
{
await AuthenticationService.Instance.SignInWithEmailAndPasswordAsync(email, password);
Debug.Log("Signed in with email successfully.");
}
catch (System.Exception e)
{
Debug.LogError($"Error signing in with email: {e.Message}");
}
}
}
Para chamar esse método, crie um formulário de interface do usuário em Unity para os usuários inserirem seu e-mail e senha e, em seguida, chame SignInWithEmailAsync
a partir do evento onClick de um botão de interface do usuário.
Etapa 5: Sair
Para gerenciamento de usuários, você pode querer implementar uma função de sign-out também. Veja como:
public void SignOut()
{
AuthenticationService.Instance.SignOut();
Debug.Log("Signed out successfully.");
}
Chame esse método sempre que quiser desconectar o usuário do seu jogo.
Conclusão
Abordamos como configurar a Autenticação Unity no seu projeto Unity, incluindo inicialização, login anônimo, login por e-mail e funcionalidade de logout. Com a Autenticação Unity, você pode gerenciar seus usuários de forma mais eficaz e aumentar a segurança em seus jogos. Para configurações mais avançadas, como provedores de login personalizados ou vinculação de vários métodos de autenticação, consulte a documentação oficial Unity.