Отправка событий
Для построения всех важных дашбордов, воронок, таблиц и других данных аналитики, все отправляемые данные должны быть верно размечены.
Ниже приводится набор игровых событий, которые вам стоит интегрировать в вашу игру, чтобы получать все необходимые данные из коробки.
Обязательные параметры для отправки событий
| параметр |
обязательность |
тип данных |
описание |
| event |
да |
string |
Название отправляемого события.
Может быть как встроенное (для покрытия различных бизнес-логики: ресчеты retention, ltv, churn rate, ANR, time to interactive и т.п.), так и кастомные (придуманные вами).
|
| detail |
да |
array |
Массив для запаковки всех отправляемых данных на сервер.
|
Помимо event и detail, не забывайте про обязательные параметры для самой аналитики action, token, uuid, sid - базовые обязательные параметры для запроса, их описание дано в
разделе api. Описание вспомогательных параметров в таблице ниже.
Перечень событий
Инициализация сессии (init)
init - событие вызываемое для web-игр еще на уровне HTML с помощью JS (готовый js можно скачать тут) и до инициализации движка. Очень важное событие для точного определения метрики time to interactive (скорости загрузки билда).
Также данный метод очень важен, т.к. помогает аналитике отслеживать технические проблемы при загрузке игры.
пример POST запроса:
{
event: "init",
uuid: "$.{uuid}",
sid: "$.{sid}",
detail: {
inpoint: $.{uuid},
referer: $.{referer},
version: $.{version},
language: $.{language},
platform: $.{platform_id},
screen: {
w: $.{width},
h: $.{height},
dpr: $.{dpr},
}
}
}
Таблица ID для всех платформ
| платформа |
platform_id |
|
| www |
1 |
|
| Google Play |
2 |
|
| VK |
3 |
|
| VK mini apps |
4 |
|
| Apple Store |
5 |
|
| Android APK |
6 |
|
| NashStore |
7 |
|
| RuStore |
8 |
|
| VkPlay |
9 |
|
| Яндекс.Игры |
10 |
|
| ag.ru |
11 |
|
| OK |
12 |
|
| OK.Mobile |
13 |
|
| CrazyGames |
14 |
|
| fruGoogle |
15 |
|
| Poki |
16 |
|
Скорость загрузки билда (loading)
loading - событие вызываемое для оценки скорости загрузки билда. Особенно удобно, когда ваша игра использует технологии live-update и собирается у игрока в фоне.
Например, ваша игра разбита на 4 важных этапа:
1) загрузка ресурсов движка,
2) загрузка первого минимального архива (чтобы игрок уже смог начать игру, например, 1-ый уровень игры),
3) подгрузка ресурсов игры для перехода игрока на 2-ой уровень
4) полная загрузка всех ресурсов игры.
Каждому шагу дайте свой уникальный номер, начиная с единицы и как только ваш билд достиг определенного этапа, отправляйте событие в аналитику.
пример POST запроса:
{
event: "loading",
detail: {
step: 1
}
где step - номер шага (этапа загрузки) в формате int от 1 до N. Рекоммендуем использовать не более 5 этапов.
Смена сцены (hit)
hit - важное событие сообщающее аналитике о том, что пользовать сменил сцену. Например, после сцены боя (battle) у игрока открылось окно победы (win), и после этого он перешел на главную страницу игры (lobby).
Название каждой сцены должно быть уникально.
пример POST запроса:
{
event: "hit",
detail: {
url: "battle"
}
}
Клик на сцене (click)
click - добавляйте в проект, если вы планируете использовать в аналитике тепловые карты кликов (в целях исследования UX, или для записи псевдо-видео сессии пользователя).
пример POST запроса:
{
event: "click",
detail: {
x: 144,
y: 56,
scene: "lobby",
}
}
Повышение уровня игрока (levelup)
Для всяким там прогрессий и прочей хрени.
пример POST запроса:
{
event: "levelup",
detail: {
level: 5,
}
}
Tutorial
Если в вашей игре имеется туториал, и вы хотите построить воронку отвалов по шагам на данном туториале, то после каждого успешного шага отправляйте в аналитику событие tutorial
пример POST запроса:
{
event: "tutorial",
detail: {
step: 7,
}
}
где step - номер шага tutorial в формате int от 1 до N.