بدء استخدام Firebase مع مشروع حالي على Google Cloud

مشروع Firebase هو Google Cloud مشروع تم تفعيل بعض الإعدادات والخدمات الإضافية الخاصة بـ Firebase فيه. ويُطلق على هذه العملية عادةً اسم "إضافة Firebase" إلى مشروع Google Cloud. توضّح هذه الصفحة كيفية "إضافة Firebase"، بالإضافة إلى بعض الأسئلة الشائعة.

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

العلاقة بين مشروع Firebase ومشروع 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 إلى مشروع Google Cloud حالي

يمكنك "إضافة Firebase" إلى مشروع Google Cloud حالي باستخدام أي من الخيارات التالية. تأكَّد من أنّ لديك الأذونات المطلوبة لإضافة Firebase إلى مشروع Google Cloud.

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

  1. سجِّل الدخول إلى وحدة تحكّم Firebase باستخدام الحساب الذي يتيح لك الوصول إلى مشروع Google Cloud الحالي.

  2. انقر على الزر لإنشاء مشروع جديد في Firebase.

  3. في أسفل الصفحة، انقر على إضافة Firebase إلى مشروع Google Cloud.

  4. في حقل النص، ابدأ في إدخال اسم المشروع للمشروع الحالي، ثم اختَر المشروع من القائمة المعروضة.

  5. انقر على فتح مشروع.

  6. اقبل بنود Firebase إذا طُلب منك ذلك.

  7. اتّبِع التعليمات الظاهرة على الشاشة من أجل "إضافة Firebase" وإعداد مشروع على Firebase.

    يُرجى العِلم أنّ تفعيل ميزة "المساعدة المستندة إلى الذكاء الاصطناعي" في وحدة تحكّم Firebase وGoogle Analytics هو أمر اختياري.

  1. إذا لم يسبق لك إجراء ذلك، ثبِّت Firebase CLI.

  2. سجِّل الدخول باستخدام حساب Google نفسه الذي يمنحك إذن الوصول إلى مشروع Google Cloud الحالي.

  3. نفِّذ الأمر التالي:

    firebase projects:addfirebase
  4. عندما يُطلب منك ذلك، اختَر مشروع Google Cloud الحالي من القائمة المعروضة.

  1. فعِّل Firebase Management API في مشروع Google Cloud الحالي.

  2. أنشئ رمز الدخول لواجهة برمجة التطبيقات.

  3. فعِّل خدمات Firebase للمشروع من خلال استدعاء projects.addFirebase.

    يُرجى العِلم أنّه يجب توفُّر اسم المورد الخاص بمشروعك لإجراء هذه المكالمة.

للحصول على تعليمات تفصيلية، راجِع مقالة إضافة خدمات Firebase إلى مشروعك في دليل Firebase: "إعداد مشروع Firebase وإدارته باستخدام Management REST API". احرص على اتّباع جميع التعليمات الواردة في قسم قبل البدء من هذا الدليل.

  1. فعِّل واجهة Firebase Management API ‏ (firebase.googleapis.com) في مشروع Google Cloud الحالي.

  2. فعِّل خدمات Firebase للمشروع باستخدام المورد google_firebase_project.

للحصول على معلومات تفصيلية حول استخدام Firebase وTerraform، يُرجى الاطّلاع على بدء استخدام Terraform وFirebase.

الأسئلة الشائعة وتحديد المشاكل وحلّها

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

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

يمكنك قبول بنود خدمة Firebase من خلال وحدة تحكّم Firebase باستخدام أيّ من الخيارات التالية. اقبل البنود عند مطالبتك بذلك.

  • أنشِئ مشروعًا جديدًا على Firebase باستخدام Firebase.

  • افتح مشروعًا حاليًا على Firebase في وحدة تحكّم Firebase (على سبيل المثال، إذا دعاك شخص لتصبح عضوًا في المشروع (أي مديرًا) في المشروع).

  • افتح مشروعًا حاليًا في وحدة تحكّم Google Cloud وأضِف Firebase إليه.Firebase

لإضافة Firebase إلى مشروع Google Cloud حالي، يجب أن يتوفّر لأحد أعضاء المشروع (أي أحد الجهات الرئيسية) أذونات "إدارة الهوية وإمكانية الوصول" التالية:

  • firebase.projects.update
  • resourcemanager.projects.get
  • serviceusage.services.enable
  • serviceusage.services.get

تحتوي أدوار "إدارة الهوية وإمكانية الوصول" الخاصة بـ "المحرّر" و"المالك" على هذه الأذونات تلقائيًا.

تحتوي جميع مشاريع Firebase على التصنيف firebase:enabled ضمن صفحة التصنيفات في وحدة تحكّم Google Cloud.

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

مشروع Firebase هو Google Cloud مشروع تم تفعيل بعض الإعدادات والخدمات الإضافية الخاصة بـ Firebase فيه. لذلك، عند "إضافة Firebase" إلى مشروع Google Cloud حالي، يتّخذ Firebase الإجراءات التالية لتسهيل استخدام جميع خدمات وواجهات Firebase:

  • تضيف هذه السمة التصنيف firebase:enabled ضمن صفحة التصنيفات في وحدة تحكّم Google Cloud.

  • تُنشئ هذه الطريقة مفتاح واجهة برمجة تطبيقات "متصفّح" وتقصره تلقائيًا على واجهات برمجة التطبيقات ذات الصلة بـ Firebase.

  • يتم إنشاء حسابات الخدمة التالية:

    • service-PROJECT_NUMBER@gcp-sa-firebase.iam.gserviceaccount.com
    • firebase-adminsdk-random5chars@PROJECT_ID.iam.gserviceaccount.com
  • تفعيل واجهات برمجة التطبيقات التالية:

    • App Engine Admin API
    • Cloud Pub/Sub API
    • Cloud Resource Manager API
    • Cloud Runtime Configuration API
    • Cloud Testing API
    • Firebase Cloud Messaging API
    • Firebase Dynamic Links API
    • Firebase Hosting API
    • Firebase Installations API
    • Firebase Management API
    • Firebase Remote Config API
    • Firebase Remote Config Realtime API
    • Firebase Rules API
    • Identity Toolkit API
    • Token Service API

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

تتيح عملية "إضافة Firebase" واجهات برمجة التطبيقات وخدمات الخلفية التي يمكن استخدامها في Google Cloud ميزات أخرى. قد يؤدي إيقاف جميع هذه الخدمات المفعَّلة إلى عواقب غير متوقَّعة وغير مقصودة بسبب التبعيات.

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

على الرغم من أنّه لا يمكنك منع إمكانية "إضافة Firebase" إلى مشروع Google Cloud حالي، يمكنك إجراء ما يلي:

قصر إمكانية الوصول إلى إذن firebase.projects.update في خدمة إدارة الهوية وإمكانية الوصول (IAM) على أعضاء المشروع (أي الجهات الرئيسية) فقط، علمًا بأنّ هذا الإذن مطلوب "لإضافة Firebase".

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

  • اطّلِع على المراجع التالية لمعرفة المزيد عن مشاريع Firebase:

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

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

  • ابدأ استخدام Firebase في تطبيقاتك على الأجهزة الجوّالة وتطبيقات الويب من خلال تسجيل تطبيقاتك في مشروعك على Firebase وربطها بمنصة Firebase: iOS+ | Android | الويب | ‫Flutter | ‫Unity | ‫C++‎.