Автентифікація в Unity

Цей підручник допоможе вам налаштувати автентифікацію Unity у проекті Unity. Unity Автентифікація дає змогу керувати та автентифікувати користувачів у ваших іграх за допомогою набору інструментів ідентифікації Unity. Ми розглянемо кроки, необхідні для налаштування автентифікації, інтеграції її у ваш проект і впровадження функції входу.

передумови

  • Unity Встановлено Hub і Unity Editor.
  • Unity проект із увімкненими службами Unity.
  • Unity обліковий запис і ідентифікатор активного проекту.

Крок 1: Налаштуйте автентифікацію Unity на інформаційній панелі Unity

  1. Увійдіть на Unity інформаційну панель.
  2. Виберіть свій проект або створіть новий.
  3. Перейдіть до Authentication у розділі "Services".
  4. Увімкніть автентифікацію, натиснувши кнопку Активувати.
  5. За потреби налаштуйте параметри автентифікації, наприклад атрибути користувача, методи входу та елементи керування доступом.

Крок 2: Встановіть пакет автентифікації Unity

Щоб використовувати аутентифікацію Unity у вашому проекті, вам потрібно встановити відповідний пакет.

  1. Відкрийте свій проект Unity.
  2. Перейдіть до Вікно > Менеджер пакетів.
  3. Знайдіть Authentication у менеджері пакетів.
  4. Натисніть Install, щоб додати пакет автентифікації до вашого проекту.

Крок 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.