Актуальный билд: Z:\!Backups\!ProgramReleases\Analytics\1.0.0.24
Обязательные шаги для подключения аналитики:
productName - короткая версия названия продукта (INSB, etc)
productVersion - версия
serialKey - первые 8 символов ключа продукта со сдвигом (без расшифровки). Пример: 272S8S1F
debug - указывает, что аналитика работает в режиме дебага. В этом режиме эвенты на сервере уходят в индекс test-events. Во время разработки обязательно должно быть в true.
shell - указывает на то, является ли запущенная программа оболочкой или непосредственно продуктом. По умолчанию false. Если аналитика запускается из оболочки, обязательно выставлять в true, это важно для корректной работы.
Все последующие вызываемые эвенты будут содержать в себе эту информацию. Настройки можно очистить, установив AnalyticsEvent.gameSettings в null, либо вызвав метод AnalyticsEvent.ClearGameSettings().
В кибане (Cтарая: https://analytics.serviceplaystand.ru Новая: https://kibana.plsnd.ru) посмотреть эвенты, отправленные из режима debug, можно таким образом:
Надо кликнуть по events-* и переключиться на test-events-*
С версии 1.0.0.20 добавлена возможность подписки на евент, срабатывающий при отправке новых событий аналитики.
Подписаться на него можно так:
private void DisplayAnalyticsEvent(string message) {
Debug.Log(message);
}
EventsHTTPClient.NewEvent += DisplayAnalyticsEvent;
Все существующие эвенты наследуются от BaseEvent.
BaseEvent имеет один public метод - EventSend(Dictionary<string, object> eventData). Этот метод преобразует Dictionary в Json и отправляет на бэкенд.
Все эвенты вызываются через вызов соответствующих методов в AnalyticsEvent.
Каждый метод вызова эвента последним аргументом принимает Dictionary<string, object> customEventData. Данные из этого словаря будут добавлены к остальным данным, передаваемым с эвентом. Ключи словаря следует делать уникальными (например используя префикс “custom_%key_name%”.
1. ApplicationStart
Эвент, обязательно вызываемый при запуске приложения (смотри Подключение). В дальнейшем не должен вызываться.
2. ApplicationExit
Эвент, обязательно вызываемый при завершении работы приложения. В случае, если эвент не был вызван в конце работы приложения, то при следующем его запуске будет сгенерирован эвент SystemCrash.
3. SystemCrash
Вызывается при старте приложения, если при предыдущем запуске не был вызван эвент ApplicationExit. Не предназначен для ручного вызова.
4. ElementClick
ElementClick(string elementName, int elementId, Dictionary<string, object> customEventData = null)
Предназначен для вызова при кликах по управляющим элементам. elementId = GameObject.GetInstanceID()
elementName = GameObject.name
5. GameStart
GameStart(string gameName, Dictionary<string, object> customEventData = null)
Эвент предназначен для вызова при старте игр. В gameName следует передавать название запускаемой игры.
6. GameExit
GameExit(string gameName, Dictionary<string, object> customEventData = null)
Эвент предназначен для вызова при завершении игр. В gameName следует передавать название завершенной игры.
7. SceneStart
SceneStart(string sceneName, Dictionary<string, object> customEventData = null)
Эвент предназначен для вызова при запуске новой сцены. В sceneName следует передавать название сцены.
8. ScreenVisit
ScreenVisit(string screenName, Dictionary<string, object> customEventData = null)
Эвент предназначен для вызова при открытии различных окон внутри сцены или игры (окно меню/настроек/etc). В screen Nameследует передавать название окна.
9. ScreenExit
ScreenExit(string screenName, Dictionary<string, object> customEventData = null)
Эвент предназначен для вызова при закрытии различных окон внутри сцены или игры (окно меню/настроек/etc). В screenName следует передавать название окна.
10. CustomEvent
CustomEvent(string eventName, Dictionary<string, object> eventData)
Благодаря этому методу можно создавать любые типы эвентов, если существующих недостаточно. Первым аргументом передается название эвента (желательно, чтобы название эвента было без заглавных букв с разделением слов нижним подчеркиванием, например так: event_name).
Вторым аргументом передаются любые требуемые данные.
11. ErrorEvent
CustomEvent(Exception exception, Dictionary<string, object> customEventData)
Эвент для отправки ошибок в статистику.
В customEventData можно добавлять следующие типы:
А так же: