Интеграция аналитики Firebase Analytics в мобильное приложение

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Интеграция аналитики Firebase Analytics в мобильное приложение
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Интеграция аналитики Firebase Analytics в мобильное приложение

Firebase Analytics — не просто «добавить SDK и смотреть DAU». Если события называются button_click без параметров, или одно и то же действие логируется под разными именами на iOS и Android — дашборд превращается в мусор, который никто не читает. Правильная интеграция начинается с плана событий, а не с pod install.

Архитектура событий

Firebase автоматически собирает стандартные события: first_open, session_start, screen_view (при включённом автоматическом отслеживании экранов), in_app_purchase. Для кастомного поведения нужны именованные события с параметрами.

Хорошая практика — завести перечисление событий вместо строковых констант в коде:

// iOS, Swift
enum AnalyticsEvent {
    case productViewed(productId: String, category: String)
    case checkoutStarted(cartValue: Double, itemCount: Int)
    case purchaseCompleted(orderId: String, revenue: Double, currency: String)

    var name: String {
        switch self {
        case .productViewed: return "product_viewed"
        case .checkoutStarted: return "checkout_started"
        case .purchaseCompleted: return "purchase_completed"
        }
    }

    var parameters: [String: Any] {
        switch self {
        case .productViewed(let id, let cat):
            return ["product_id": id, "category": cat]
        case .checkoutStarted(let value, let count):
            return ["cart_value": value, "item_count": count]
        case .purchaseCompleted(let orderId, let rev, let cur):
            return ["order_id": orderId, "revenue": rev, "currency": cur]
        }
    }
}

func track(_ event: AnalyticsEvent) {
    Analytics.logEvent(event.name, parameters: event.parameters)
}

На Android аналогичный подход через sealed class или object с константами.

User Properties и аудитории

User Properties — атрибуты пользователя, которые остаются между сессиями и используются для сегментации в аудиториях, Remote Config и A/B тестах:

Analytics.setUserProperty("premium", forName: "subscription_status")
Analytics.setUserProperty("ru", forName: "preferred_language")
Firebase.analytics.setUserProperty("subscription_status", "premium")

Важно: Firebase ограничивает 25 кастомными user properties на проект. Используйте их для стабильных атрибутов (план подписки, тип аккаунта), а не для сессионных данных.

Автоматический screen_view и ручной контроль

По умолчанию Firebase на iOS логирует screen_view при каждом появлении UIViewController через swizzling. Это работает плохо в TabBar-приложениях: при переключении вкладок события дублируются. Рекомендую отключить автоматику и логировать вручную в viewDidAppear:

// Info.plist: FirebaseAutomaticScreenReportingEnabled = NO

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    Analytics.logEvent(AnalyticsEventScreenView, parameters: [
        AnalyticsParameterScreenName: "ProductDetail",
        AnalyticsParameterScreenClass: "ProductDetailViewController"
    ])
}

Debug-режим и DebugView

Для проверки событий в реальном времени — Firebase DebugView в консоли. Активируется через launch argument:

-FIRDebugEnabled

В DebugView видно каждое событие с параметрами с задержкой ~1 секунда. В продакшне события попадают в консоль с задержкой до 24 часов — это нормально, но для отладки DebugView незаменим.

Ограничения, о которых забывают

  • Максимум 500 уникальных имён событий на проект (не сессию)
  • Имя события до 40 символов, значение строкового параметра до 100 символов
  • Числовые параметры до 25 кастомных на событие
  • Данные в BigQuery доступны при подключении платного тарифа Blaze

Что входит в работу

  • Добавление SDK и инициализация
  • Разработка плана событий совместно с командой продукта
  • Реализация типизированного трекер-слоя
  • Настройка User Properties
  • Конфигурация screen_view (автоматика или ручная)
  • Проверка через DebugView до релиза

Сроки

Базовая интеграция с 10–15 событиями: 1–2 дня. Полный трекинг с аудиториями и BigQuery: 3 дня. Стоимость рассчитывается индивидуально после анализа требований.