Autentisering i Unity
Denna handledning guidar dig genom att ställa in Unity-autentisering i ett Unity-projekt. Unity Autentisering gör att du kan hantera och autentisera användare i dina spel med hjälp av Unitys Identity-verktygssats. Vi tar upp de steg som krävs för att ställa in autentisering, integrera den i ditt projekt och implementera inloggningsfunktioner.
Förutsättningar
- Unity Hub och Unity Editor installerade.
- Unity projekt med Unity Services aktiverade.
- Unity konto och ett aktivt projekt-ID.
Steg 1: Ställ in Unity-autentisering i Unity Dashboard
- Logga in på Unity Dashboard.
- Välj ditt projekt eller skapa ett nytt.
- Navigera till Autentisering under avsnittet "Services".
- Aktivera autentisering genom att klicka på knappen Aktivera.
- Konfigurera autentiseringsinställningarna efter behov, såsom användarattribut, inloggningsmetoder och åtkomstkontroller.
Steg 2: Installera Unity Authentication Package
För att använda Unity-autentisering i ditt projekt måste du installera rätt paket.
- Öppna ditt Unity-projekt.
- Navigera till Window > Package Manager.
- Sök efter Authentication i pakethanteraren.
- Klicka på Installera för att lägga till autentiseringspaketet till ditt projekt.
Steg 3: Konfigurera initialiseringsskript
För att använda autentisering i ditt spel måste du initiera Unity tjänster och autentisering vid körning. Lägg till följande kod i ett C#-skript (t.ex. AuthenticationManager.cs
), och bifoga den till ett GameObject i din scen.
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}");
}
}
}
Det här skriptet initierar Unity-tjänster när spelet startar och loggar in användaren anonymt om de inte redan är inloggade.
Steg 4: Implementera inloggning med Unity-autentisering
Du kan också tillhandahålla alternativ för specifika inloggningsmetoder, som e-post eller Google-inloggning, beroende på ditt spels krav. Nedan är ett exempel på hur du kan implementera inloggning med Unity-autentisering.
Exempel: Logga in med e-post och lösenord
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}");
}
}
}
För att anropa den här metoden, skapa ett UI-formulär i Unity så att användarna kan ange sin e-postadress och lösenord, och sedan anropa SignInWithEmailAsync
från en UI-knapps onClick-händelse.
Steg 5: Logga ut
För användarhantering kanske du också vill implementera en utloggningsfunktion. Så här gör du:
public void SignOut()
{
AuthenticationService.Instance.SignOut();
Debug.Log("Signed out successfully.");
}
Anropa den här metoden när du vill logga ut användaren från ditt spel.
Slutsats
Vi tog upp hur du ställer in Unity-autentisering i ditt Unity-projekt, inklusive initialisering, anonym inloggning, e-postinloggning och utloggningsfunktioner. Med Unity-autentisering kan du hantera dina användare mer effektivt och förbättra säkerheten i dina spel. För mer avancerade inställningar, såsom anpassade inloggningsleverantörer eller länkning av flera autentiseringsmetoder, se den officiella Unity-dokumentationen.