إضافة 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.

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

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

  • (على منصات Apple فقط) ثبِّت ما يلي:

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

    • لنظام التشغيل iOS: يستهدف الإصدار 13 من نظام التشغيل iOS أو الإصدارات الأحدث
    • بالنسبة إلى tvOS: يستهدف الإصدار 13 من tvOS أو الإصدارات الأحدث
    • على أجهزة 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، ثم فك ضغط الحزمة في مكان مناسب.

  2. في مشروع Unity المفتوح، انتقِل إلى Assets (الأصول) > Import Package (استيراد الحزمة) > Custom Package (حزمة مخصّصة).

  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. تعرَّف على المنتجات التي تتضمّن هذه التبعية. يجب أن يكون Google Play services محدّثًا قبل أن تتمكّن من استخدام هذه المنتجات.

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

  3. (اختياري) شغِّل مشروع Unity في "وضع التعديل".

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

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

    2. بدلاً من ذلك، أدخِل اسمًا فريدًا FirebaseApp.Create() للاتصال.

      هذا الإجراء مهم لتجنُّب حدوث تعارض في الخيارات بين النسخة المستخدَمة من قِبل بيئة التطوير المتكاملة (IDE) في Unity والنسخة المستخدَمة من قِبل مشروع Unity.

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

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

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

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

منتج Firebase حزمة Unity
AdMob يتم توزيعها بشكل منفصل في AdMob Unity Plugin
Firebase AI Logic FirebaseAI.unitypackage
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
Firebase AI Logic FirebaseAI.unitypackage
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. لذلك، لن تحتاج إلى تجميع الرمز بشكل مشروط لاستهداف الكمبيوتر.

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