Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

افهم مشاريع Firebase

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

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

مشروع Firebase هو كيان المستوى الأعلى لـ Firebase. في المشروع ، يمكنك إنشاء تطبيقات Firebase من خلال تسجيل تطبيقات iOS أو Android أو الويب. بعد تسجيل تطبيقاتك في Firebase ، يمكنك إضافة Firebase SDKs لأي عدد من منتجات Firebase ، مثل Analytics أو Cloud Firestore أو مراقبة الأداء أو Remote Config.

تعرف على المزيد من المعلومات التفصيلية حول هذه العملية في أدلة البدء ( iOS | Android | web | Unity | C ++ ).

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

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

نظرًا لأن مشروع Firebase هو مشروع Google Cloud:

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

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

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

اسم المشروع

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

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

رقم المشروع

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

مكالمات API ورقم المشروع

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

تعرف على المزيد حول استخدام معرّفات المشروع ، وخاصة رقم المشروع ، في معيار AIP 2510 من Google.

ابحث عن رقم المشروع

  • وحدة تحكم Firebase: انقر على Project settings . يتم عرض رقم المشروع في الجزء العلوي.

  • Firebase CLI: تشغيل firebase projects:list . يتم عرض رقم المشروع مع جميع مشاريع Firebase المرتبطة بحسابك.

  • Firebase Management REST API: Call projects.list . يحتوي نص الاستجابة على رقم المشروع في كائن FirebaseProject .

معرّف المشروع

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

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

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

يتم عرض معرّف المشروع في موارد Firebase المرئية للجمهور ، على سبيل المثال:

  • نطاق الاستضافة الافتراضي - PROJECT_ID .web.app و PROJECT_ID .firebaseapp.com
  • عنوان URL الافتراضي لقاعدة البيانات في الوقت الفعلي - PROJECT_ID -default-rtdb.firebaseio.com أو PROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
  • اسم PROJECT_ID .appspot.com التخزين السحابي الافتراضي - PROJECT_ID .appspot.com

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

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

بالنسبة لبعض حالات الاستخدام ، قد يكون لديك العديد من مشاريع Firebase المرتبطة بدليل التطبيق المحلي نفسه. في هذه الحالات، عند استخدام Firebase CLI ، تحتاج إلى تمرير --project العلم مع firebase الأوامر إلى التواصل الذي مشروع Firebase تريد التفاعل معها.

يمكنك أيضًا إعداد اسم مستعار للمشروع لكل مشروع Firebase حتى لا تضطر إلى تذكر معرّفات المشروع.

مكالمات API ومعرف المشروع

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

تعرف على المزيد حول استخدام معرّفات المشروع ، وخاصة رقم المشروع ، في معيار AIP 2510 من Google.

ابحث عن معرّف المشروع

  • وحدة تحكم Firebase: انقر على Project settings . يتم عرض معرف المشروع في الجزء العلوي.

  • Firebase CLI: تشغيل firebase projects:list . يتم عرض معرّف المشروع مع جميع مشاريع Firebase المرتبطة بحسابك.

  • Firebase Management REST API: Call projects.list . يحتوي نص الاستجابة على معرف المشروع في كائن FirebaseProject .

ملفات وكائنات تهيئة Firebase

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

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

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

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

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

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

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

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

يعتبر محتوى ملف أو كائن تكوين Firebase عامًا ، بما في ذلك المعرّف الخاص بالنظام الأساسي للتطبيق (معرف حزمة iOS أو اسم حزمة Android) والقيم الخاصة بمشروع Firebase ، مثل مفتاح API ومعرف المشروع وعنوان URL لقاعدة بيانات Realtime و اسم حاوية التخزين السحابي. نظرًا لذلك ، استخدم قواعد أمان Firebase لحماية بياناتك وملفاتك في Realtime Database و Cloud Firestore و Cloud Storage .

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

إدارة مشروع Firebase

تأكد من مراجعة أفضل الممارسات العامة على مستوى المشروع (في أسفل هذه الصفحة) للاعتبارات التي قد تؤثر على كيفية إدارة مشروع Firebase.

أدوات لإدارة المشروع

وحدة تحكم Firebase

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

وحدة تحكم Firebase - شاشة نظرة عامة على المشروع

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

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

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

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

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

واجهة برمجة تطبيقات REST لإدارة Firebase

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

أفضل الممارسات العامة

إضافة تطبيقات لمشروع

تأكد من أن جميع التطبيقات داخل المشروع هي متغيرات النظام الأساسي لنفس التطبيق من منظور المستخدم النهائي. يُنصح بتسجيل إصدارات iOS و Android والويب لنفس التطبيق أو اللعبة باستخدام نفس مشروع Firebase. تشترك جميع التطبيقات في المشروع عمومًا في نفس موارد Firebase (قاعدة البيانات ، وحاويات التخزين ، وما إلى ذلك).

إذا كان لديك متغيرات بناء متعددة بمعرفات حزمة iOS مختلفة أو أسماء حزم Android محددة ، يمكنك تسجيل كل متغير مع مشروع Firebase منفصل. ومع ذلك ، إذا كان لديك متغيرات تشترك في نفس موارد Firebase ، فقم بتسجيلها في نفس مشروع Firebase.

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

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

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

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

    اعلم أن الحذف الكامل للمشروع يتطلب 30 يومًا ويتم احتسابه ضمن الحصة النسبية للمشروع حتى يتم حذف المشروع بالكامل.

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

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

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

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

  • عدد مواقع الاستضافة لكل مشروع

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

متعدد الايجار

لا يُنصح بربط العديد من التطبيقات و / أو مواقع الويب المختلفة المستقلة منطقيًا بمشروع Firebase واحد (يُطلق عليه غالبًا "متعدد الإيجارات"). يمكن أن يؤدي تعدد المستأجرين إلى مشاكل خطيرة تتعلق بالتكوين وخصوصية البيانات ، بما في ذلك المشكلات غير المقصودة المتعلقة بتجميع التحليلات والمصادقة المشتركة وهياكل قواعد البيانات شديدة التعقيد والصعوبات المتعلقة بقواعد الأمان.

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

على سبيل المثال ، إذا قمت بتطوير تطبيق تسمية أولية ، فيجب أن يكون لكل تطبيق مصنف بشكل مستقل مشروع Firebase الخاص به. لا يقوم كل تطبيق ولا ينبغي له (لأسباب تتعلق بالخصوصية) مشاركة البيانات مع الآخرين.

إطلاق التطبيق الخاص بك