فهم مشاريع Firebase

تقدّم هذه الصفحة نظرة عامة موجزة حول العديد من المفاهيم المهمة حول مشاريع Firebase. اتّبِع الروابط للعثور على معلومات أكثر تفصيلاً عند توفّرها، ويشمل ذلك معلومات عن الميزات والخدمات والأدوات وأفضل الممارسات.

العلاقة بين مشاريع Firebase وتطبيقاتها ومنتجاتها

مشروع Firebase هو عنصر المستوى الأعلى في Firebase. في المشروع، يمكنك تسجيل تطبيقاتك المتوافقة مع أجهزة Apple أو Android أو الويب. بعد تسجيل تطبيقاتك باستخدام Firebase، يمكنك إضافة حِزم تطوير البرامج (SDK) لمنصّة Firebase لأي عدد من منتجات Firebase، مثل Analytics أو Cloud Firestore أو Performance Monitoring أو Remote Config.

يمكنك الاطّلاع على مزيد من المعلومات التفصيلية عن هذه العملية في دليل البدء لنظام التشغيل المُستخدَم:
iOS والإصدارات الأحدث | Android | الويب | Unity | C++ | Flutter.

فهم التسلسل الهرمي لمشاريع Firebase

مخطّط بياني يعرض التسلسل الهرمي الأساسي لمشروع Firebase، بما في ذلك
          المشروع وتطبيقاته المسجّلة والموارد التي تم توفيرها
          والخدمات يعرض هذا الرسم البياني التسلسل الهرمي الأساسي لمشروع Firebase. في ما يلي روابط التكامل الرئيسية:

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

  • يمكن أن يتضمّن مشروع Firebase تطبيقًا واحدًا أو أكثر على Firebase مسجَّلاً فيه (على سبيل المثال، إصدارا التطبيق المخصّصَين لنظامَي التشغيل iOS وAndroid، أو إصدارَي التطبيق المجانيين والمدفوعَين).

  • إنّ جميع تطبيقات Firebase المسجّلة في مشروع Firebase نفسه تشارك وتملك إذن الوصول إلى جميع الموارد والخدمات نفسها التي تم توفيرها للمشروع. وإليك بعض الأمثلة:

    • تشترك جميع تطبيقات Firebase المسجّلة في مشروع Firebase نفسه في الخلفيات نفسها، مثل Firebase Hosting وAuthentication وRealtime Database وCloud Firestore وCloud Storage وCloud Functions.

    • إنّ جميع تطبيقات Firebase المسجّلة في مشروع Firebase نفسه مرتبطة بموقع "إحصاءات Google" نفسه، حيث يكون كل تطبيق من تطبيقات Firebase هو مصدر بيانات منفصل في ذلك الموقع.

العلاقة بين مشاريع Firebase وGoogle Cloud

عند إنشاء مشروع جديد على Firebase، يتم في الواقع إنشاء مشروع Google Cloud من وراء الكواليس. يمكنك أيضًا إنشاء مشروع على Google Cloud أولاً، ثم إضافة Firebase إلى المشروع لاحقًا. يمكنك اعتبار مشروع Google Cloud حاوية افتراضية للبيانات والرموز البرمجية والإعدادات والخدمات.

يُرجى العلم أنّه بالنسبة إلى جميع مشاريع Firebase، تضيف Firebase تلقائيًا تصنيفًا هو firebase:enabled ضمن صفحة Labels (التصنيفات) لمشروعك في وحدة تحكّم Google Cloud. يمكنك الاطّلاع على مزيد من المعلومات حول هذا التصنيف في الأسئلة الشائعة.

