المصادقة في Unity

سيرشدك هذا البرنامج التعليمي خلال إعداد مصادقة Unity في مشروع Unity. تتيح لك مصادقة Unity إدارة المستخدمين في ألعابك والمصادقة عليهم باستخدام مجموعة أدوات الهوية الخاصة بـ 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)، وأرفقه بكائن لعبة في المشهد الخاص بك.

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 الرسمية.