Firebase Analytics یک ابزار رایگان Google برای ردیابی رفتار کاربران در برنامههای موبایل و وب است. این سرویس به طور خودکار رویدادهای پایه (اولین راهاندازی، خریدها، تعامل با صفحهها) را بدون نوشتن کد جمعآوری میکند و امکان افزودن رویدادهای سفارشی برای تحلیل عمیقتر را فراهم میکند. بر اساس دادههای Google، 2026، Firebase Analytics روزانه بیش از 50 میلیارد رویداد را در سراسر جهان پردازش میکند. SDK با یک خط وابستگی ادغام میشود و بلافاصله انتقال دادهها به کنسول Firebase را آغاز میکند.
نکات کلیدی
Firebase Analytics یک سرویس ابری Google برای جمعآوری، تجمیع و تحلیل رویدادهای کاربران در برنامههای موبایل و وب است. این سرویس بخشی از Firebase SDK است و بدون محدودیت در حجم دادههای جمعآوری شده به صورت رایگان ارائه میشود.
Firebase Analytics دادهها را در سطح جلسات و کاربران جداگانه پردازش میکند. هر رویداد شامل یک برچسب زمانی، شناسه کاربر و حداکثر 25 جفت «کلید-مقدار» پارامتر اضافی است. SDK به طور خودکار شناسه نصب را مدیریت کرده و از سیاستهای حریم خصوصی Google Play و App Store پیروی میکند.
Firebase Analytics بر روی زیرساخت Google Cloud ساخته شده و از همان سیستم پردازش جریان دادهای Google Analytics 4 استفاده میکند. رویدادها از سمت کاربر از طریق HTTPS به نقطه جمعآوری ارسال میشوند، سپس اعتبارسنجی و غنیسازی شده و برای ذخیرهسازی بلندمدت وارد مخزن BigQuery میشوند. طبق دادههای Google (2026)، میانگین تأخیر بین ارسال رویداد و ظهور آن در گزارش کمتر از 3 ثانیه است.
برای حفظ حریم خصوصی، Analytics به طور خودکار آدرسهای IP کاربران را ناشناس میکند و شناسههای دائمی دستگاه (AAID، IDFA) را بدون رضایت صریح منتقل نمیکند. توسعهدهنده جمعآوری دادهها را از طریق پرچمهایی در AndroidManifest و Info.plist مدیریت میکند.
بر خلاف بسیاری از محصولات Firebase، Firebase Analytics تعرفههای پولی ندارد. این سرویس بدون توجه به تعداد رویدادها، کاربران یا مدت ذخیرهسازی کاملاً رایگان است. دادهها در کنسول Firebase تا 14 ماه ذخیره میشوند و هنگام اتصال خروجی به BigQuery مدت ذخیرهسازی نامحدود است. طبق دادههای Google (2026)، 96٪ پروژههای Firebase از Analytics استفاده میکنند و هیچکدام برای خود سرویس هزینه نمیپردازند — هزینهها فقط هنگام فراتر رفتن از محدودیتهای BigQuery (10 گیگابایت فضای رایگان در ماه) ایجاد میشود.
مکانیسم جمعآوری مبتنی بر مدل رویدادی است: هر اقدام کاربر به یک رویداد با مجموعهای از پارامترها تبدیل میشود. SDK به طور خودکار رویدادهای توصیهشده — first_open، session_start، screen_view، purchase و in_app_purchase را ثبت میکند. برای فعالسازی آنها نیازی به نوشتن کد نیست — فقط اتصال ماژول analytics کافی است.
Firebase Analytics رویدادهای خودکار را بدون هیچ تنظیمی از سوی توسعهدهنده تولید میکند. فهرست کامل شامل 15 رویداد است: first_open (اولین راهاندازی)، session_start (شروع جلسه)، user_engagement (تعامل)، screen_view (مشاهده صفحه)، app_remove (حذف برنامه)، os_update (بهروزرسانی سیستم عامل) و موارد دیگر. هر رویداد خودکار شامل مجموعهای از پارامترهای از پیش تعریفشده — نسخه برنامه، مدل دستگاه، نسخه سیستم عامل، منطقه و زبان است.
class AnalyticsEventsActivity : AppCompatActivity() {
private lateinit var firebaseAnalytics: FirebaseAnalytics
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
firebaseAnalytics = FirebaseAnalytics.getInstance(this)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT) {
param(FirebaseAnalytics.Param.ITEM_ID, "article_575")
param(FirebaseAnalytics.Param.ITEM_NAME, "Firebase Analytics Guide")
param(FirebaseAnalytics.Param.CONTENT_TYPE, "guide")
}
}
}
برای ردیابی منطق خاص برنامه از رویدادهای سفارشی استفاده میشود. توسعهدهنده خود نام رویداد (حداکثر 40 کاراکتر، حروف لاتین و زیرخط) و مجموعه پارامترها (حداکثر 25 پارامتر در هر رویداد) را تعیین میکند. نام رویدادها پس از اولین ارسال به طور خودکار در کنسول Firebase ثبت میشوند — هیچ پیکربندی اولیهای لازم نیست.
رویدادهای سفارشی را میتوان با پارامترهایی که به صورت Bundle منتقل میشوند ترکیب کرد. Firebase به طور خودکار پارامترهای عددی را جمعآوری کرده و مجموع، میانگین، حداقل و حداکثر را محاسبه میکند. پارامترهای متنی برای فیلتر و بخشبندی در گزارشها استفاده میشوند. طبق دادههای Google (2026)، برنامههای متوسط بین 200 تا 500 رویداد سفارشی منحصربهفرد تولید میکنند.
مدل رویدادی Firebase Analytics از سه سطح تشکیل شده است: رویدادها (events)، پارامترها (parameters) و ویژگیهای کاربران (user properties). هر سطح وظیفه خود را حل کرده و محدودیتهای خاص خود را دارد. رویدادها عمل را توصیف میکنند، پارامترها زمینه را مشخص میکنند و ویژگیها خصوصیات کاربر را تعیین میکنند.
رویداد یک عمل واحد کاربر با برچسب زمانی است. هر رویداد باید شامل یک نام باشد و میتواند حداکثر 25 پارامتر از نوع String یا Double داشته باشد. Firebase بین رویدادهای توصیهشده (نامهای از پیش تعریفشده از ثابتهای FirebaseAnalytics.Event)، رویدادهای سفارشی (هر نام منحصربهفرد توسط توسعهدهنده) و رویدادهای خودکار (تولید شده توسط SDK) تمایز قائل میشود. طبق دادههای Google (2026)، یک برنامه به طور متوسط بین 50 تا 200 رویداد در هر جلسه کاربر ارسال میکند.
| نوع رویداد | نمونهها | آیا به کد نیاز دارد |
|---|---|---|
| خودکار | first_open، session_start، screen_view | خیر |
| توصیهشده | purchase، share، login، search | تا حدی |
| سفارشی | level_complete، tutorial_step، filter_applied | بله |
پارامترها زمینه رویداد را مشخص میکنند. برای رویدادهای توصیهشده، Firebase نام پارامترهای از پیش تعریفشدهای (FirebaseAnalytics.Param.ITEM_ID، .VALUE، .CURRENCY) ارائه میدهد. برای رویدادهای سفارشی، توسعهدهنده از هر نامی با طول حداکثر 40 کاراکتر استفاده میکند. یک پارامتر میتواند رشته (حداکثر 100 کاراکتر)، عدد اعشاری یا آرایه باشد. مقادیر پارامترها در گزارشها به عنوان فیلتر نمایش داده میشوند — میتوان رویداد purchase را فقط برای یک item_name خاص مشاهده کرد.
User Properties — ویژگیهایی هستند که به تمام رویدادهای کاربر در طول چرخه عمر او متصل میشوند. بر خلاف پارامترهای رویداد، ویژگیهای کاربران به عمل خاصی متصل نیستند و فقط در زمان تغییر یکبار ارسال میشوند. نمونههای معمول: preferred_language، subscription_tier، onboarding_completed. حداکثر 25 ویژگی کاربر در هر پروژه. هر ویژگی میتواند رشتهای به طول حداکثر 36 کاراکتر باشد.
User Properties به طور فعال برای ساخت مخاطبان استفاده میشوند: میتوان یک بخش از کاربرانی که subscription_tier آنها «premium» است ایجاد کرد و رفتار آنها را جدا از کاربران رایگان تحلیل کرد. طبق دادههای Google (2026)، تنظیم صحیح user properties دقت پیشبینی LTV را 20-30٪ افزایش میدهد.
ادغام Firebase Analytics در برنامه Android از سه مرحله تشکیل شده است: افزودن وابستگی در build.gradle، راهاندازی Firebase و تنظیم قوانین جمعآوری دادهها. Analytics به طور خودکار هنگام اتصال Firebase SDK فعال میشود — هیچ کلید API یا توکن اضافی لازم نیست.
// build.gradle (سطح برنامه)
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.1.0"))
implementation("com.google.firebase:firebase-analytics-ktx")
}
// AndroidManifest.xml
@android:name="google_analytics_automatic_screen_reporting_enabled"
android:value="true"
پس از افزودن وابستگی و همگامسازی Gradle، شی FirebaseAnalytics از طریق singleton در دسترس است: FirebaseAnalytics.getInstance(context). به طور پیشفرض، Analytics فقط رویدادهای خودکار را جمعآوری میکند و در نسخههای DEBUG دادهای جمعآوری نمیکند. برای آزمایش از گزینه DebugView در کنسول Firebase استفاده میشود که رویدادها را با تأخیر کمتر از 1 ثانیه در زمان واقعی نشان میدهد.
Firebase مکانیسمهای انعطافپذیری برای غیرفعال کردن یا محدود کردن جمعآوری دادهها ارائه میدهد. پرچم Analytics.setAnalyticsCollectionEnabled(false) ارسال رویدادها از سمت کاربر را کاملاً غیرفعال میکند. به طور جایگزین، میتوان مجوزها را از طریق گفتگوی رضایت کاربر (consent mode) پیکربندی کرد — Firebase فقط پس از تأیید صریح دادهها را جمعآوری خواهد کرد. این برای انطباق با GDPR و ePrivacy در منطقه اقتصادی اروپا حیاتی است.
طبق دادههای Google (2026)، حدود 12٪ از کاربران در اتحادیه اروپا از جمعآوری تحلیل خودداری میکنند. برای چنین مواردی، Firebase امکان ارسال دادههای تجمیعشده بدون شناسهها را فراهم میکند — رویدادهای ناشناس که در معیارهای کلی لحاظ میشوند اما به کاربر خاصی متصل نمیشوند.
کنسول Firebase مجموعهای از گزارشهای آماده را بر اساس رویدادهای جمعآوری شده ارائه میدهد: داشبورد تعامل، گزارش نگهداشت، قیفهای تبدیل و جریانهای کاربران. همه گزارشها در زمان واقعی بهروز میشوند و از فیلتر بر اساس نسخه برنامه، کشور، دستگاه و ویژگیهای کاربر پشتیبانی میکنند.
قیف (funnel) — دنبالهای از رویدادها است که کاربر باید برای رسیدن به عمل هدف طی کند. به عنوان مثال: screen_view(onboarding) → sign_up → add_to_cart → purchase. Firebase Analytics به طور خودکار قیف را بر اساس رویدادهای مشخصشده ساخته و درصد کاربرانی که به هر مرحله رسیدهاند را نشان میدهد. طبق دادههای Google (2026)، برنامههایی که از قیفها استفاده میکنند 40٪ نقاط خروج کاربران بیشتری را نسبت به مشاهده معمولی رویدادها شناسایی میکنند.
مخاطبان در Firebase Analytics امکان بخشبندی کاربران بر اساس رویدادها، پارامترها و user properties را فراهم میکنند. مخاطب یک فهرست پویا از کاربرانی است که شرایط مشخصی را برآورده میکنند. به عنوان مثال، «کاربرانی که برنامه را 5+ بار در هفته باز کرده و خرید انجام دادهاند». مخاطبان ایجاد شده به طور خودکار با Firebase Cloud Messaging برای ارسال اعلانهای فشاری و با Google Ads برای کمپینهای تبلیغاتی همگامسازی میشوند.
Firebase تا 500 مخاطب در هر پروژه را پشتیبانی میکند. هر مخاطب هر 2-4 ساعت بهروز میشود و تعداد نامحدودی کاربر دارد. مخاطبان را میتوان از طریق AND، OR و NOT ترکیب کرد — این امکان ساخت بخشهای پیچیده برای آزمایش A/B و شخصیسازی محتوا از طریق Remote Config را فراهم میکند.
BigQuery — کانال اصلی برای تحلیل عمیق دادههای Firebase Analytics است. هنگام اتصال خروجی (پیکربندی در کنسول Firebase با یک کلیک)، تمام رویدادهای خام به جدول BigQuery در قالب ردیفهایی با فیلدهای تو در تو کپی میشوند. دادهها با تأخیر حداکثر 5 دقیقه در زمان واقعی بهروز میشوند. توسعهدهنده میتواند پرسشهای SQL دلخواه برای تحلیل بنویسد، داشبوردهایی در Looker Studio بسازد یا مدلهای ML را برای پیشبینی خروج کاربران متصل کند.
Firebase Analytics و Google Analytics 4 (GA4) از مدل رویدادی مشترک و زیرساخت BigQuery استفاده میکنند، اما تفاوتهای کلیدی در هدف و قابلیتها دارند. GA4 برای تحلیل وب و گزارشهای بینپلتفرمی برای بازاریابان طراحی شده است، در حالی که Firebase Analytics برای توسعهدهندگان موبایل و ادغام با سایر سرویسهای Firebase بهینه شده است.
| ویژگی | Firebase Analytics | GA4 |
|---|---|---|
| کانال اصلی | برنامههای موبایل | وب + برنامهها |
| ادغام با Firebase | بومی | از طریق Firebase SDK |
| Cloud Messaging | مستقیم مخاطب → اعلانها | فقط از طریق وارد کردن مخاطبان |
| DebugView | داخلی | از طریق Firebase |
| قیفهای سفارشی | بله، در کنسول Firebase | بله، در رابط GA4 |
انتخاب بین Firebase Analytics و GA4 به اکوسیستم پروژه بستگی دارد. اگر برنامه به طور فعال از سایر سرویسهای Firebase (Crashlytics، Cloud Messaging، Remote Config) استفاده میکند — Analytics به دلیل ادغام یکپارچه انتخاب طبیعی است. اگر هدف اصلی تحلیل بازاریابی با وبسایت و برنامه در یک رابط واحد است — GA4 قابلیتهای گستردهتری برای گزارشدهی و انتساب ارائه میدهد. طبق دادههای Google (2026)، 73٪ پروژهها از Firebase Analytics به عنوان ابزار اصلی و از GA4 به عنوان ابزار اضافی برای گزارشدهی بازاریابی استفاده میکنند.
سوالات متداول
Firebase Analytics بدون محدودیت در تعداد رویدادها و کاربران کاملاً رایگان است. هزینه فقط هنگام خروجی دادههای بیش از حد رایگان BigQuery (اولین 10 گیگابایت در ماه رایگان) ایجاد میشود.
بله، Analytics از شناسه نصب خود (app instance ID) استفاده میکند که به Google Play Services وابسته نیست. در دستگاههای بدون Google Play، SDK در حالت محدود بدون شناسه تبلیغاتی کار میکند.
از DebugView در کنسول Firebase استفاده کنید. اشکالزدایی را در دستگاه با دستور adb shell setprop debug.firebase.analytics.app بسته_شما فعال کنید و تمام رویدادها با تأخیر کمتر از 1 ثانیه در DebugView ظاهر میشوند.
Firebase API حذف را ارائه میدهد — درخواست از طریق Google Cloud Console برای حذف دادههای یک app instance ID یا user ID خاص. دادهها ظرف 30 روز از تمام سیستمهای ذخیرهسازی Firebase حذف میشوند.
بله، برای این کار کافی است وابستگی firebase-analytics-ktx را در build.gradle اضافه کنید. تمام رویدادهای خودکار بلافاصله پس از همگامسازی Gradle و راهاندازی برنامه شروع به جمعآوری میشوند. رویدادهای سفارشی با کد جداگانه اضافه میشوند.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید