بدء استخدام 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.

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

  3. انقر على إنشاء مشروع.

  4. في أسفل الصفحة، انقر على الرابط الخاص بحالة هل لديك مشروع على Google Cloud؟

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

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

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

  8. اتّبِع التعليمات الظاهرة على الشاشة "لإضافة 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 CLI أو واجهة برمجة التطبيقات REST API لإدارة Firebase أو 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
    • واجهة برمجة التطبيقات Token Service API

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

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

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

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

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

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

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

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

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

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