Uwierzytelnianie w Unity
Ten samouczek przeprowadzi Cię przez konfigurację uwierzytelniania Unity w projekcie Unity. Uwierzytelnianie Unity umożliwia zarządzanie i uwierzytelnianie użytkowników w grach za pomocą zestawu narzędzi Identity Unity. Omówimy kroki wymagane do skonfigurowania uwierzytelniania, zintegrowania go z projektem i wdrożenia funkcji logowania.
Wymagania wstępne
- Unity Zainstalowano Hub i edytor Unity.
- Unity projekt z włączonymi usługami Unity.
- Unity konto i aktywny identyfikator projektu.
Krok 1: Skonfiguruj uwierzytelnianie Unity w panelu Unity
- Zaloguj się do Panelu Unity.
- Wybierz swój projekt lub utwórz nowy.
- Przejdź do Uwierzytelnianie w sekcji "Services".
- Włącz uwierzytelnianie klikając przycisk Aktywuj.
- Skonfiguruj ustawienia uwierzytelniania zgodnie z potrzebami, takie jak atrybuty użytkownika, metody logowania i kontrole dostępu.
Krok 2: Zainstaluj pakiet uwierzytelniania Unity
Aby móc używać uwierzytelniania Unity w swoim projekcie, musisz zainstalować odpowiedni pakiet.
- Otwórz swój projekt Unity.
- Przejdź do okna > Menedżer pakietów.
- Wyszukaj Authentication w Menedżerze pakietów.
- Kliknij Install, aby dodać pakiet uwierzytelniania do swojego projektu.
Krok 3: Skonfiguruj skrypt inicjalizacji
Aby użyć uwierzytelniania w grze, musisz zainicjować usługi Unity i uwierzytelnianie w czasie wykonywania. Dodaj następujący kod w skrypcie C# (np. AuthenticationManager.cs
) i dołącz go do GameObject w swojej scenie.
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}");
}
}
}
Ten skrypt inicjuje usługi Unity podczas uruchamiania gry i loguje użytkownika anonimowo, jeśli jeszcze nie jest zalogowany.
Krok 4: Wdróż logowanie z uwierzytelnianiem Unity
Możesz również podać opcje dla konkretnych metod logowania, takich jak e-mail lub logowanie przez Google, w zależności od wymagań gry. Poniżej znajduje się przykład, jak można wdrożyć logowanie za pomocą uwierzytelniania Unity.
Przykład: Zaloguj się za pomocą adresu e-mail i hasła
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}");
}
}
}
Aby wywołać tę metodę, utwórz formularz interfejsu użytkownika w Unity, w którym użytkownicy będą mogli wprowadzić swój adres e-mail i hasło, a następnie wywołaj SignInWithEmailAsync
z zdarzenia onClick przycisku interfejsu użytkownika.
Krok 5: Wyloguj się
Do zarządzania użytkownikami możesz również zaimplementować funkcję wylogowania. Oto jak to zrobić:
public void SignOut()
{
AuthenticationService.Instance.SignOut();
Debug.Log("Signed out successfully.");
}
Wywołaj tę metodę za każdym razem, gdy chcesz wylogować użytkownika z gry.
Wniosek
Omówiliśmy, jak skonfigurować uwierzytelnianie Unity w projekcie Unity, w tym inicjalizację, anonimowe logowanie, logowanie za pomocą poczty e-mail i funkcjonalność wylogowywania. Dzięki uwierzytelnianiu Unity możesz skuteczniej zarządzać swoimi użytkownikami i zwiększyć bezpieczeństwo w swoich grach. Aby uzyskać bardziej zaawansowane konfiguracje, takie jak niestandardowi dostawcy logowania lub łączenie wielu metod uwierzytelniania, zapoznaj się z oficjalną dokumentacją Unity.