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

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

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

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

برای کسب اطلاعات بیشتر در مورد این فرآیند، به راهنمای شروع به کار برای پلتفرم خود مراجعه کنید:
آی‌او‌اس+ | اندروید | وب | یونیتی | سی‌پلاس‌پلاس | فلاتر

درک سلسله مراتب پروژه‌های Firebase

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

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

وقتی یک برنامه را با یک پروژه 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 حداکثر از ۳۶ سایت در هر پروژه پشتیبانی می‌کند.

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