إضافة Firebase إلى مشروع Unity

عزِّز قدرات ألعاب Unity باستخدام حِزم تطوير البرامج (SDK) الخاصة بمنصّة Firebase Unity.

لتوضيح مدى سهولة دمج Firebase في مشروعك على Unity، صمّمنا نموذج لعبة، MechaHamster. إذا أردت تجربة إضافة Firebase إلى لعبة، استخدِم إصدار المبتدئين المتوفّر على GitHub. إذا أردت نسخة مكتملة، يمكنك الاطّلاع على الإصدارات في App Store أو متجر Google Play.

MechaHamster (GitHub)

MechaHamster (متجر التطبيقات)

MechaHamster (متجر Play)


يمكنك الاطّلاع على مزيد من المعلومات حول تحسين أداء ألعابك باستخدام Firebase من خلال صفحة ألعاب Firebase.

هل سبق لك إضافة Firebase إلى مشروع Unity؟ تأكَّد من استخدام أحدث إصدار من حزمة تطوير البرامج Unity من Firebase.

المتطلّبات الأساسية

  • تثبيت Unity 2019.1 أو إصدار أحدث. قد تكون الإصدارات السابقة متوافقة أيضًا ولكن لن تكون مدعومة بشكل نشط. يُعَدّ دعم Unity 2019.1 متوقفًا ولن يعود متاحًا بشكل نشط بعد الإصدار الرئيسي التالي.

  • (أنظمة Apple الأساسية فقط) ثبِّت ما يلي:

    • Xcode 13.3.1 أو إصدار أحدث
    • الإصدار 1.12.0 من CocoaPods أو إصدار أحدث
  • احرص على أن يستوفي مشروعك في Unity المتطلبات التالية:

    • لنظام التشغيل iOS: يستهدف الإصدار 11 من نظام التشغيل iOS أو الإصدارات الأحدث.
    • لنظام التشغيل tvOS - يستهدف الإصدار tvOS 12 أو الإصدارات الأحدث.
    • لنظام التشغيل Android: يستهدف المستوى 19 من واجهة برمجة التطبيقات (KitKat) أو أعلى
  • ابدأ بإعداد جهاز فعلي أو استخدام محاكي لتشغيل تطبيقك.

    • بالنسبة إلى أنظمة Apple الأساسية: يمكنك إعداد جهاز فعلي أو استخدام محاكي iOS أو tvOS.

    • على أجهزة Android - يجب أن تستخدم المحاكيات صورة للمحاكي مع Google Play.

إذا لم يكن لديك مشروع Unity حاليًا وتريد تجربة أحد منتجات Firebase، يمكنك تنزيل أحد نماذج البدء السريع لدينا.

الخطوة 1: إنشاء مشروع على Firebase

قبل أن تتمكّن من إضافة منصة Firebase إلى مشروع Unity، عليك إنشاء مشروع في Firebase للربط بمشروع Unity. يمكنك الانتقال إلى صفحة فهم مشاريع Firebase لمزيد من المعلومات حول مشاريع Firebase.

الخطوة 2: تسجيل تطبيقك في Firebase

يمكنك تسجيل تطبيق أو لعبة واحدة أو أكثر لربطها بمشروعك في Firebase.

  1. انتقِل إلى وحدة تحكُّم Firebase.

  2. في منتصف صفحة النظرة العامة على المشروع، انقر على رمز Unity () لبدء سير عمل الإعداد.

    إذا سبق وأضفت تطبيقًا إلى مشروع Firebase، انقر على إضافة تطبيق لعرض خيارات النظام الأساسي.

  3. اختَر التصميم المستهدَف لمشروع Unity الذي تريد تسجيله، أو يمكنك اختيار تسجيل كلا الهدفَين الآن في الوقت نفسه.

  4. أدخِل أرقام التعريف الخاصة بالمنصّة الخاصة بمشروع Unity.

    • على أجهزة iOS: أدخِل رقم تعريف iOS لمشروع Unity في حقل معرّف حزمة iOS.

    • على أجهزة Android: أدخِل معرّف Android لمشروع Unity في حقل اسم حزمة Android.
      غالبًا ما يتم استخدام المصطلحين اسم الحزمة ومعرّف التطبيق بالتبادل.

  5. (اختياري) أدخِل الأسماء المستعارة الخاصة بمنصة مشروع Unity.
    هذه الألقاب هي معرّفات داخلية ومعرّفات ملائمة ولا تظهر إلا لك في وحدة تحكُّم Firebase.

  6. انقر على تسجيل التطبيق.

