پروژه های Firebase را درک کنید

این صفحه مروری کوتاه بر چندین مفهوم مهم در مورد پروژه های Firebase ارائه می دهد. در صورت موجود بودن، پیوندها را دنبال کنید تا اطلاعات دقیق‌تری درباره ویژگی‌ها، خدمات، ابزارها و بهترین شیوه‌ها بیابید.

ارتباط بین پروژه ها، برنامه ها و محصولات Firebase

پروژه Firebase موجودیت سطح بالایی برای Firebase است. در یک پروژه، می توانید اپلیکیشن های اپل، اندروید یا وب خود را ثبت کنید. پس از ثبت برنامه های خود در Firebase، می توانید SDK های Firebase را برای هر تعداد از محصولات Firebase اضافه کنید، مانند Analytics ، Cloud Firestore ، Performance Monitoring یا Remote Config .

اطلاعات دقیق‌تری درباره این فرآیند در راهنمای شروع برای پلتفرم خود بیاموزید:
iOS+ | اندروید | وب | وحدت | C++ | بال زدن .

آشنایی با سلسله مراتب پروژه های 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 Analytics مرتبط هستند، جایی که هر برنامه 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 تعامل داشته باشید.

  • می‌توانید از محصولات و APIهای Firebase و Google Cloud در یک پروژه استفاده کنید.

  • مجوزها و نقش‌های IAM برای یک پروژه در Firebase و Google Cloud به اشتراک گذاشته می‌شوند. هر گونه دسترسی یک عضو پروژه به پروژه Google Cloud شما برای پروژه Firebase شما نیز اعمال خواهد شد (و بالعکس).

  • صورت‌حساب یک پروژه در Firebase و Google Cloud به اشتراک گذاشته می‌شود. اگر صورت‌حساب در پروژه Google Cloud شما فعال باشد، پروژه Firebase شما در طرح قیمت‌گذاری Blaze به‌صورت پرداختی Firebase قرار می‌گیرد.

  • شناسه‌های منحصربه‌فرد برای یک پروژه (مانند شماره پروژه و شناسه پروژه ) در Firebase و Google Cloud به اشتراک گذاشته می‌شوند.

  • حذف یک پروژه باعث حذف آن در Firebase و Google Cloud می شود.

  • حذف یا تغییر یک منبع یا داده در یک پروژه در Firebase و Google Cloud اعمال می شود.

راه اندازی یک پروژه Firebase و ثبت برنامه ها

می‌توانید یک پروژه Firebase راه‌اندازی کنید و برنامه‌ها را در کنسول Firebase ثبت کنید (یا برای موارد استفاده پیشرفته، از طریق Firebase Management REST API یا Firebase CLI ). هنگامی که پروژه ای را راه اندازی می کنید و برنامه ها را ثبت می کنید، باید تصمیمات سازمانی بگیرید و اطلاعات پیکربندی خاص Firebase را به پروژه های محلی خود اضافه کنید.

برای برنامه های تولیدی، باید یک گردش کار توسعه واضح را تنظیم کنید، که معمولاً شامل استفاده از چندین محیط است. اسناد ما را در مورد گردش کار برنامه‌نویس ، از جمله بهترین شیوه‌های عمومی و دستورالعمل‌های امنیتی عمومی برای راه‌اندازی پروژه‌های Firebase و ثبت برنامه‌ها برای ایجاد گردش کار توسعه خود، مرور کنید.

تعامل با پروژه Firebase

علاوه بر SDK های محصول، می توانید مستقیماً با یک پروژه Firebase با استفاده از چندین ابزار و رابط مختلف تعامل داشته باشید.

کنسول Firebase

کنسول Firebase غنی ​​ترین محیط را برای مدیریت محصولات، برنامه ها و تنظیمات سطح پروژه Firebase ارائه می دهد.

<span class= کنسول Firebase - صفحه نمای کلی پروژه" class="attempt-right screenshot" style="max-width: calc((100% - 40px)/1.75);">

