Authenticatie in Unity

Deze tutorial begeleidt je bij het instellen van Unity Authentication in een Unity project. Met Unity Authentication kun je gebruikers in je games beheren en authenticeren met behulp van Unity's Identity toolkit. We behandelen de stappen die nodig zijn om authenticatie in te stellen, deze te integreren in je project en de aanmeldfunctionaliteit te implementeren.

Vereisten

  • Unity Hub en Unity Editor geïnstalleerd.
  • Unity project met Unity Services ingeschakeld.
  • Unity account en een actieve project-ID.

Stap 1: Stel Unity-verificatie in op het Unity-dashboard

  1. Meld je aan bij het Unity Dashboard.
  2. Selecteer uw project of maak een nieuw project.
  3. Ga naar Authentication onder het gedeelte "Services".
  4. Schakel authenticatie in door op de knop Activeren te klikken.
  5. Configureer de verificatie-instellingen indien nodig, zoals gebruikerskenmerken, aanmeldmethoden en toegangscontroles.

Stap 2: Installeer Unity Authenticatiepakket

Om Unity-verificatie in uw project te kunnen gebruiken, moet u het juiste pakket installeren.

  1. Open uw Unity-project.
  2. Navigeer naar Venster > Pakketbeheer.
  3. Zoek naar Authentication in de Pakketbeheerder.
  4. Klik op Install om het authenticatiepakket aan uw project toe te voegen.

Stap 3: Initialisatiescript instellen

Om authenticatie in uw game te gebruiken, moet u Unity-services en authenticatie tijdens runtime initialiseren. Voeg de volgende code toe aan een C#-script (bijv. AuthenticationManager.cs) en koppel deze aan een GameObject in uw scène.

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}");
        }
    }
}

Dit script initialiseert Unity-services wanneer het spel start en meldt de gebruiker anoniem aan als deze nog niet is aangemeld.

Stap 4: Implementeer aanmelden met Unity-verificatie

U kunt ook opties bieden voor specifieke aanmeldmethoden, zoals e-mail of Google-aanmelding, afhankelijk van de vereisten van uw game. Hieronder ziet u een voorbeeld van hoe u aanmelding met Unity Authentication kunt implementeren.

Voorbeeld: Aanmelden met e-mailadres en wachtwoord

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}");
        }
    }
}

Om deze methode aan te roepen, maakt u een UI-formulier in Unity waarin gebruikers hun e-mailadres en wachtwoord kunnen invoeren. Vervolgens roept u SignInWithEmailAsync aan via de onClick-gebeurtenis van een UI-knop.

Stap 5: Afmelden

Voor gebruikersbeheer wilt u mogelijk ook een afmeldfunctie implementeren. Dit is hoe:

public void SignOut()
{
    AuthenticationService.Instance.SignOut();
    Debug.Log("Signed out successfully.");
}

Roep deze methode aan wanneer u de gebruiker wilt uitloggen bij uw spel.

Conclusie

We hebben besproken hoe u Unity Authentication instelt in uw Unity-project, inclusief initialisatie, anonieme aanmelding, e-mailaanmelding en afmeldfunctionaliteit. Met Unity Authentication kunt u uw gebruikers effectiever beheren en de beveiliging van uw games verbeteren. Raadpleeg de officiële Unity-documentatie voor geavanceerdere instellingen, zoals aangepaste aanmeldingsproviders of het koppelen van meerdere verificatiemethoden.