אימות באחדות

מדריך זה ידריך אותך בהגדרת Unity אימות בפרויקט Unity. Unity אימות מאפשר לך לנהל ולאמת משתמשים במשחקים שלך באמצעות ערכת הכלים Identity של Unity. אנו נסקור את השלבים הנדרשים להגדרת אימות, שילובו בפרויקט שלך ויישום פונקציונליות כניסה.

דרישות מוקדמות

  • Unity הותקנו רכזת ועורך Unity.
  • Unity פרויקט עם שירותים Unity מופעלים.
  • Unity חשבון ומזהה פרויקט פעיל.

שלב 1: הגדר Unity אימות במרכז המחוונים Unity

  1. היכנס ללוח המחוונים Unity.
  2. בחר את הפרויקט שלך או צור פרויקט חדש.
  3. נווט אל אימות מתחת לקטע "Services".
  4. אפשר אימות על ידי לחיצה על כפתור הפעל.
  5. הגדר את הגדרות האימות לפי הצורך, כגון תכונות משתמש, שיטות כניסה ובקרות גישה.

שלב 2: התקן Unity חבילת אימות

כדי להשתמש ב-Unity אימות בפרויקט שלך, עליך להתקין את החבילה המתאימה.

  1. פתח את פרויקט Unity שלך.
  2. נווט אל חלון > מנהל החבילות.
  3. חפש אימות במנהל החבילות.
  4. לחץ על התקן כדי להוסיף את חבילת האימות לפרויקט שלך.

שלב 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.