فهم مشاريع Firebase

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

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

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

يمكنك الاطّلاع على معلومات أكثر تفصيلاً عن هذه العملية في دليل بدء استخدام Firebase لمنصّتك:
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 ضِمن صفحة إدارة الهوية وإمكانية الوصول والمشرف > التصنيفات في Google Cloud Console. يمكنك الاطّلاع على مزيد من المعلومات عن هذا التصنيف في الأسئلة الشائعة .

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

  • يمكنك الوصول إلى المشروع والتفاعل معه في كلّ من Firebase console as well as in the Google Cloud console and Google APIs console.

  • يمكنك التفاعل مع المشروع باستخدام الـ Firebase CLI والـ gcloud CLI و أي مورد من Terraform من Google.

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

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

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

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

  • أي تسلسل هرمي للموارد يتم تطبيقه على مشروعك Google Cloud (على سبيل المثال، المؤسسة والمجلدات وما إلى ذلك) سينطبق أيضًا على مشروعك على Firebase.

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

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

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

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

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

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

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

Firebase وحدة تحكُّم

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

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

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

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

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

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

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

Firebase Management REST API

باستخدام 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 ملف إعداد (لتطبيقات Apple/Android) أو إعدادًا (لتطبيقات الويب) يمكنك إضافته مباشرةً إلى دليل تطبيقك المحلي.Firebase

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

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

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

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

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

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

    • تطبيقات Firebase على Apple: 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، مثل مفتاح واجهة برمجة التطبيقات ورقم تعريف المشروع، Realtime Database عنوان URL، وCloud Storage اسم المجموعة. في ضوء ذلك، استخدِم Firebase Security Rules لحماية بياناتك وملفاتك في Realtime Database و Cloud Firestore و Cloud Storage.

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

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

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

  • عدد المشاريع لكل حساب على Google (عنوان البريد الإلكتروني)

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

    يُرجى ملاحظة ما يلي بشأن الحد الأقصى لحصة إنشاء المشاريع:

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

    يمكنك التعرّف على أفضل الممارسات العامة التي ننصح بها في Firebase لإعداد مشاريع Firebase.

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

    يفرض Firebase حدًا أقصى يبلغ 30 تطبيقًا على إجمالي عدد تطبيقات Firebase ضِمن مشروع Firebase.

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

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

  • عدد مواقع Hosting لكل مشروع

    تتيح ميزة Firebase Hostingالمواقع المتعددة ما يصل إلى 36 موقعًا إلكترونيًا لكل مشروع.

إطلاق تطبيقك

  • يمكنك إعداد تنبيهات الميزانية لمشروعك في Google Cloud Console.
  • يمكنك مراقبة لوحة بيانات الاستخدام والفوترة في وحدة تحكّم Firebase للحصول على صورة عامة عن استخدام مشروعك لخدمات Firebase متعددة.
  • يمكنك مراجعة قائمة التحقّق من إطلاق Firebase.