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

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

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

MechaHamster (GitHub)

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

MechaHamster (متجر Play)


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

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

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

  • يجب تثبيت الإصدار Unity 2021 من قناة الدعم الطويل الأمد (LTS) أو إصدار أحدث. تم إيقاف استخدام Unity 2020 نهائيًا، ولن يعود متاحًا بعد الإصدار الكبير التالي. قد تكون الإصدارات السابقة متوافقة أيضًا، ولكن لن يتم دعمها بشكل نشط.

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

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

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

    • بالنسبة إلى أنظمة 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 المتوافقة المنتجات التي تريد استخدامها في تطبيقك.

    تم تفعيل Analytics.

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

    لم يتم تفعيل Analytics

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

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

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

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

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

أضف عبارة using ورمز الإعداد التالي في بداية التطبيق. يمكنك البحث عن Google Play services وتعديله بشكل اختياري إلى تطلبه حزمة تطوير البرامج (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 المتاحة للأجهزة الجوّالة

تتوافق حزمة تطوير البرامج (SDK) لنظام التشغيل Firebase Unity مع منتجات Firebase التالية على أجهزة Apple وAndroid:

منتج Firebase حزمة Unity
AdMob يتم توزيعها بشكل منفصل في AdMob Unity Plugin
Analytics FirebaseAnalytics.unitypackage
App Check FirebaseAppCheck.unitypackage
Authentication FirebaseAuth.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Messaging FirebaseMessaging.unitypackage
(موصى بها) FirebaseAnalytics.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Crashlytics FirebaseCrashlytics.unitypackage
(موصى بها) FirebaseAnalytics.unitypackage
Dynamic Links FirebaseDynamicLinks.unitypackage
(موصى بها) FirebaseAnalytics.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage
(موصى بها) FirebaseAnalytics.unitypackage

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

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

منتج Firebase (جهاز كمبيوتر مكتبي) حزمة Unity
App Check FirebaseAppCheck.unitypackage
Authentication FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage

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

الخطوات التالية