الخطوة 3: إضافة ملفات إعداد Firebase

  1. احصل على ملفات إعداد Firebase الخاصة بالنظام الأساسي في سير عمل إعداد وحدة تحكُّم Firebase.

    • لنظام التشغيل iOS - انقر على تنزيل GoogleService-Info.plist.

    • بالنسبة إلى Android: انقر على تنزيل google-services.json.

  2. افتح نافذة مشروع الخاصة بمشروع Unity، ثم انقِل ملفات التهيئة إلى مجلد Assets.

  3. في "وحدة تحكُّم Firebase"، انقر على التالي في سير عمل الإعداد.

الخطوة 4: إضافة حِزم تطوير البرامج (SDK) من Firebase Unity

  1. في وحدة تحكُّم Firebase، انقر على تنزيل حزمة تطوير البرامج (SDK) لمنصة Firebase Unity، ثمّ فُكّ ضغط حزمة SDK في مكان مناسب.

  2. في مشروع Unity المفتوح، انتقِل إلى مواد العرض > استيراد حزمة > الحزمة المخصّصة.

  3. من حزمة SDK غير المضغوطة، اختَر منتجات Firebase المتوافقة التي تريد استخدامها في تطبيقك.

    تفعيل الإحصاءات

    • إضافة حزمة Firebase الخاصة بخدمة "إحصاءات Google": FirebaseAnalytics.unitypackage
    • أضِف الحِزم لأي منتجات أخرى من Firebase تريد استخدامها في تطبيقك. على سبيل المثال، لاستخدام مصادقة Firebase وقاعدة بيانات Firebase في الوقت الفعلي:
      FirebaseAuth.unitypackage وFirebaseDatabase.unitypackage

    عدم تفعيل الإحصاءات

    أضِف حِزم منتجات Firebase التي تريد استخدامها في تطبيقك. على سبيل المثال، لاستخدام مصادقة Firebase وقاعدة بيانات Firebase في الوقت الفعلي:
    FirebaseAuth.unitypackage و FirebaseDatabase.unitypackage

  4. في نافذة استيراد حزمة Unity، انقر على استيراد.

  5. في "وحدة تحكُّم Firebase"، انقر على التالي في سير عمل الإعداد.

الخطوة 5: التأكّد من متطلبات إصدار "خدمات Google Play"

تتطلّب حزمة تطوير البرامج (SDK) لمنصّة Firebase Unity لنظام التشغيل Android خدمات Google Play، التي يجب أن تكون محدّثة قبل استخدام حزمة تطوير البرامج (SDK).

أضِف عبارة using ورمز الإعداد التاليَين في بداية التطبيق. يمكنك التحقّق من توفّر خدمات Google Play وتحديثها اختياريًا إلى الإصدار المطلوب في حزمة تطوير البرامج (SDK) لمنصّة Firebase Unity قبل استخدام أي طرق أخرى في حزمة تطوير البرامج (SDK).

using Firebase.Extensions;
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

اكتملت عملية الإعداد تم تسجيل مشروع Unity وإعداده لاستخدام Firebase.

إذا كنت تواجه مشكلة في عملية الإعداد، انتقِل إلى تحديد مشاكل Unity وحلّها والأسئلة الشائعة.

إعداد سير عمل أجهزة كمبيوتر سطح المكتب (إصدار تجريبي)

عند إنشاء لعبة، غالبًا ما يكون من الأسهل كثيرًا اختبار لعبتك في "محرِّر Unity" وعلى الأنظمة الأساسية لأجهزة الكمبيوتر المكتبية أولاً، ثم نشرها واختبارها على الأجهزة الجوّالة لاحقًا في مرحلة التطوير. ولدعم سير العمل هذا، نقدّم مجموعة فرعية من حِزم تطوير البرامج (SDK) لمنصّة Firebase Unity التي يمكن تشغيلها على أنظمة التشغيل Windows وmacOS وLinux ومن داخل محرّر Unity.

  1. يمكنك إعداد مشروع Unity على نظام أساسي مخصّص لأجهزة الكمبيوتر المكتبي من خلال اتّباع التعليمات نفسها الخاصة بالنظام الأساسي للأجهزة الجوّالة (ابدأ بعملية تسجيل تطبيقك في Firebase أعلاه).

  2. يمكنك تشغيل مشروع Unity في Unity IDE أو اختيار إنشاء مشروع Unity لنظام كمبيوتر مكتبي.

  3. (اختياري) يمكنك تنفيذ مشروع Unity في "وضع التعديل".

    يمكن أيضًا تشغيل حزمة تطوير البرامج (SDK) لمنصة Firebase Unity في وضع التعديل من Unity، ما يسمح باستخدامها في المكوّنات الإضافية للمحرّر.

    1. عند إنشاء عنصر FirebaseApp يستخدمه المحرِّر، لا تستخدِم المثيل التلقائي.

    2. بدلاً من ذلك، قدِّم اسمًا فريدًا للمكالمة FirebaseApp.Create().

      يُعدّ ذلك مهمًا لتجنُّب حدوث تعارض في الخيارات بين المثيل المستخدَم من قِبل Unity IDE والمثيل المستخدَم في مشروع Unity.

منتجات Firebase المتوافقة

يمكنك الاطّلاع على المزيد من المعلومات حول مكتبات Unity Firebase في المستندات المرجعية.

مكتبات Firebase المتاحة للأجهزة الجوّالة

تتوافق حزمة تطوير برامج Firebase Unity مع منتجات Firebase التالية على Apple وAndroid:

منتج Firebase حزمة Unity
AdMob توزيعها بشكل منفصل في مكوّن Unity الإضافي من AdMob
إحصاءات Google FirebaseAnalytics.unitypackage
فحص التطبيقات FirebaseAppCheck.unitypackage
المصادقة FirebaseAuth.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
الوظائف السحابية FirebaseFunctions.unitypackage
المراسلة عبر السحابة الإلكترونية FirebaseMessaging.unitypackage
(موصى بها) FirebaseAnalytics.unitypackage
التخزين في السحابة الإلكترونية FirebaseStorage.unitypackage
Crashlytics FirebaseCrashlytics.unitypackage
(موصى بها) FirebaseAnalytics.unitypackage
الروابط الديناميكية FirebaseDynamicLinks.unitypackage
(موصى بها) FirebaseAnalytics.unitypackage
قاعدة بيانات الوقت الفعلي FirebaseDatabase.unitypackage
الإعداد عن بُعد FirebaseRemoteConfig.unitypackage
(موصى بها) FirebaseAnalytics.unitypackage

مكتبات Firebase المتاحة لأجهزة الكمبيوتر المكتبي

تتضمّن حزمة تطوير البرامج (SDK) لمنصّة Firebase Unity إتاحة سير العمل على أجهزة الكمبيوتر المكتبي لمجموعة فرعية من المنتجات، ما يتيح استخدام أجزاء معيّنة من Firebase في محرِّر Unity وفي إصدارات أجهزة الكمبيوتر المكتبي المستقلة على أنظمة التشغيل Windows وmacOS وLinux.

منتج Firebase (جهاز كمبيوتر مكتبي) حزمة Unity
فحص التطبيقات FirebaseAppCheck.unitypackage
المصادقة FirebaseAuth.unitypackage
الوظائف السحابية FirebaseFunctions.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
التخزين في السحابة الإلكترونية FirebaseStorage.unitypackage
قاعدة بيانات الوقت الفعلي FirebaseDatabase.unitypackage
الإعداد عن بُعد FirebaseRemoteConfig.unitypackage

ويوفر Firebase مكتبات سطح المكتب المتبقية كعمليات تنفيذ بديلة (غير فعّالة) لتيسير إنشاءها عند إنشاء أنظمة التشغيل Windows وmacOS وLinux. لذلك، لا تحتاج إلى تجميع الرمز البرمجي بشكل مشروط لاستهداف سطح المكتب.

الخطوات اللاحقة