پنل سمت چپ کنسول، محصولات Firebase را فهرست می‌کند که بر اساس دسته‌های سطح بالا سازمان‌دهی شده‌اند. در بالای پانل سمت چپ، با کلیک کردن روی به تنظیمات پروژه دسترسی پیدا کنید. تنظیمات پروژه شامل ادغام ، مجوزهای دسترسی و صورتحساب است.

وسط کنسول دکمه‌هایی را نشان می‌دهد که گردش‌های کاری راه‌اندازی را برای ثبت انواع مختلف برنامه‌ها راه‌اندازی می‌کنند. پس از شروع استفاده از Firebase، قسمت اصلی کنسول به داشبوردی تبدیل می‌شود که آمار محصولات مورد استفاده شما را نمایش می‌دهد.

توجه داشته باشید که از آنجایی که یک پروژه Firebase نیز یک پروژه Google Cloud است، ممکن است متوجه شوید که وظایف یا محصولات مختلف شما را ملزم به استفاده از کنسول Google Cloud به جای کنسول Firebase می کند.

Firebase CLI (ابزار خط فرمان)

Firebase همچنین Firebase CLI را برای پیکربندی و مدیریت محصولات خاص Firebase، مانند Firebase Hosting ، Cloud Functions for Firebase ، و Firebase Extensions ارائه می‌کند.

پس از نصب CLI، به فرمان جهانی 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 مرتبط با آن) دارای شماره پروژه است. این شناسه متعارف جهانی منحصربفرد گوگل برای پروژه است. هنگام پیکربندی یکپارچه‌سازی‌ها و/یا برقراری تماس‌های API با Firebase، Google یا سرویس‌های شخص ثالث از این شناسه استفاده کنید.

شما نمی توانید شماره پروژه را ویرایش کنید. اگر پروژه ای را حذف کنید، شماره پروژه نیز حذف می شود و دیگر هیچ پروژه دیگری نمی تواند از آن استفاده کند.

شناسه پروژه

پروژه Firebase (و پروژه Google Cloud مرتبط با آن) دارای شناسه پروژه است. این یک شناسه منحصر به فرد تعریف شده توسط کاربر برای پروژه در تمام Firebase و Google Cloud است. هنگامی که یک پروژه Firebase ایجاد می کنید، Firebase به طور خودکار یک شناسه منحصر به فرد را به پروژه اختصاص می دهد، اما می توانید آن را در طول راه اندازی پروژه ویرایش کنید. این شناسه به طور کلی باید به عنوان یک نام مستعار مناسب برای ارجاع به پروژه در نظر گرفته شود.

فایل ها و اشیاء پیکربندی Firebase

وقتی یک برنامه را با پروژه Firebase ثبت می‌کنید، کنسول Firebase یک فایل پیکربندی Firebase (برنامه‌های Apple/Android) یا یک شی پیکربندی (برنامه‌های وب) را ارائه می‌کند که مستقیماً به فهرست برنامه محلی خود اضافه می‌کنید.

  • برای برنامه‌های اپل، یک فایل پیکربندی GoogleService-Info.plist اضافه می‌کنید.
  • برای برنامه‌های Android، یک فایل پیکربندی google-services.json اضافه می‌کنید.
  • برای برنامه های وب، یک شی پیکربندی Firebase را اضافه می کنید.

در هر زمان، می‌توانید فایل پیکربندی Firebase یا شیء یک برنامه را دریافت کنید .