بما أنّ مشروع Firebase هو مشروع Google Cloud:

  • يمكنك التفاعل مع مشروع في وحدة تحكّم Firebase بالإضافة إلى وحدة تحكّم Google Cloud ووحدة تحكّم Google APIs.

  • يمكنك استخدام المنتجات وواجهات برمجة التطبيقات من كلّ من Firebase وGoogle Cloud في مشروع.

  • تتم مشاركة أذونات إدارة الهوية والوصول (IAM) وأدوارها لمشروع معيّن على مستوى Firebase وGoogle Cloud. إنّ أي إذن وصول يحصل عليه أحد أعضاء المشروع إلى مشروعك على Google Cloud سينطبق أيضًا على مشروعك على Firebase (و بالعكس).

  • تتم مشاركة الفوترة لمشروع معيّن على Firebase وGoogle Cloud. إذا كانت الفوترة مفعّلة في مشروعك على Google Cloud، سيتم ربط مشروعك على Firebase بخطة تسعير Blaze للدفع حسب الاستخدام في Firebase.

  • تتم مشاركة المعرّفات الفريدة للمشروع (مثل رقم المشروع و رقم تعريف المشروع) على مستوى Firebase وGoogle Cloud.

  • يؤدي حذف مشروع إلى حذفه من Firebase وGoogle Cloud.

  • إنّ حذف مورد أو بيانات أو تعديلهما في مشروع ما ينطبق على كلٍّ من Firebase وGoogle Cloud.

إعداد مشروع على Firebase وتسجيل التطبيقات

يمكنك إعداد مشروع Firebase وتسجيل التطبيقات في وحدة تحكّم Firebase (أو، في حالات الاستخدام المتقدّمة، من خلال Firebase Management REST API أو Firebase CLI). عند إعداد مشروع وتسجيل التطبيقات، عليك اتخاذ بعض القرارات التنظيمية وإضافة معلومات الضبط الخاصة بـ Firebase إلى مشاريعك المحلية.

بالنسبة إلى التطبيقات العلنية، عليك إعداد سير عمل واضح لتطويرها، ويشمل ذلك عادةً استخدام بيئات متعددة. راجِع مستنداتنا حول عمليات المطوّرين المتكرّرة، بما في ذلك أفضل الممارسات العامة والإرشادات العامة للأمان لإعداد مشاريع Firebase وتسجيل التطبيقات لإنشاء عملية تطوير متكرّرة.

التفاعل مع مشروع على Firebase

بالإضافة إلى حِزم SDK الخاصة بالمنتجات، يمكنك التفاعل مباشرةً مع مشروع Firebase باستخدام عدة أدوات وواجهات مختلفة.

وحدة تحكّم Firebase

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

<span class=وحدة تحكّم Firebase - شاشة النظرة العامة على المشروع" class="attempt-right screenshot" style="max-width: calc((100% - 40px)/1.75);">

تعرض اللوحة على الجانب الأيمن من وحدة التحكّم منتجات Firebase، وهي منظَّمة حسب الفئات ذات المستوى الأعلى. في أعلى اللوحة اليمنى، يمكنك الوصول إلى إعدادات المشروع من خلال النقر على . تشمل إعدادات المشروع عمليات الدمج، أذونات الوصول، والفوترة.

يعرض وسط وحدة التحكّم أزرارًا لبدء سير عمل الإعداد بهدف تسجيل أنواع مختلفة من التطبيقات. بعد بدء استخدام Firebase، تتغيّر المنطقة الرئيسية في وحدة التحكّم إلى لوحة بيانات تعرض إحصاءات عن المنتجات التي تستخدمها.

يُرجى العِلم أنّ مشروع Firebase هو أيضًا مشروع Google Cloud، لذا قد تلاحظ أنّ المهام أو المنتجات المختلفة تتطلّب منك استخدام وحدة تحكُّم Google Cloud بدلاً من وحدة تحكُّم Firebase.

Firebase واجهة سطر الأوامر (أداة سطر أوامر)

يوفّر Firebase أيضًا Firebase CLI لضبط منتجات Firebase معيّنة وتدبيرها، مثل Firebase Hosting وCloud Functions for Firebase وFirebase Extensions.

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

واجهة برمجة التطبيقات REST لـ Firebase Management

