فهم مشاريع 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 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 CLI). عند إعداد مشروع وتسجيل التطبيقات، عليك اتخاذ بعض القرارات التنظيمية وإضافة معلومات الضبط الخاصة بخدمة Firebase إلى مشاريعك المحلية.

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

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

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

وحدة تحكّم Firebase

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

تعرض اللوحة على الجانب الأيمن من وحدة التحكّم منتجات 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 بتنسيق خاص بالنظام الأساسي:

    • تطبيقات 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، مثل مفتاح واجهة برمجة التطبيقات ورقم تعريف المشروع وعنوان 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 موقعًا كحد أقصى لكل مشروع.

إطلاق تطبيقك