Autentisering i Unity
Denne opplæringen vil veilede deg gjennom å sette opp Unity-autentisering i et Unity-prosjekt. Unity Autentisering lar deg administrere og autentisere brukere i spillene dine ved å bruke Unitys Identity-verktøysett. Vi vil dekke trinnene som kreves for å konfigurere autentisering, integrere den i prosjektet ditt og implementere påloggingsfunksjonalitet.
Forutsetninger
- Unity Hub og Unity Editor installert.
- Unity prosjekt med Unity Tjenester aktivert.
- Unity konto og en aktiv prosjekt-ID.
Trinn 1: Sett opp Unity Autentisering i Unity Dashboard
- Logg inn på Unity Dashboard.
- Velg ditt prosjekt eller lag et nytt.
- Naviger til Autentisering under "Services"-delen.
- Aktiver autentisering ved å klikke på Aktiver-knappen.
- Konfigurer autentiseringsinnstillingene etter behov, for eksempel brukerattributter, påloggingsmetoder og tilgangskontroller.
Trinn 2: Installer Unity autentiseringspakke
For å bruke Unity-autentisering i prosjektet ditt, må du installere riktig pakke.
- Åpne Unity-prosjektet ditt.
- Naviger til Window > Package Manager.
- Søk etter Autentisering i Pakkebehandlingen.
- Klikk på Install for å legge til autentiseringspakken til prosjektet ditt.
Trinn 3: Sett opp initialiseringsskript
For å bruke autentisering i spillet ditt, må du initialisere Unity tjenester og autentisering under kjøring. Legg til følgende kode i et C#-skript (f.eks. AuthenticationManager.cs
), og fest den til et GameObject i scenen din.
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}");
}
}
}
Dette skriptet initialiserer Unity-tjenester når spillet starter og logger brukeren på anonymt hvis de ikke allerede er pålogget.
Trinn 4: Implementer pålogging med Unity-autentisering
Du kan også tilby alternativer for spesifikke påloggingsmetoder, for eksempel e-post eller Google-pålogging, avhengig av spillets krav. Nedenfor er et eksempel på hvordan du kan implementere pålogging med Unity-autentisering.
Eksempel: Logg på med e-post og passord
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}");
}
}
}
For å kalle denne metoden oppretter du et brukergrensesnittskjema i Unity slik at brukerne kan skrive inn e-post og passord, og deretter kaller SignInWithEmailAsync
fra en UI-knapps onClick-hendelse.
Trinn 5: Logg av
For brukeradministrasjon kan det være lurt å implementere en utloggingsfunksjon også. Slik gjør du det:
public void SignOut()
{
AuthenticationService.Instance.SignOut();
Debug.Log("Signed out successfully.");
}
Kall denne metoden når du vil logge brukeren ut av spillet ditt.
Konklusjon
Vi dekket hvordan du konfigurerer Unity-autentisering i Unity-prosjektet ditt, inkludert initialisering, anonym pålogging, e-postpålogging og utloggingsfunksjonalitet. Med Unity-autentisering kan du administrere brukerne dine mer effektivt og forbedre sikkerheten i spillene dine. For mer avanserte oppsett, for eksempel tilpassede påloggingsleverandører eller kobling av flere autentiseringsmetoder, se den offisielle Unity-dokumentasjonen.