Firebase یک پلتفرم Google برای توسعه برنامههای موبایل و وب است که شامل خدمات بکاند، تحلیل، ابزارهای احراز هویت و اعلانهای فشار میشود. طبق گزارش Google Firebase (2025)، بیش از ۳ میلیون برنامه در سراسر جهان از این پلتفرم استفاده میکنند. Firebase به توسعهدهندگان امکان میدهد بدون مدیریت سرورها و زیرساخت، به سرعت بکاند ایجاد کنند.
نکات اصلی
Firebase یک پلتفرم Google است که مجموعهای از خدمات ابری برای توسعه برنامههای موبایل و وب ارائه میدهد. Firebase در سال ۲۰۱۱ به عنوان یک استارتآپ تأسیس شد که Realtime Database را با همگامسازی دادهها در زمان واقعی ارائه میکرد. در سال ۲۰۱۴، Google Firebase را به مبلغ حدود ۳۰۰ میلیون دلار خریداری کرد و از آن زمان این پلتفرم به یک اکوسیستم جامع از بیش از ۲۰ سرویس برای تمام مراحل توسعه برنامه تبدیل شد.
Firebase سه وظیفه اصلی توسعه موبایل را حل میکند: ایجاد بکاند بدون مدیریت سرورها (Firestore, Cloud Functions, Hosting)، نظارت و تحلیل (Analytics, Crashlytics, Performance Monitoring) و خدمات کاربری (Authentication, Cloud Messaging, Remote Config). طبق گزارش Google (2025)، Firebase SDK بر روی بیش از ۳ میلیارد دستگاه در سراسر جهان نصب شده است. این پلتفرم از Android، iOS، Web، Unity و Flutter پشتیبانی میکند که آن را به یک راهحل چندپلتفرمی برای پروژههای هر اندازهای از استارتآپها تا شرکتهای بزرگ تبدیل میکند. طرح رایگان Spark امکان شروع استفاده از Firebase را بدون سرمایهگذاری مالی فراهم میکند که به ویژه برای توسعهدهندگان مستقل و استودیوهای کوچک در مرحله نمونهسازی اولیه و راهاندازی محصول اهمیت دارد.
Firebase شامل بیش از ۲۰ سرویس است که به سه دسته تقسیم میشوند. هر دسته وظایف خاص توسعه را از ایجاد بکاند تا تعامل با کاربران حل میکند.
دسته «Build» شامل خدمات ایجاد بکاند است: Firestore (پایگاه داده NoSQL)، Authentication (احراز هویت از طریق ایمیل، Google، Apple، Facebook)، Cloud Storage (ذخیرهسازی فایلها)، Cloud Functions (توابع سروری)، Realtime Database (پایگاه داده بلادرنگ) و Hosting (میزبانی محتوای وب).
دسته «Release & Monitor» شامل خدمات تست و نظارت است: Crashlytics (گزارش خطاها در زمان واقعی)، Performance Monitoring (اندازهگیری عملکرد)، Test Lab (تست روی دستگاههای واقعی در ابر Google) و App Distribution (توزیع نسخههای آزمایشی). دسته «Engage» شامل خدمات تعامل با کاربران است: Cloud Messaging (اعلانهای فشار)، In-App Messaging (پیامهای درون برنامهای)، Remote Config (پیکربندی از راه دور) و A/B Testing (آزمایشها). Analytics سرویس مرکزی است که همه سرویسهای دیگر را به هم متصل میکند — دادههای Crashlytics، Cloud Messaging و A/B Testing به طور خودکار به Analytics منتقل میشوند تا تصویر کاملی از رفتار کاربران ایجاد شود.
اتصال Firebase به برنامه با ثبت پروژه در Firebase Console (console.firebase.google.com) آغاز میشود. پس از ثبت، Firebase فایل پیکربندی google-services.json برای Android یا GoogleService-Info.plist برای iOS تولید میکند. برای Android باید افزونه Google Services را در فایل build.gradle در سطح پروژه اضافه کرده و آن را در ماژول برنامه اعمال کنید.
نمونه تنظیمات اولیه Firebase برای برنامه Android به زبان Kotlin حداقل پیکربندی را در فایلهای build.gradle (سطح پروژه و برنامه) و همچنین مقداردهی اولیه Firebase در کد برنامه نشان میدهد:
// build.gradle (سطح پروژه)
buildscript {
dependencies {
classpath "com.google.gms:google-services:4.4.2"
}
}
// build.gradle (سطح برنامه)
plugins {
id "com.google.gms.google-services"
}
dependencies {
implementation "com.google.firebase:firebase-analytics:22.1.0"
implementation "com.google.firebase:firebase-firestore:25.1.0"
implementation "com.google.firebase:firebase-auth:23.1.0"
}
// Application.kt
import com.google.firebase.FirebaseApp
import com.google.firebase.analytics.FirebaseAnalytics
class App : Application() {
override fun onCreate() {
super.onCreate()
FirebaseApp.initializeApp(this)
val analytics = FirebaseAnalytics.getInstance(this)
}
}
کد سه بخش تنظیمات را نشان میدهد: افزودن افزونه Google Services در build.gradle ریشه، افزودن وابستگیهای Firebase در ماژول برنامه (analytics, firestore, auth) و مقداردهی اولیه Firebase در کلاس Application. پس از تنظیم، Firebase به طور خودکار شروع به جمعآوری تحلیل میکند: جلسات کاربران، صفحهها، رویدادها و دادههای جمعیتشناختی بدون کد اضافی. پیکربندی از طریق Remote Config امکان تغییر رفتار برنامه را از راه دور بدون انتشار به روزرسانی از طریق فروشگاه فراهم میکند. برای iOS فرآیند تنظیم مشابه است: باید GoogleService-Info.plist را به پروژه اضافه کرده و FirebaseApp.configure() را در AppDelegate فراخوانی کنید.
Firebase Analytics یک سرویس تحلیل رایگان با تعداد نامحدود رویدادهای قابل ردیابی است. Analytics دادههایی درباره کاربران، جلسات، خریدها و تبدیلها جمعآوری میکند و همچنین رویدادهای اولین راهاندازی، بهروزرسانی برنامه و تعامل با اعلانهای فشار را به طور خودکار ثبت میکند. ادغام با Google Ads امکان ردیابی اثربخشی کمپینهای تبلیغاتی و بهینهسازی هزینههای جذب کاربر را فراهم میکند.
Firebase Analytics گزارشهایی درباره نگهداشت کاربران (retention)، تحلیل همگروهی، قیف تبدیل و بخشبندی مخاطبان بر اساس دادههای جمعیتشناختی، علایق و رفتار ارائه میدهد. همه رویدادها رایگان هستند و محدودیت تعداد ندارند. دادهها در زمان واقعی در Firebase Console با تأخیر حداکثر ۲ تا ۴ ساعت برای گزارشهای استاندارد در دسترس هستند.
Crashlytics یک سرویس نظارت بر خطاها در زمان واقعی است. Crashlytics به طور خودکار گزارشهایی درباره خرابیهای برنامه با stacktrace کامل، وضعیت دستگاه، نسخه سیستم عامل و توالی اقدامات کاربر قبل از خرابی جمعآوری میکند. طبق دادههای Firebase (2025)، Crashlytics علت اصلی خرابی را در ۸۵٪ موارد به طور خودکار تعیین میکند که زمان تشخیص را از ساعتها به دقیقه کاهش میدهد. این سرویس خرابیها را بر اساس نوع گروهبندی میکند و روندها را نشان میدهد — آیا تعداد خرابیها پس از آخرین بهروزرسانی افزایش یافته یا ثابت مانده است.
نمونه ثبت رویداد کاربر در Firebase Analytics به زبان Kotlin نشان میدهد چگونه اقدامات کلیدی کاربر را در برنامه ردیابی کنید:
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.logEvent
class AnalyticsTracker {
private lateinit var analytics: FirebaseAnalytics
fun trackPurchase(itemId: String, price: Double) {
analytics.logEvent(FirebaseAnalytics.Event.PURCHASE) {
param(FirebaseAnalytics.Param.ITEM_ID, itemId)
param(FirebaseAnalytics.Param.PRICE, price)
}
}
}
کد رویداد خرید را با شناسه محصول و قیمت ثبت میکند. Firebase Analytics به طور خودکار رویداد را به کاربر و جلسه فعلی متصل میکند که امکان ساخت قیف تبدیل، تحلیل همگروهی و گزارشهای نگهداشت را بدون تنظیمات اضافی فراهم میکند. دادههای تحلیل در زمان واقعی در Firebase Console بهروزرسانی میشوند و برای صادرات به BigQuery برای تحلیل عمیق از طریق پرسشهای SQL در دسترس هستند. به لطف ادغام با Google Ads میتوان چرخه کامل از نمایش تبلیغ تا اقدام هدف در برنامه را ردیابی کرد و کمپینهای تبلیغاتی را بر اساس دادههای رفتار کاربران بهینهسازی نمود.
Firebase دو پایگاه داده ارائه میدهد: Cloud Firestore (توصیهشده) و Realtime Database (قدیمی). انتخاب بین آنها به نیازهای پروژه از نظر مقیاسپذیری، پیچیدگی پرسوجوها و مدل داده بستگی دارد.
Cloud Firestore یک پایگاه داده سندی NoSQL با همگامسازی خودکار بین دستگاهها، پشتیبانی آفلاین و مقیاسپذیری بدون دخالت توسعهدهنده است. دادهها در اسنادی ذخیره میشوند که در مجموعهها سازماندهی شدهاند و این ساختاردهی و پرسوجوها را در مقایسه با درخت گرههای Realtime Database سادهتر میکند.
تفاوتهای اصلی Firestore با Realtime Database: Firestore از پرسوجوهای پیچیده با فیلتر بر اساس چندین فیلد، مرتبسازی و محدودیت (limit) پشتیبانی میکند، در حالی که Realtime Database برای پرسوجوهای پیچیده نیاز به مرتبسازی در سمت کلاینت دارد. Firestore به طور خودکار تا میلیونها اتصال همزمان مقیاسپذیر است، Realtime Database به ۲۰۰٬۰۰۰ اتصال همزمان محدود میشود. Firestore از مدل امنیتی شفافتری بر اساس تطبیق مسیر و قوانین دسترسی (security rules) استفاده میکند که خطر خطاهای پیکربندی را کاهش میدهد.
نمونه کار با Cloud Firestore به زبان Kotlin نوشتن و خواندن دادهها را در مجموعه کاربران نشان میدهد:
import com.google.firebase.firestore.FirebaseFirestore
import com.google.firebase.firestore.SetOptions
data class User(
val name: String = "",
val email: String = ""
)
class UserRepository {
private val db = FirebaseFirestore.getInstance()
fun saveUser(userId: String, user: User) {
db.collection("users")
.document(userId)
.set(user, SetOptions.merge())
}
fun loadUser(userId: String) {
db.collection("users")
.document(userId)
.get()
.addOnSuccessListener { doc ->
val user = doc.toObject(User::class.java)
}
}
}
کد یک data class User و کلاس UserRepository با متدهای saveUser و loadUser برای کار با مجموعه «users» در Firestore تعریف میکند. متد save از SetOptions.merge برای بهروزرسانی جزئی سند بدون بازنویسی فیلدهای موجود استفاده میکند. متد load خواندن ناهمگام سند را از طریق get با callback onSuccessListener انجام میدهد. Firestore به طور خودکار تغییرات بین دستگاهها را از طریق شنوندگان (SnapshotListener) همگامسازی میکند که امکان ساخت برنامههای بلادرنگ را بدون زیرساخت WebSocket اضافی فراهم میکند. چنین معماری توسعه چتها، فیدهای فعالیت و سایر عملکردهایی را که نیاز به بهروزرسانی فوری دادهها در همه دستگاههای کاربران دارند ساده میکند.
سوالات متداول
Firebase یک پلتفرم Google با مجموعهای از خدمات ابری برای برنامههای موبایل و وب است. برای ایجاد سریع بکاند بدون مدیریت سرورها، تحلیل، احراز هویت کاربران، اعلانهای فشار و نظارت بر عملکرد و خطاهای برنامه استفاده میشود.
Firebase طرح رایگان Spark را با محدودیتهایی ارائه میدهد: تا ۵۰٬۰۰۰ اتصال همزمان به Firestore، ۱۰ گیگابایت ذخیرهسازی و ۱۰ گیگابایت دانلود در ماه. برای بیشتر استارتآپها و پروژههای کوچک، Spark نیازها را در مرحله راهاندازی و آزمایش به طور کامل پوشش میدهد.
Firebase دو پایگاه داده ارائه میدهد: Cloud Firestore (توصیهشده) — پایگاه داده سندی NoSQL با پشتیبانی آفلاین و پرسوجوهای پیچیده، و Realtime Database — ساختار JSON برای دادههای بلادرنگ با پشتیبانی محدود از پرسوجو و مقیاسپذیری.
Firebase Analytics به طور رایگان تعداد نامحدودی رویداد درباره رفتار کاربران جمعآوری میکند. دادهها به طور خودکار با Crashlytics، Cloud Messaging و Google Ads ادغام میشوند. امکان صادرات به BigQuery برای ایجاد گزارشهای سفارشی با استفاده از SQL وجود دارد.
Firebase از Android، iOS، Web، Flutter، Unity و C++ پشتیبانی میکند. SDKها به زبانهای Kotlin، Swift، JavaScript، Dart و C++ در دسترس هستند. این پلتفرم امکان استفاده از خدمات یکسان را در همه پلتفرمها فراهم میکند که توسعه چندپلتفرمی و نگهداری پروژهها را ساده میکند.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید