Интеграция 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() только после подтверждения.
Стандартные события vs кастомные
Unity автоматически отправляет системные события: gameStarted, sceneLoaded, adImpression. Для игровой логики нужны кастомные события:
// Игрок прошёл уровень
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. Такие события автоматически попадают в стандартные дашборды 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)
Кастомные события через 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 день. Стоимость рассчитывается индивидуально.