یک فایل یا شیء پیکربندی Firebase یک برنامه را با یک پروژه خاص Firebase و منابع آن (پایگاه‌های داده، سطل‌های ذخیره‌سازی و غیره) مرتبط می‌کند. این پیکربندی شامل «گزینه‌های Firebase» است، که پارامترهایی هستند که توسط Firebase و سرویس‌های Google برای برقراری ارتباط با APIهای سرور Firebase و مرتبط کردن داده‌های مشتری با پروژه Firebase و برنامه Firebase مورد نیاز هستند. در اینجا حداقل "گزینه های Firebase" مورد نیاز آمده است:

  • کلید API : یک رشته رمزگذاری شده ساده که هنگام فراخوانی API های خاصی که نیازی به دسترسی به داده های کاربر خصوصی ندارند استفاده می شود (مقدار مثال: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • شناسه پروژه : یک شناسه منحصر به فرد تعریف شده توسط کاربر برای پروژه در تمام Firebase و Google Cloud . این شناسه ممکن است در URL ها یا نام برخی از منابع Firebase ظاهر شود، اما معمولاً باید به عنوان نام مستعار مناسب برای ارجاع به پروژه در نظر گرفته شود. (مقدار مثال: myapp-project-123 )

  • شناسه برنامه ("AppID") : شناسه منحصر به فرد برای برنامه Firebase در تمام Firebase با یک قالب خاص پلت فرم:

    • برنامه‌های اپل Firebase: GOOGLE_APP_ID (مقدار مثال: 1:1234567890:ios:321abc456def7890 )
      این یک ID باندل اپل نیست .
    • برنامه‌های اندروید Firebase: mobilesdk_app_id (مقدار مثال: 1:1234567890:android:321abc456def7890 )
      این نام بسته Android یا شناسه برنامه Android نیست .
    • برنامه‌های وب Firebase: appId (مقدار مثال: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

محتوای فایل پیکربندی Firebase یا شیء عمومی در نظر گرفته می شود، از جمله شناسه مخصوص پلتفرم برنامه (Apple bundle ID یا نام بسته Android) و مقادیر خاص پروژه Firebase، مانند کلید API، شناسه پروژه، URL Realtime Database ، و نام سطل Cloud Storage . با توجه به این موضوع، از Firebase Security Rules برای محافظت از داده ها و فایل های خود در Realtime Database ، Cloud Firestore و Cloud Storage استفاده کنید.

برای پروژه‌های منبع باز، ما معمولاً گنجاندن فایل پیکربندی Firebase یا شیء برنامه را در کنترل منبع توصیه نمی‌کنیم، زیرا در بیشتر موارد، کاربران شما باید پروژه‌های Firebase خود را ایجاد کنند و برنامه‌های خود را به منابع Firebase خود (از طریق پیکربندی Firebase خود) هدایت کنند. فایل یا شی).

محدودیت های عمومی برای پروژه ها، برنامه ها و سایت های Firebase

در اینجا برخی از محدودیت های کلی برای پروژه ها، برنامه ها و سایت های Firebase آورده شده است:

  • تعداد پروژه ها در هر حساب

    • طرح قیمت گذاری جرقه - سهمیه ایجاد پروژه به تعداد کمتری از پروژه ها (معمولاً حدود 5-10) محدود می شود.
    • طرح قیمت گذاری Blaze - تا زمانی که حساب Cloud Billing مرتبط در وضعیت خوبی باشد، سهمیه ایجاد پروژه در هر حساب به طور قابل توجهی افزایش می یابد.

    محدودیت در سهمیه ایجاد پروژه به ندرت برای اکثر توسعه دهندگان نگران کننده است، اما در صورت نیاز، می توانید درخواست افزایش سهمیه پروژه را داشته باشید .

    توجه داشته باشید که حذف کامل یک پروژه به 30 روز زمان نیاز دارد و تا زمانی که پروژه به طور کامل حذف شود جزء سهمیه پروژه محسوب می شود.

  • تعداد برنامه ها در هر پروژه

    Firebase تعداد کل برنامه های Firebase را در پروژه Firebase به 30 محدود می کند.

    باید اطمینان حاصل کنید که همه برنامه‌های Firebase در یک پروژه Firebase، انواع پلتفرم یک برنامه از دیدگاه کاربر نهایی هستند. در اسناد بهترین شیوه های ما درباره چند اجاره ای بیشتر بخوانید.

    در بخش سؤالات متداول درباره محدودیت برنامه‌ها در هر پروژه بیشتر بدانید.

  • تعداد سایت های Hosting در هر پروژه

    ویژگی Firebase Hosting چند سایتی حداکثر از 36 سایت در هر پروژه پشتیبانی می کند.

در حال راه اندازی برنامه شما