این صفحه مروری مختصر بر چندین مفهوم مهم در مورد پروژههای Firebase ارائه میدهد. در صورت وجود، برای یافتن اطلاعات دقیقتر در مورد ویژگیها، خدمات، ابزارها و بهترین شیوهها، پیوندها را دنبال کنید.
رابطه بین پروژهها، برنامهها و محصولات فایربیس
یک پروژه Firebase، نهاد سطح بالای Firebase است. در یک پروژه، میتوانید برنامههای Apple، Android یا وب خود را ثبت کنید. پس از ثبت برنامههای خود در Firebase، میتوانید SDK های Firebase را برای هر تعداد از محصولات Firebase ، مانند Analytics ، Cloud Firestore ، Performance Monitoring یا Remote Config اضافه کنید.
برای کسب اطلاعات بیشتر در مورد این فرآیند، به راهنمای شروع به کار برای پلتفرم خود مراجعه کنید:
آیاواس+ | اندروید | وب | یونیتی | سیپلاسپلاس | فلاتر
درک سلسله مراتب پروژههای Firebase
این نمودار سلسله مراتب اساسی یک پروژه Firebase را نشان میدهد. در اینجا روابط کلیدی آمده است:
یک پروژه Firebase مانند یک ظرف برای تمام برنامههای شما و هرگونه منابع و خدماتی است که برای پروژه فراهم شده است.
یک پروژه Firebase میتواند یک یا چند برنامه Firebase ثبت شده در آن داشته باشد (برای مثال، هر دو نسخه iOS و اندروید یک برنامه، یا هر دو نسخه رایگان و پولی یک برنامه).
همه برنامههای Firebase که در یک پروژه Firebase ثبت شدهاند، به تمام منابع و سرویسهای ارائه شده برای پروژه دسترسی دارند و آنها را به اشتراک میگذارند . در اینجا چند مثال آورده شده است:
تمام برنامههای Firebase که در یک پروژه Firebase ثبت شدهاند، backend های یکسانی مانند Firebase Hosting ، Authentication ، Realtime Database ، Cloud Firestore ، Cloud Storage و Cloud Functions را به اشتراک میگذارند.
تمام برنامههای Firebase که در یک پروژه Firebase ثبت شدهاند، با یک ویژگی Google Analytics مرتبط هستند، که در آن هر برنامه Firebase یک جریان داده جداگانه در آن ویژگی است.
رابطه بین پروژههای فایربیس و Google Cloud
وقتی یک پروژه جدید Firebase ایجاد میکنید، در واقع در پشت صحنه یک پروژه Google Cloud ایجاد میکنید. حتی میتوانید ابتدا یک پروژه Google Cloud ایجاد کنید، سپس بعداً Firebase را به پروژه اضافه کنید. میتوانید یک پروژه Google Cloud را به عنوان یک ظرف مجازی برای دادهها، کدها، پیکربندیها و سرویسها در نظر بگیرید.
توجه داشته باشید که برای همه پروژههای Firebase، Firebase به طور خودکار برچسب firebase:enabled در صفحه برچسبها برای پروژه شما در کنسول Google Cloud اضافه میکند. برای کسب اطلاعات بیشتر در مورد این برچسب به سوالات متداول ما مراجعه کنید.
از آنجا که یک پروژه Firebase یک پروژه Google Cloud است :
شما میتوانید در کنسول Firebase و همچنین در کنسول Google Cloud و کنسول Google APIs به پروژه دسترسی داشته باشید و با آن تعامل داشته باشید.
شما میتوانید با استفاده از Firebase CLI ، gcloud CLI و هر منبع Terraform از گوگل با پروژه تعامل داشته باشید.
شما میتوانید از محصولات و APIهای هر دو سرویس Firebase و Google Cloud در این پروژه استفاده کنید.
مجوزها و نقشهای IAM برای پروژه بین Firebase و Google Cloud به اشتراک گذاشته شده است. هرگونه دسترسی که یک عضو پروژه (یعنی یک مدیر) به پروژه Google Cloud شما داشته باشد، برای پروژه Firebase شما نیز اعمال خواهد شد (و برعکس).
هزینهی پروژه بین Firebase و Google Cloud مشترک است. اگر هزینهی پروژه در پروژهی Google Cloud شما فعال باشد، پروژهی Firebase شما در طرح قیمتگذاری Blaze فایربیس که به صورت پرداخت در حین استفاده است، قرار خواهد گرفت.
شناسههای منحصر به فرد برای پروژه (مانند شماره پروژه و شناسه پروژه ) در 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 یک پروژه Google Cloud نیز هست، ممکن است متوجه شوید که وظایف یا محصولات مختلف شما را ملزم به استفاده از کنسول Google Cloud به جای کنسول Firebase میکنند.
Firebase CLI (یک ابزار خط فرمان)
فایربیس همچنین رابط خط فرمان Firebase را برای پیکربندی و مدیریت محصولات خاص فایربیس، مانند Firebase Hosting ، Cloud Functions for Firebase و Firebase Extensions ، ارائه میدهد.
پس از نصب CLI، به دستور سراسری firebase دسترسی خواهید داشت. از CLI برای پیوند دادن دایرکتوری برنامه محلی خود به یک پروژه Firebase استفاده کنید، سپس نسخههای جدیدی از محتوای میزبانی شده توسط Firebase یا بهروزرسانیهای توابع را مستقر کنید .
مدیریت فایربیس REST API
با استفاده از Firebase Management REST API ، میتوانید یک پروژه Firebase را به صورت برنامهنویسی مدیریت کنید. برای مثال، میتوانید یک برنامه را به صورت برنامهنویسی در یک پروژه ثبت کنید یا برنامههایی را که قبلاً ثبت شدهاند ( iOS+ | Android | web ) فهرست کنید.
شناسههای پروژه فایربیس
یک پروژه Firebase را میتوان در backend Firebase و در رابطهای توسعهدهنده مختلف با استفاده از شناسههای مختلف، از جمله نام پروژه ، شماره پروژه و شناسه پروژه ، شناسایی کرد.
نام پروژه
وقتی یک پروژه ایجاد میکنید، یک نام برای پروژه ارائه میدهید. این شناسه ، نام داخلی یک پروژه در کنسول Firebase ، کنسول Google Cloud و رابط خط فرمان Firebase است. نام پروژه در هیچ یک از محصولات، خدمات یا منابع Firebase یا Google Cloud که به صورت عمومی قابل مشاهده هستند، نمایش داده نمیشود. این نام صرفاً به شما کمک میکند تا راحتتر بین چندین پروژه تمایز قائل شوید.
شما میتوانید نام پروژه را در هر زمانی در Project settings کنسول Firebase ویرایش کنید. نام پروژه در پنل بالا نمایش داده میشود.
شماره پروژه
یک پروژه Firebase (و پروژه Google Cloud مرتبط با آن) دارای یک شماره پروژه است. این شناسه استاندارد منحصر به فرد جهانی است که توسط گوگل برای پروژه تعیین شده است. هنگام پیکربندی ادغامها و/یا برقراری تماسهای API به Firebase، Google یا سرویسهای شخص ثالث، از این شناسه استفاده کنید.
شما نمیتوانید شماره پروژه را ویرایش کنید. اگر یک پروژه را حذف کنید، شماره پروژه نیز حذف میشود و دیگر هرگز توسط هیچ پروژه دیگری قابل استفاده نخواهد بود.
با استفاده از یکی از این گزینهها ، شماره پروژه Firebase خود را پیدا کنید:
استفاده از کنسول Firebase : پروژه کلیک کنید. شماره پروژه در پنل بالا نمایش داده میشود.
استفاده از رابط خط فرمان Firebase : دستور
firebase projects:listرا اجرا کنید. شماره پروژه به همراه تمام پروژههای فایربیس مرتبط با حساب شما نمایش داده میشود.استفاده از API مدیریت REST فایربیس : فراخوانی
projects.list. بدنه پاسخ شامل شماره پروژه در شیءFirebaseProjectاست.
برای بسیاری از فراخوانیهای API، باید یک شناسه منحصر به فرد برای یک پروژه وارد کنید. اگرچه بسیاری از APIها شناسه پروژه را میپذیرند، توصیه میشود برای برقراری فراخوانیهای API به Firebase، Google یا سرویسهای شخص ثالث از شماره پروژه استفاده کنید.
درباره استفاده از شناسههای پروژه، به ویژه شماره پروژه، در استاندارد AIP 2510 گوگل بیشتر بیاموزید.
شناسه پروژه
یک پروژه Firebase (و پروژه Google Cloud مرتبط با آن) دارای یک شناسه پروژه است. این یک شناسه منحصر به فرد تعریف شده توسط کاربر برای پروژه در سراسر Firebase و Google Cloud است. هنگامی که یک پروژه Firebase ایجاد میکنید، Firebase به طور خودکار یک شناسه منحصر به فرد به پروژه اختصاص میدهد، اما میتوانید آن را در طول راهاندازی پروژه ویرایش کنید. این شناسه معمولاً باید به عنوان یک نام مستعار برای ارجاع به پروژه در نظر گرفته شود.
با استفاده از یکی از این گزینهها ، شناسه پروژه Firebase خود را پیدا کنید:
استفاده از کنسول Firebase : پروژه کلیک کنید. شناسه پروژه در پنل بالا نمایش داده میشود.
استفاده از رابط خط فرمان Firebase : دستور
firebase projects:listرا اجرا کنید. شناسه پروژه به همراه تمام پروژههای فایربیس مرتبط با حساب شما نمایش داده میشود.استفاده از API مدیریت REST فایربیس : فراخوانی
projects.list. بدنه پاسخ شامل شناسه پروژه در شیءFirebaseProjectاست.
شناسه پروژه در منابع Firebase که برای عموم قابل مشاهده هستند نمایش داده میشود، برای مثال:
- زیر دامنه پیشفرض Hosting —
PROJECT_ID .web.appوPROJECT_ID .firebaseapp.com - آدرس اینترنتی پیشفرض Realtime Database —
PROJECT_ID -default-rtdb.firebaseio.comیاPROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app - نام پیشفرض Cloud Storage —
PROJECT_ID .appspot.com
برای تمام منابع ذکر شده، میتوانید نمونههای غیر پیشفرض ایجاد کنید. نامهای عمومی قابل مشاهده برای موارد غیر پیشفرض کاملاً قابل تنظیم هستند. میتوانید دامنههای سفارشی را به یک سایت میزبانی شده توسط Firebase متصل کنید ، Realtime Database تقسیمبندی کنید و چندین مخزن Cloud Storage ایجاد کنید (به صفحه شروع به کار مخصوص پلتفرم مراجعه کنید).
در برخی موارد، ممکن است چندین پروژه Firebase داشته باشید که به یک دایرکتوری برنامه محلی مرتبط هستند. در این شرایط، هنگام استفاده از Firebase CLI ، باید پرچم --project را به همراه دستورات firebase ارسال کنید تا مشخص شود که میخواهید با کدام پروژه Firebase تعامل داشته باشید.
همچنین میتوانید برای هر پروژه Firebase یک نام مستعار پروژه تنظیم کنید تا نیازی به حفظ کردن شناسههای پروژه نداشته باشید.
برای بسیاری از فراخوانیهای API، باید یک شناسه منحصر به فرد برای یک پروژه وارد کنید. اگرچه بسیاری از APIها شناسه پروژه را میپذیرند، توصیه میشود برای برقراری فراخوانیهای API به Firebase، Google یا سرویسهای شخص ثالث از شماره پروژه استفاده کنید.
درباره استفاده از شناسههای پروژه، به ویژه شماره پروژه، در استاندارد AIP 2510 گوگل بیشتر بیاموزید.
فایلها و اشیاء پیکربندی فایربیس
وقتی یک برنامه را با یک پروژه Firebase ثبت میکنید، کنسول Firebase یک فایل پیکربندی Firebase (برنامههای Apple/Android) یا یک شیء پیکربندی (برنامههای وب) ارائه میدهد که میتوانید مستقیماً به فهرست برنامههای محلی خود اضافه کنید.
- برای برنامههای اپل، یک فایل پیکربندی
GoogleService-Info.plistاضافه میکنید. - برای برنامههای اندروید، یک فایل پیکربندی
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 با فرمت خاص پلتفرم:
- برنامههای فایربیس اپل:
GOOGLE_APP_ID(مقدار مثال:1:1234567890:ios:321abc456def7890)
این شناسه بسته اپل نیست . - برنامههای اندروید فایربیس:
mobilesdk_app_id(مقدار مثال:1:1234567890:android:321abc456def7890)
این نام بسته اندروید یا شناسه برنامه اندروید نیست . - برنامههای وب فایربیس:
appId(مقدار مثال:1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)
- برنامههای فایربیس اپل:
محتوای فایل یا شیء پیکربندی Firebase، شامل شناسه مخصوص پلتفرم برنامه (شناسه بسته اپل یا نام بسته اندروید) و مقادیر مخصوص پروژه Firebase، مانند کلید API، شناسه پروژه، آدرس Realtime Database و نام باکت Cloud Storage عمومی در نظر گرفته میشود. با توجه به این موضوع، از قوانین امنیتی Firebase برای محافظت از دادهها و فایلهای خود در Realtime Database ، Cloud Firestore و Cloud Storage Firebase Security Rules کنید .
برای پروژههای متنباز، معمولاً توصیه نمیکنیم فایل یا شیء پیکربندی Firebase برنامه را در کنترل منبع قرار دهید، زیرا در بیشتر موارد، کاربران شما باید پروژههای Firebase خود را ایجاد کرده و برنامههای خود را به منابع Firebase خود (از طریق فایل یا شیء پیکربندی Firebase خود) ارجاع دهند.
محدودیتهای عمومی برای پروژهها، برنامهها و سایتهای Firebase
در اینجا برخی از محدودیتهای کلی برای پروژهها، برنامهها و سایتهای Firebase آورده شده است:
تعداد پروژهها به ازای هر حساب گوگل (آدرس ایمیل)
- طرح قیمتگذاری اسپارک : سهمیه ایجاد پروژه به تعداد کمی پروژه (معمولاً حدود ۵ تا ۱۰ پروژه) محدود میشود.
- طرح قیمتگذاری Blaze : سهمیه ایجاد پروژه هنوز محدود است، اما ممکن است با اتصال یک حساب Cloud Billing با وضعیت خوب، افزایش یابد.
در مورد محدودیت سهمیه ایجاد پروژه به موارد زیر توجه کنید:
- این محدودیت مختص فایربیس نیست . محدودیتهای فایربیس در سهمیه پروژه مشابه محدودیتهای Google Cloud است .
- در موارد نادری که لازم باشد، میتوانید درخواست افزایش سهمیه پروژه را بدهید .
- حذف کامل یک پروژه به 30 روز زمان نیاز دارد و تا زمان حذف کامل پروژه، جزو سهمیه پروژه محسوب میشود.
با بهترین شیوههای عمومی توصیهشده توسط فایربیس برای راهاندازی پروژههای فایربیس آشنا شوید.
تعداد برنامهها در هر پروژه
فایربیس تعداد کل برنامههای فایربیس را در یک پروژه فایربیس به 30 محدود میکند.
شما باید مطمئن شوید که همه برنامههای Firebase درون یک پروژه Firebase واحد، از دیدگاه کاربر نهایی، انواع پلتفرمی از یک برنامه مشابه هستند. برای اطلاعات بیشتر در مورد چند مستاجری، به اسناد بهترین شیوههای ما مراجعه کنید.
برای کسب اطلاعات بیشتر در مورد محدودیت تعداد برنامهها در هر پروژه ، به بخش سوالات متداول مراجعه کنید.
تعداد سایتهای Hosting به ازای هر پروژه
ویژگی چندسایتی Firebase Hosting حداکثر از ۳۶ سایت در هر پروژه پشتیبانی میکند.
راه اندازی برنامه شما
- هشدارهای بودجه را برای پروژه خود در کنسول Google Cloud تنظیم کنید.
- داشبورد «مصرف و پرداخت» را در کنسول Firebase رصد کنید تا تصویری کلی از میزان مصرف پروژه خود در چندین سرویس فایربیس داشته باشید.
- چک لیست راه اندازی Firebase را مرور کنید.