Інтеграція Unity Analytics для мобільної гри
Unity Analytics — вбудоване рішення для збору ігрових подій в проектах на Unity, без необхідності підключати сторонній SDK. З виходом Unity Gaming Services (UGS) аналітика стала частиною єдиної платформи: ті ж облікові дані, що використовуються для UGS Authentication, Cloud Save та Leaderboards.
Ініціалізація через Unity Gaming Services
З Unity 2022+ аналітика йде через пакет com.unity.services.analytics:
using Unity.Services.Analytics;
using Unity.Services.Core;
async void Start()
{
await UnityServices.InitializeAsync();
AnalyticsService.Instance.StartDataCollection();
}
До виклику StartDataCollection() SDK не надсилає ніяких даних — це важливо для відповідності GDPR. Якщо гра працює в регіонах ЄС, потрібно показати згоду на збір даних і викликати StartDataCollection() тільки після підтвердження.
Стандартні eventi vs кастомні
Unity автоматично відправляє системні eventi: gameStarted, sceneLoaded, adImpression. Для ігрової логіки потрібні кастомні eventi:
// Гравець пройшов рівень
var levelCompleteParams = new LevelCompleteParameters
{
LevelIndex = currentLevel,
LevelName = "dungeon_01",
Score = playerScore,
Duration = levelDuration
};
AnalyticsService.Instance.RecordEvent(levelCompleteParams);
// Довільна подія
AnalyticsService.Instance.CustomData("item_purchased", new Dictionary<string, object>
{
{ "item_id", "sword_legendary" },
{ "currency", "gold" },
{ "amount", 500 },
{ "player_level", playerLevel }
});
LevelCompleteParameters — типізований клас з SDK. Такі eventi автоматично потрапляють на стандартні дашборди UGS з готовими візуалізаціями без ручної настройки схеми.
Типові грабки
Подія йде, але не з'являється на дашборді. Дашборд UGS оновлюється з затримкою до 24 годин для агрегованих даних. Для відладки — включаємо Debug.unityLogger.logEnabled = true й дивимось у консоль: SDK логує [Analytics] Event queued й [Analytics] Batch sent.
UnityServices.InitializeAsync() зависає в редакторі. Відбувається, якщо в Project Settings → Services не прив'язаний Cloud Project ID. Без нього SDK не знає, куди відправляти дані.
Consent flow зламаний на Android 13+. При використанні ConsentTracker.CheckConsentInfoUpdate() на Android 13 запит на згоду може не показатися, якщо GoogleConsentMode не ініціалізований до UnityServices.InitializeAsync(). Порядок важливий.
Дані в Unity Dashboard
Після надсилання подій вони з'являються в Unity Dashboard → Analytics. Вбудовані звіти включають:
- Funnel Analysis — воронка прохождення на основі progression подій
-
Monetization — revenue з
adImpressionта IAP - Engagement — DAU, session length, retention (D1/D7/D30)
Кастомні eventi через CustomData потрапляють в Event Browser — там можна побудувати довільні запити. Для глибокого аналізу Unity підтримує експорт у BigQuery через Unity Data Hub.
Що входить у роботу
- Підключення пакета
com.unity.services.analyticsчерез Package Manager - Прив'язка Cloud Project ID та настройка UGS в редакторі
- Реалізація consent flow для GDPR
- Створення кастомних подій для ключевих точок игровой механіки
- Перевірка відправки подій через Unity Dashboard
Терміни
Базова інтеграція з кастомними подіями: 0,5–1 день. Вартість розраховується індивідуально.







