Xác thực trong Unity

Hướng dẫn này sẽ hướng dẫn bạn thiết lập Xác thực Unity trong dự án Unity. Xác thực Unity cho phép bạn quản lý và xác thực người dùng trong trò chơi của mình bằng bộ công cụ Identity của Unity. Chúng tôi sẽ đề cập đến các bước cần thiết để thiết lập xác thực, tích hợp xác thực vào dự án của bạn và triển khai chức năng đăng nhập.

Điều kiện tiên quyết

  • Unity Đã cài đặt Hub và Unity Editor.
  • Unity dự án có dịch vụ Unity được bật.
  • Unity tài khoản và ID dự án đang hoạt động.

Bước 1: Thiết lập Xác thực Unity trong Bảng điều khiển Unity

  1. Đăng nhập vào Bảng điều khiển Unity.
  2. Chọn dự án của bạn hoặc tạo dự án mới.
  3. Điều hướng đến Xác thực trong phần "Services".
  4. Bật Xác thực bằng cách nhấp vào nút Kích hoạt.
  5. Cấu hình cài đặt Xác thực khi cần, chẳng hạn như thuộc tính người dùng, phương thức đăng nhập và kiểm soát truy cập.

Bước 2: Cài đặt gói xác thực Unity

Để sử dụng Xác thực Unity trong dự án của bạn, bạn cần cài đặt gói phù hợp.

  1. Mở dự án Unity của bạn.
  2. Điều hướng đến Cửa sổ > Trình quản lý gói.
  3. Tìm kiếm Authentication trong Trình quản lý gói.
  4. Nhấp vào Cài đặt để thêm gói Xác thực vào dự án của bạn.

Bước 3: Thiết lập tập lệnh khởi tạo

Để sử dụng xác thực trong trò chơi của bạn, bạn cần khởi tạo dịch vụ Unity và xác thực khi chạy. Thêm mã sau vào tập lệnh C# (ví dụ: AuthenticationManager.cs) và đính kèm vào GameObject trong cảnh của bạn.

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

Tập lệnh này khởi tạo các dịch vụ Unity khi trò chơi bắt đầu và đăng nhập người dùng ẩn danh nếu họ chưa đăng nhập.

Bước 4: Triển khai Đăng nhập bằng Xác thực Unity

Bạn cũng có thể cung cấp tùy chọn cho các phương thức đăng nhập cụ thể, chẳng hạn như đăng nhập qua email hoặc Google, tùy thuộc vào yêu cầu của trò chơi. Dưới đây là ví dụ về cách bạn có thể triển khai đăng nhập bằng Xác thực Unity.

Ví dụ: Đăng nhập bằng Email và Mật khẩu

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

Để gọi phương thức này, hãy tạo một biểu mẫu UI trong Unity để người dùng nhập email và mật khẩu, sau đó gọi SignInWithEmailAsync từ sự kiện onClick của nút UI.

Bước 5: Đăng xuất

Để quản lý người dùng, bạn cũng có thể muốn triển khai chức năng đăng xuất. Sau đây là cách thực hiện:

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

Gọi phương thức này bất cứ khi nào bạn muốn đăng xuất người dùng khỏi trò chơi.

Phần kết luận

Chúng tôi đã đề cập đến cách thiết lập Xác thực Unity trong dự án Unity của bạn, bao gồm chức năng khởi tạo, đăng nhập ẩn danh, đăng nhập email và đăng xuất. Với Xác thực Unity, bạn có thể quản lý người dùng hiệu quả hơn và tăng cường bảo mật trong trò chơi của mình. Để biết các thiết lập nâng cao hơn, chẳng hạn như nhà cung cấp đăng nhập tùy chỉnh hoặc liên kết nhiều phương thức xác thực, hãy tham khảo tài liệu Unity chính thức.