Ми інтегруємо 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 — запорука точної аналітики.







