Autentificare în Unity

Acest tutorial vă va ghida prin configurarea autentificării Unity într-un proiect Unity. Unity Autentificarea vă permite să gestionați și să autentificați utilizatorii din jocurile dvs. folosind setul de instrumente Identity al Unity. Vom acoperi pașii necesari pentru a configura autentificarea, pentru a o integra în proiectul dvs. și pentru a implementa funcționalitatea de conectare.

Cerințe preliminare

  • Unity Hub și Unity Editor instalat.
  • Unity proiect cu Unity Servicii activate.
  • Unity cont și un ID de proiect activ.

Pasul 1: Configurați autentificarea Unity în tabloul de bord Unity

  1. Conectați-vă la Unity Tabloul de bord.
  2. Selectează-ți proiectul sau creează unul nou.
  3. Navigați la Authentication sub secțiunea "Services".
  4. Activați autentificarea făcând clic pe butonul Activate.
  5. Configurați setările de autentificare după cum este necesar, cum ar fi atributele utilizatorului, metodele de conectare și controalele de acces.

Pasul 2: Instalați pachetul de autentificare Unity

Pentru a utiliza autentificarea Unity în proiectul dvs., trebuie să instalați pachetul corespunzător.

  1. Deschideți proiectul Unity.
  2. Navigați la Window > Package Manager.
  3. Căutați Authentication în Managerul de pachete.
  4. Faceți clic pe Instalare pentru a adăuga pachetul de autentificare la proiectul dumneavoastră.

Pasul 3: Configurați scriptul de inițializare

Pentru a utiliza autentificarea în joc, trebuie să inițializați serviciile Unity și autentificarea în timpul execuției. Adăugați următorul cod într-un script C# (de exemplu, AuthenticationManager.cs) și atașați-l la un GameObject din scena dvs.

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

Acest script inițializează serviciile Unity atunci când jocul începe și conectează utilizatorul în mod anonim dacă nu este deja conectat.

Pasul 4: implementați autentificarea cu Unity

De asemenea, puteți oferi opțiuni pentru anumite metode de conectare, cum ar fi e-mailul sau conectarea la Google, în funcție de cerințele jocului dvs. Mai jos este un exemplu despre cum ați putea implementa autentificarea cu Unity Autentificare.

Exemplu: Conectați-vă cu e-mail și parolă

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

Pentru a apela această metodă, creați un formular UI în Unity pentru ca utilizatorii să-și introducă e-mailul și parola, apoi apelați SignInWithEmailAsync de la evenimentul onClick al unui buton UI.

Pasul 5: Deconectați-vă

Pentru gestionarea utilizatorilor, poate doriți să implementați și o funcție de deconectare. Iată cum:

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

Apelați această metodă ori de câte ori doriți să deconectați utilizatorul din joc.

Concluzie

Am explicat cum să configurați autentificarea Unity în proiectul dvs. Unity, inclusiv inițializarea, conectarea anonimă, conectarea prin e-mail și funcționalitatea de deconectare. Cu autentificarea Unity, vă puteți gestiona utilizatorii mai eficient și vă puteți îmbunătăți securitatea în jocuri. Pentru setări mai avansate, cum ar fi furnizorii de conectare personalizați sau conectarea mai multor metode de autentificare, consultați documentația oficială Unity.