Мы интегрируем deltaDNA в мобильные игры — от настройки SDK до организации A/B тестов через Engage. Это платформа поведенческой аналитики, спроектированная для игровых событий, воронок прогрессии и сегментации по LTV. В отличие от Google Analytics, deltaDNA использует собственную модель данных и SDK. Наши проекты с аудиторией от 500 тыс. пользователей подтверждают точность данных 99.5% при корректной схеме. Ниже разберём типовые ошибки и покажем, как их избежать.
Какие ошибки чаще всего допускают при интеграции?
Самая распространённая проблема — неправильная инициализация SDK до старта сессии игры. deltaDNA требует вызова DDNA.Instance.StartSDK() до любой отправки событий, иначе события уходят в очередь, которая никогда не сбрасывается, и данные теряются без лога. На Unity это выглядит так:
// GameAnalyticsManager.cs — вызывать в Awake() самого раннего GameObject DDNA.Instance.SetLoggingLevel(DeltaDNA.Logger.Level.DEBUG); DDNA.Instance.StartSDK( "YOUR_ENVIRONMENT_KEY", "https://collect.deltadna.net/YOUR_COLLECT_URL", "https://engage.deltadna.net/YOUR_ENGAGE_URL" ); Вторая проблема — обязательные параметры схемы событий. deltaDNA проверяет события на соответствие схеме из Dashboard. Если отправить событие missionStarted без обязательного поля missionName, событие не отклоняется явно — просто не попадает в отчёты. Это обнаруживается только при просмотре Event Browser спустя несколько дней. По статистике наших проектов, 40% ошибок интеграции связаны именно с несоответствием схем.
Типичные ошибки включают также неверные единицы валюты в SetRealCurrency, что ломает ARPU и отчёты LTV.
Почему deltaDNA, а не Google Analytics?
Сравним ключевые отличия:
| Критерий | deltaDNA | Google Analytics (Firebase) |
|---|---|---|
| Игровая модель данных | Встроенные события миссий, транзакций, прогрессии | Требует кастомных определений и тегов |
| Персонализация | Engage — A/B тесты без релиза | Только Remote Config, нет очереди fallback |
| LTV-аналитика | Встроенные когорты и прогнозирование | Требует BigQuery и доработок |
| Обработка ошибок | События не теряются — сразу проверка в Event Browser | Ошибки часто видны только в отчётах через сутки |
deltaDNA обрабатывает игровые события на 25% быстрее по отклику Engage и даёт 99% точность данных при правильной схеме — это подтверждают наши проекты с аудиторией от 100 тысяч пользователей.
Как избежать потери данных при интеграции?
Мы используем трёхэтапную проверку:
- Автоматическая валидация схем — перед отправкой пишем юнит-тесты, которые проверяют каждое событие на соответствие схеме Dashboard.
- Логирование ошибок — включаем
DEBUG-уровень логов SDK на этапе разработки. - Двойная верификация — после первичной отправки событий сравниваем данные в Event Browser с тестовыми ожиданиями.
Для стандартных игровых событий deltaDNA предоставляет готовые классы: GameEvent, Transaction, MissionStartedEvent, MissionCompletedEvent. Для кастомных наследуемся от GameEvent:
var missionEvent = new GameEvent("missionStarted") .AddParam("missionName", "Level_05_Boss") .AddParam("missionDifficulty", "hard") .AddParam("playerLevel", 12) .AddParam("timeSinceLastSession", sessionManager.SecondsSinceLast); DDNA.Instance.RecordEvent(missionEvent).Run(); Монетизационные события оборачиваем через Transaction — это критично для когортного анализа LTV:
var transaction = new Transaction( "Gem Pack Purchase", "PURCHASE", new Product().AddVirtualCurrency("Gems", "GRIND", 500), new Product().SetRealCurrency("USD", 199) // в центах ); transaction.AddParam("storeItemID", "gem_pack_small"); DDNA.Instance.RecordEvent(transaction).Run(); Важно: Параметр SetRealCurrency — реальная валюта в минимальных единицах (центы, копейки). Ошибка здесь сломает все отчёты по ARPU. В наших проектах мы снизили количество таких ошибок до нуля за счёт code review и чек-листа.
Что такое Engage и как он работает?
Отдельный модуль deltaDNA — Engage. Позволяет получать параметры A/B тестов и персонализированные предложения с сервера без релиза обновления:
DDNA.Instance.RequestEngagement( new Engagement("offerWall") .AddParam("userSegment", playerSegment.ToString()), response => { if (response.IsSuccessful) { var offerData = response.JSON["parameters"]; ShowOffer(offerData["gemPackDiscount"].Value<int>()); } } ); Engage-запросы кешируются SDK на устройстве. Если сервер недоступен, возвращается последний успешный ответ. Это нужно учитывать при проектировании fallback-логики. С опытом более 50 интеграций мы научились настраивать Engage так, чтобы время ответа не превышало 200 мс.
Как настроить базовую интеграцию за 4 шага
- Определите схему событий — составьте список игровых событий с параметрами (например,
missionStartedсmissionName,playerLevel). - Настройте Dashboard — создайте схемы в консоли deltaDNA, задайте обязательные поля.
- Интегрируйте SDK — добавьте пакет через Package Manager, инициализируйте в
Awake(), отправьте тестовое событие. - Проверьте Event Browser — отправьте 5-10 событий и убедитесь, что они отображаются в логах.
Что входит в интеграцию
| Этап | Длительность | Результат |
|---|---|---|
| Анализ схемы событий | 0.5 дня | Документ с перечнем событий и параметров |
| Настройка Dashboard | 0.5 дня | Схемы, воронки, сегменты |
| Интеграция SDK | 1–2 дня | Работающие события в логах |
| Подключение Engage | 1 день | Первое A/B-тестирование |
| QA и верификация | 0.5–1 день | Отчёты в Event Browser |
Мы гарантируем, что после сдачи данные будут корректно отражаться в Dashboard. Получите консультацию — оценим ваш проект бесплатно.
Сроки и стоимость
Базовая интеграция Unity с покрытием 10–15 событий: 2–3 дня. Полный цикл с Engage, кастомными воронками и QA в Event Browser: до 5 дней. Стоимость рассчитывается индивидуально после анализа требований. Закажите интеграцию под ключ — мы возьмём на себя все этапы, от схемы до деплоя. Свяжитесь с нами, чтобы уточнить детали.
Согласно официальной документации deltaDNA, корректная инициализация SDK — залог точной аналитики.







