Аутентификация в Unity
Это руководство проведет вас через настройку Unity аутентификации в проекте Unity. Unity аутентификация позволяет вам управлять и аутентифицировать пользователей в ваших играх с помощью инструментария Unity Identity. Мы рассмотрим шаги, необходимые для настройки аутентификации, интегрируем ее в ваш проект и реализуем функциональность входа.
Предпосылки
- Unity Установлены Hub и Unity Editor.
- Unity проект с включенными Unity службами.
- Unity учетная запись и идентификатор активного проекта.
Шаг 1: Настройте аутентификацию Unity на панели инструментов Unity
- Войдите в Unity Панель управления.
- Выберите свой проект или создайте новый.
- Перейдите к Аутентификация в разделе "Services".
- Включите аутентификацию, нажав кнопку Активировать.
- При необходимости настройте параметры аутентификации, такие как атрибуты пользователя, методы входа и элементы управления доступом.
Шаг 2: Установка пакета аутентификации Unity
Чтобы использовать аутентификацию Unity в своем проекте, вам необходимо установить соответствующий пакет.
- Откройте ваш проект Unity.
- Перейдите в Окно > Диспетчер пакетов.
- Найдите Authentication в диспетчере пакетов.
- Нажмите Установить, чтобы добавить пакет аутентификации в ваш проект.
Шаг 3: Настройка сценария инициализации
Чтобы использовать аутентификацию в вашей игре, вам необходимо инициализировать Unity сервисы и аутентификацию во время выполнения. Добавьте следующий код в скрипт C# (например, AuthenticationManager.cs
) и прикрепите его к GameObject в вашей сцене.
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}");
}
}
}
Этот скрипт инициализирует службы Unity при запуске игры и анонимно регистрирует пользователя, если он еще не вошел в систему.
Шаг 4: Реализуйте вход с аутентификацией Unity
Вы также можете предоставить варианты для определенных методов входа, таких как электронная почта или вход через Google, в зависимости от требований вашей игры. Ниже приведен пример того, как вы можете реализовать вход с помощью аутентификации Unity.
Пример: вход с помощью электронной почты и пароля
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}");
}
}
}
Чтобы вызвать этот метод, создайте форму пользовательского интерфейса в Unity, чтобы пользователи могли ввести свой адрес электронной почты и пароль, а затем вызовите SignInWithEmailAsync
из события onClick кнопки пользовательского интерфейса.
Шаг 5: Выйти
Для управления пользователями вы также можете реализовать функцию выхода. Вот как это сделать:
public void SignOut()
{
AuthenticationService.Instance.SignOut();
Debug.Log("Signed out successfully.");
}
Вызывайте этот метод всякий раз, когда хотите вывести пользователя из игры.
Заключение
Мы рассмотрели, как настроить аутентификацию Unity в вашем проекте Unity, включая инициализацию, анонимный вход, вход по электронной почте и выход из системы. С аутентификацией Unity вы можете эффективнее управлять своими пользователями и повышать безопасность в своих играх. Для более сложных настроек, таких как пользовательские поставщики входа или связывание нескольких методов аутентификации, обратитесь к официальной документации Unity.