Интеграция аналитики данных игр: событийная модель, Firebase, BigQuery
Мы регулярно сталкиваемся с ситуацией, когда Firebase Analytics в Unity подключается за полчаса. Через месяц продакшена Product Manager обнаруживает: конверсия в покупку на Android вдвое ниже, чем на iOS. События логируются с правильными именами, но параметры частично теряются из-за превышения лимита в 25 кастомных параметров на событие. Воронка retention не настроена: session_start и first_open считаются автоматически, а уровни прохождения никто не отправлял. Аналитика — это не «подключить SDK». Это системная работа: проектирование событийной модели, согласованной с геймдизайном и бизнес-метриками. За 5 лет мы выполнили более 50 интеграций — от гиперказуалок до проектов класса AAA. Наш опыт показывает, что правильная архитектура аналитики экономит до 40% времени на интерпретацию данных.
Почему теряются данные?
Неверная событийная таксономия. Firebase ограничивает: 500 уникальных event names на приложение, имена до 40 символов, параметры до 25 на событие, строковые значения до 100 символов. Проекты, которые логируют level_complete_world_1_level_5_stars_3 как имя события — быстро упираются в потолок и теряют историческую гибкость данных. Правильная схема: level_complete как event, world_id, level_id, stars, time_sec, attempts — как параметры. Это позволяет строить срезы в BigQuery без необходимости менять клиентский код.
Sampling в GA4. Firebase Analytics (GA4) применяет sampling при объёмах данных свыше определённого порога в стандартном интерфейсе. Для точных данных нужна интеграция с BigQuery Export — это бесплатно в Firebase, но требует настройки. Без BigQuery воронки на миллионных аудиториях показывают приблизительные цифры. В нашей практике мы сократили погрешность выборки до 1% — для клиента это означало корректировку прогноза выручки на 15%.
Дублирование событий. В Unity при использовании DontDestroyOnLoad для аналитического менеджера легко получить ситуацию, когда после загрузки новой сцены старый инстанс не уничтожен — события отправляются дважды. FirebaseAnalytics.LogEvent() не идемпотентен, дублей в сыром потоке не видно без group by на стороне BigQuery. Мы решаем это через Service Locator и гарантированный singleton — количество дублей падает до нуля.
Как спроектировать событийную модель?
- Определите ключевые воронки: регистрация, прохождение уровней, покупки.
- Назначьте ответственного за таксономию — геймдизайнера или аналитика.
- Зафиксируйте имена событий и параметры в документе до написания кода.
- Убедитесь, что имена событий не превышают 40 символов, а число параметров — 25.
- Протестируйте отправку событий на этапе разработки с помощью DebugView.
Что входит в интеграцию
Проектирование событийной модели — совместно с геймдизайнером и аналитиком заказчика. Определяем: какие события нужны для retention-анализа (D1/D7/D30), для воронки монетизации, для балансировки сложности уровней, для A/B-тестов. Фиксируем в event taxonomy document до написания кода.
Подключение SDK: Firebase Analytics как основа, плюс при необходимости — Amplitude (удобнее для поведенческого анализа), GameAnalytics (бесплатный, хорошо для мобильного гиперкэжуала), или AppsFlyer/Adjust для attribution. Каждый SDK требует отдельной инициализации с учётом GDPR и ATT.
Реализация: пишем абстракцию IAnalyticsService поверх конкретных SDK — это позволяет менять провайдеров без правки игрового кода. AnalyticsManager — синглтон через ServiceLocator, не MonoBehaviour — убирает зависимость от жизненного цикла сцен.
Настройка BigQuery Export из Firebase Console, создание базовых аналитических запросов для отчётности (retention, funnel, revenue по сегментам), опционально — дашборд в Looker Studio.
Пример событийной модели
{ "event": "level_complete", "parameters": { "world_id": 3, "level_id": 15, "stars": 2, "time_sec": 120, "attempts": 4 } } Обратите внимание: имя события короткое, все характеристики — в параметрах. Это не расходует лимит имён событий и позволяет гибко анализировать в BigQuery.
Как аналитика помогает зарабатывать?
Remote Config в связке с A/B Testing позволяет не просто собирать данные, но и тестировать гипотезы. Типичный сценарий: изменить сложность третьего уровня для 10% аудитории, замерить разницу в retention D1 и конверсии в покупку. Реализация требует корректной группировки пользователей по FirebaseRemoteConfig.FetchAndActivateAsync() и гарантии, что конфиг применяется до первого отображения контролируемого экрана. Мы настраиваем эту цепочку так, чтобы результаты A/B-тестов были статистически значимы уже при выборке 2000 пользователей. В одном проекте это привело к росту ARPU на $0.75.
Почему BigQuery важен для аналитики?
BigQuery позволяет хранить сырые события без выборки (sampling). Вы можете выполнять точные SQL-запросы к миллиардам записей. Мы видели проекты, где после внедрения BigQuery расходы на аналитическую инфраструктуру снизились на $2,500 в месяц — за счёт отказа от сторонних expensive BI-инструментов.
Сравнение провайдеров аналитики
| Платформа | Лимиты бесплатного тарифа | Особенности |
|---|---|---|
| Firebase Analytics | 500 событий, 25 параметров | Встроенная связка с Google Ads |
| Amplitude | 10 млн событий/мес | Поведенческие когорты, удобный UX |
| GameAnalytics | Неограниченно | Оптимизирован для игр, низкая задержка |
Сроки
| Масштаб | Срок |
|---|---|
| Firebase Analytics, базовая событийная модель, одна платформа | 3–7 дней |
| Firebase + BigQuery + attribution SDK | 2–3 недели |
| Полный стек с Remote Config, A/B, дашборды | 4–6 недель |
Стоимость рассчитывается после анализа требований к метрикам и текущего состояния аналитической инфраструктуры. Мы даём фиксированную цену на этапе согласования объёма работ.
Закажите аудит вашей аналитики — мы найдём потери данных и предложим план исправлений. Свяжитесь с нами, чтобы обсудить событийную модель вашей игры.