باستخدام Firebase Management REST API، يمكنك إدارة مشروع على Firebaseبرمجيًا. على سبيل المثال، يمكنك تسجيل تطبيق مع مشروع أو إدراج التطبيقات التي سبق تسجيلهابرمجيًا (iOS والإصدارات الأحدث | Android | الويب).

معرّفات مشاريع Firebase

يمكن تحديد مشروع Firebase في الخلفية في Firebase وفي مختلف واجهات المطوّرين باستخدام معرّفات مختلفة، بما في ذلك اسم المشروع ورقم المشروع ورقم تعريف المشروع.

اسم المشروع

عند إنشاء مشروع، عليك تقديم اسم المشروع. هذا المعرّف هو الاسم الداخلي فقط لمشروع في وحدة تحكّم Firebase ووحدة تحكّم Google Cloud وFirebase CLI. لا يتم عرض اسم المشروع في أي منتج أو خدمة أو مورد متاح للجميع على Firebase أو Google Cloud، بل يهدف ببساطة إلى مساعدتك في التمييز بسهولة أكبر بين المشاريع المتعددة.

يمكنك تعديل اسم مشروع في أي وقت في إعدادات المشروع في وحدة تحكّم Firebase. يتم عرض اسم المشروع في اللوحة العلوية.

رقم المشروع

يحتوي كل مشروع على Firebase (و مشروع Google Cloud المرتبط به) على رقم مشروع. هذا هو المعرّف الفريد على مستوى العالم والمخصص من Google لملف المشروع. استخدِم هذا المعرّف عند ضبط عمليات الدمج و/أو إجراء طلبات بيانات من واجهة برمجة التطبيقات إلى Firebase أو Google أو خدمات تابعة لجهات خارجية.

لا يمكنك تعديل رقم مشروع. في حال حذف مشروع، يتم أيضًا حذف رقم المشروع، ولا يمكن لأي مشروع آخر استخدامه مرة أخرى.

رقم تعريف المشروع

يحتوي كل مشروع على Firebase (و مشروع Google Cloud المرتبط به) على رقم تعريف مشروع. هذا هو معرّف فريد يحدّده المستخدم للمشروع على مستوى كلّ من Firebase وGoogle Cloud. عند إنشاء مشروع على Firebase، تحدّد Firebase تلقائيًا رقم تعريف فريدًا للمشروع، ولكن يمكنك تعديله أثناء إعداد المشروع. يجب التعامل مع هذا المعرّف بشكل عام كاسم بدلٍ ملائم للإشارة إلى المشروع.

ملفّات إعدادات Firebase وعناصرها

عند تسجيل تطبيق في مشروع على Firebase، Firebase يوفّر وحدة تحكّم ملف إعدادات Firebase (تطبيقات Apple/Android) أو ملف تدبير (تطبيقات الويب) يمكنك إضافته مباشرةً إلى دليل التطبيقات على جهازك.

  • بالنسبة إلى تطبيقات Apple، يمكنك إضافة ملف إعدادات GoogleService-Info.plist.
  • بالنسبة إلى تطبيقات Android، يمكنك إضافة ملف إعدادات google-services.json.
  • بالنسبة إلى تطبيقات الويب، يمكنك إضافة عنصر إعدادات Firebase.

يمكنك في أي وقت الحصول على ملف إعدادات Firebase أو عنصره في التطبيق.

يربط ملف أو عنصر ضبط Firebase تطبيقًا بمشروع Firebase محدّد وموارده (قواعد البيانات وحِزم التخزين وما إلى ذلك). تتضمّن عملية الإعداد "خيارات Firebase"، وهي مَعلمات تتطلّبها Firebase وخدمات Google للتواصل مع واجهات برمجة التطبيقات لخادم Firebase ولربط بيانات العميل بمشروع Firebase وتطبيق Firebase. في ما يلي الحدّ الأدنى من "خيارات Firebase" المطلوبة:

  • مفتاح واجهة برمجة التطبيقات: سلسلة مشفّرة بسيطة يتم استخدامها عند استدعاء واجهات برمجة تطبيقات معيّنة لا تحتاج إلى الوصول إلى data المستخدم الخاصة (مثال على القيمة: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO)

  • رقم تعريف المشروع: معرّف فريد يحدّده المستخدم للمشروع في جميع Firebase وGoogle Cloud. قد يظهر هذا المعرّف في عناوين URL أو أسماء بعض موارد Firebase، ولكن يجب التعامل معه بشكل عام كعنوان بديل لتسهيل الإشارة إلى المشروع. (مثال على القيمة: myapp-project-123)

  • معرّف التطبيق ("AppID"): المعرّف الفريد لتطبيق Firebase في جميع خدمات Firebase بتنسيق خاص بالنظام الأساسي:

    • تطبيقات Apple في Firebase: GOOGLE_APP_ID (مثال على القيمة: 1:1234567890:ios:321abc456def7890)
      هذا ليس معرّف حِزمة Apple.
    • تطبيقات Firebase المتوافقة مع Android: mobilesdk_app_id (مثال على القيمة: 1:1234567890:android:321abc456def7890)
      هذا ليس اسم حزمة Android أو رقم تعريف تطبيق Android.
    • تطبيقات الويب في Firebase: appId (مثال على القيمة: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)

يُعدّ محتوى ملف الإعدادات أو عنصر Firebase متاحًا للجميع، بما في ذلك رقم تعريف التطبيق الخاص بالنظام الأساسي (رقم تعريف حزمة Apple أو اسم حزمة Android) والقيم الخاصة بمشروع Firebase، مثل مفتاح واجهة برمجة التطبيقات ورقم تعريف المشروع وعنوان URL لـ Realtime Database واسم حزمة Cloud Storage. بناءً على ذلك، استخدِم Firebase Security Rules لحماية بياناتك وملفاتك في Realtime Database وCloud Firestore وCloud Storage.

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

الحدود العامة لمشاريع Firebase وتطبيقاتها ومواقعها الإلكترونية

في ما يلي بعض الحدود العامة لمشاريع Firebase وتطبيقاتها ومواقعها الإلكترونية:

  • عدد المشاريع لكل حساب

    • خطة أسعار Spark: تقتصر حصة إنشاء المشاريع على عدد أقل من المشاريع (عادةً ما يتراوح بين 5 و10).
    • خطة أسعار Blaze: تزيد حصة إنشاء المشاريع لكل حساب بشكل كبير ما دام حساب Cloud Billing المرتبط به في حالة جيدة.

    نادرًا ما يشكّل الحدّ الأقصى لحصة إنشاء المشاريع مصدر قلق لمعظم المطوّرين، ولكن إذا لزم الأمر، يمكنك طلب زيادة حصة المشاريع.

    يُرجى العِلم أنّ حذف مشروع بالكامل يستغرق 30 يومًا ويتم احتسابه ضِمن حصة المشروع إلى أن يتم حذفه بالكامل.

  • عدد التطبيقات لكل مشروع

    تحدّ Firebase من إجمالي عدد تطبيقات Firebase ضمن مشروع Firebase إلى 30 تطبيقًا.

    يجب التأكّد من أنّ جميع تطبيقات Firebase ضمن مشروع واحد على Firebase هي صيغ لمنصّات مختلفة للتطبيق نفسه من منظور المستخدم النهائي. يمكنك الاطّلاع على مزيد من المعلومات حول المستأجرين المتعدّدين في مستندات أفضل الممارسات.

    اطّلِع على مزيد من المعلومات عن الحدّ الأقصى المسموح به للتطبيقات لكل مشروع في الأسئلة الشائعة.

  • عدد المواقع الإلكترونية على Hosting لكل مشروع

    تتيح ميزة المواقع المتعددة في Firebase Hosting استخدام 36 موقعًا كحد أقصى لكل مشروع.

إطلاق تطبيقك