Autenticazione in Unity
Questo tutorial ti guiderà attraverso la configurazione dell'autenticazione Unity in un progetto Unity. L'autenticazione Unity ti consente di gestire e autenticare gli utenti nei tuoi giochi utilizzando il toolkit Identity di Unity. Tratteremo i passaggi necessari per configurare l'autenticazione, integrarla nel tuo progetto e implementare la funzionalità di accesso.
Prerequisiti
- Unity Hub e editor Unity installati.
- Unity progetto con servizi Unity abilitati.
- Unity account e un ID progetto attivo.
Passaggio 1: imposta l'autenticazione Unity nella dashboard Unity
- Accedi alla Unity Dashboard.
- Seleziona il tuo progetto o creane uno nuovo.
- Passare a Autenticazione nella sezione "Services".
- Abilitare l'autenticazione cliccando sul pulsante Attiva.
- Configurare le impostazioni di autenticazione in base alle proprie esigenze, ad esempio attributi utente, metodi di accesso e controlli di accesso.
Passaggio 2: installare il pacchetto di autenticazione Unity
Per utilizzare l'autenticazione Unity nel tuo progetto, devi installare il pacchetto appropriato.
- Apri il tuo progetto Unity.
- Vai a Finestra > Gestione pacchetti.
- Cerca Authentication nel Package Manager.
- Fare clic su Installa per aggiungere il pacchetto di autenticazione al progetto.
Passaggio 3: impostare lo script di inizializzazione
Per usare l'autenticazione nel tuo gioco, devi inizializzare i servizi Unity e l'autenticazione in fase di esecuzione. Aggiungi il seguente codice in uno script C# (ad esempio, AuthenticationManager.cs
) e collegalo a un GameObject nella tua scena.
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}");
}
}
}
Questo script inizializza i servizi Unity all'avvio del gioco e consente all'utente di effettuare l'accesso in forma anonima se non ha già effettuato l'accesso.
Passaggio 4: implementare l'accesso con l'autenticazione Unity
Puoi anche fornire opzioni per metodi di accesso specifici, come e-mail o accesso Google, a seconda dei requisiti del tuo gioco. Di seguito è riportato un esempio di come potresti implementare l'accesso con l'autenticazione Unity.
Esempio: Accedi con e-mail e password
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}");
}
}
}
Per chiamare questo metodo, crea un modulo UI in Unity in cui gli utenti possano inserire il loro indirizzo email e la loro password, quindi chiama SignInWithEmailAsync
dall'evento onClick di un pulsante UI.
Passaggio 5: Disconnettersi
Per la gestione degli utenti, potresti voler implementare anche una funzione di disconnessione. Ecco come:
public void SignOut()
{
AuthenticationService.Instance.SignOut();
Debug.Log("Signed out successfully.");
}
Chiama questo metodo ogni volta che vuoi disconnettere l'utente dal tuo gioco.
Conclusione
Abbiamo spiegato come impostare l'autenticazione Unity nel tuo progetto Unity, inclusa l'inizializzazione, l'accesso anonimo, l'accesso tramite e-mail e la funzionalità di disconnessione. Con l'autenticazione Unity, puoi gestire i tuoi utenti in modo più efficace e migliorare la sicurezza nei tuoi giochi. Per impostazioni più avanzate, come provider di accesso personalizzati o collegamento di più metodi di autenticazione, fai riferimento alla documentazione ufficiale di Unity.