Інтеграція GameAnalytics для мобільної гри
GameAnalytics — вузькоспеціалізована аналітична платформа для ігор. На відміну від Firebase чи Amplitude, тут з самого початку закладена ігрова модель даних: progression eventi (старт/провал/завершення рівня), resource eventi (начислення/трата внутрішньоігрової валюти), design eventi (довільні метрики геймплею). Це позбавляє від необхідності проектувати схему подій з нуля.
Підключення SDK
Підтримуються Unity, iOS (Swift/ObjC), Android (Kotlin/Java), React Native. Для Unity — через Package Manager або .unitypackage:
using GameAnalyticsSDK;
public class GameManager : MonoBehaviour
{
void Awake()
{
GameAnalytics.Initialize();
}
}
Перед викликом Initialize() компонент GameAnalytics повинен бути в сцені з заповненими Game Key й Secret Key з дашборда.
На iOS нативно:
import GameAnalytics
GameAnalytics.configureBuild("1.0.0")
GameAnalytics.initialize(withGameKey: "GAME_KEY", gameSecret: "SECRET_KEY")
Ключевые типи подій
Progression — прохождение рівнів:
// Початок рівня
GameAnalytics.NewProgressionEvent(
GAProgressionStatus.Start,
"world_1", "level_05"
);
// Провал з очками
GameAnalytics.NewProgressionEvent(
GAProgressionStatus.Fail,
"world_1", "level_05",
score: 1240
);
За цими подіями GameAnalytics автоматично будує funnel прохождення — видно, на якому рівні теряється більше всього гравців.
Resource — економіка:
GameAnalytics.NewResourceEvent(
GAResourceFlowType.Source,
"gold",
500,
"reward",
"daily_bonus"
);
GameAnalytics.NewResourceEvent(
GAResourceFlowType.Sink,
"gold",
200,
"upgrade",
"sword_level2"
);
Source — приход валюти, Sink — трата. Дашборд будує баланс економіки: якщо Sink значно опережає Source, гравці швидко беднеють й йдуть.
Design — все інше:
GameAnalytics.NewDesignEvent("Boss:Defeated:DragonKing", 1);
GameAnalytics.NewDesignEvent("Settings:SoundToggle", 0); // 0 = вимкнено
Автоматичні метрики
GameAnalytics без дополнительного коду збирає DAU/MAU, retention (Day 1, Day 7, Day 30), session length й crash reports (через інтеграцію з нативними краш-обробниками). Для iOS 14+ автоматично включається SKAdNetwork-підтримка.
Важливі деталі реалізації
Імення подій типу Design. Рядок eventi розділяється двоеточіями — це рівні ієрархії в дашборді. Boss:Defeated:DragonKing створює гілку Boss → Defeated → DragonKing. Максимум 5 рівнів. Якщо не дотримуватися структури з самого початку, дашборд превратиться в плаский список з сотень строк.
Валідація session end. GameAnalytics автоматично закриває сесію при уходу додатку в фон — через OnApplicationPause. На Android це працює надійно. На iOS при певних сценаріях (VoIP, Background Fetch) сесія може не закритися. Слід додати явний виклик:
void OnApplicationPause(bool paused)
{
if (paused) GameAnalytics.StopSession();
else GameAnalytics.StartSession();
}
Безплатний план. GameAnalytics безплатен для більшості інді-ігор — ліміти по подіях досить високі (500 млн подій на місяць). Це робить його привабливим для проектів без бюджету на Amplitude чи Mixpanel.
Що входить у роботу
- Підключення SDK (Unity / iOS / Android)
- Настройка progression подій для кожного ігрового світу й рівня
- Настройка resource подій для всіх джерел і трат валюти
- Design eventi для ключевих механік (боссы, предмети, настройки)
- Перевірка даних у GameAnalytics Dashboard
Терміни
Підключення з базовими типами подій: 0,5–1 день. Вартість розраховується індивідуально.







