События в приложении 
В приложении во время активности пользователя происходят различные события, которые можно использовать для коммуникации и аналитики.
Правила 
- Событие должно быть минимальным для своей активности.
 - Событие должно описывать одну и только одну активность, то есть "Пользователь смотрит видео <N> минут
 
// [!code class:bad]
Событие: Пользователь нажал на три кнопки, перешел в каталог 
и оставил приложение в афк на 30 секунд// [!code class:good]
Событие: Пользователь нажал на кнопку А
Событие: Пользователь перешел в каталог
Событие: Пользователь оставил приложение в афк на <N> секундАналитика 
Чтобы отправить событие в аналитику, нужно подготовить название события и интересующие параметры.
Не все параметры возможно получить во время возникновения события, это нужно учитывать.
Параметры должны иметь прямое отношение к исследуемой активности.
In-App Messaging 
События можно использовать, чтобы внедрять контекстную коммуникацию с пользователем.
Например, пользователь смотрел 5 минут видео и после завершения просмотра ему показывается попап про саммагонку.
Список событий 
Далее представлена автоматически сгенерированная документация по событиям реализованным в приложении.
Формат будет со временем улучшаться.
TIP
Правила наследования значений в событиях:
- Если для Target не представлено 
nameилиproperties, значит они берутся из In-App Messaging - Если в In-App Messaging не представлено 
nameилиproperties, значит они берутся из Parent события 
В дальнейшем name и properties будут верно пропагироваться в свои Target
- WidgetSelectedEvent GoogleApp Metrica
Событие взаимодействия с виджетом. Происходит, когда юзер взаимодействует с соответствующим виджетом в приложении. 
- WidgetSeenEvent GoogleApp Metrica
Событие взаимодействия с виджетом. Происходит, когда юзер взаимодействует с соответствующим виджетом в приложении. 
- WidgetCancelledEvent GoogleApp Metrica
Событие взаимодействия с виджетом. Происходит, когда юзер закрывает виджет. 
- FirstFeedbackSentEvent GoogleApp Metrica
Пользователь отправил первое мнение к саммари 
- FeedbackSentEvent GoogleApp Metrica
Пользователь отправил мнение к саммари 
- CommentSentEvent GoogleApp Metrica
 
- RatingResultsReceivedEvent 
Если у пользователя есть рейтинг за прошлую неделю 
- IntentOpenEvent 
Событие открытия интента 
- AppStartedEvent 
Счетчик запусков приложения Используется для показа баннеров и рекламных материалов 
- CourseProgressResettedEvent 
Отслеживание сброса прогресса по курсу 
- DiplomaSentEvent 
Отслеживание успешной отправки сертификата по курсу 
- ProxyDisconnected 
Отслеживание отключение прокси-соединения Используется тестерами / разработчиками 
- NavigationEvent 
Навигация в приложении 
- HomeWidgetRemovedEvent GoogleApp Metrica
{@template home_widget_removed_event.class} [HomeWidgetRemovedEvent] is an event triggered when widget with given [id] was removed. {@endtemplate} 
- HomeWidgetInstalledEvent GoogleApp Metrica
{@template home_widget_installed_event.class} [HomeWidgetInstalledEvent] is an event triggered when widget with given [id] was installed. {@endtemplate} 
- ActiveOlympiadExistsEvent 
Отслеживание доступности олимпиады Содержит id олимпиады и ее статус 
- OlympiadTestCompletedEvent GoogleApp Metrica
Exam completed when client receives exam results. 
- IconChangedEvent Google
Отслеживанение изменения иконки приложения 
- UserPageRefreshBusEvent 
Событие для обновления страницы пользователя сейчас используется для обновления списка достижений 
- BuyYearSubscriptionStartEvent GoogleApp Metrica
Occurs when buy year subscription flow started. 
- SubscriptionPurchaseEvent GoogleApp Metrica
Occurs when subscription purchase successfully completed and money earned. Source can be `iap` or `site`: - `iap` for in app purchase - `site` for our own web purchase flow 
- SelectBuySubscriptionEvent GoogleApp Metrica
Occurs when subscription button was clicked by user. Each button has unique `id` 
- WebSubscriptionCancelledEvent GoogleApp Metrica
 
- BuySubscriptionStartedEvent GoogleApp Metrica
Occurs when subscription flow started. Source can be `iap` or `site`: - `iap` for in app purchase - `site` for our own web purchase flow 
- SkillPointReceivedEvent 
Пользователь получил баллы в скиллы 
- ExamClosedEvent 
Завершение пользователем экзамена 
- PromotionSeenEvent 
Событие просмотра рекламной кампании. Происходит, когда юзер видит соответствующий виджет в приложении. Доступные свойства: - `promotion_id: String` — Уникальный идентификатор рекламной кампании - `promotion_name: String` — Название рекламной кампании - `location_id: String` — Уникальный идентификатор места в приложении, где произошло событие - `creative_slot: String` — Определенное место, где произошло событие - `creative_name: String` — Описание визуала, который вызвал событие 
- PromotionEvent 
Рекламное событие Доступные свойства: - `promotion_id: String` — Уникальный идентификатор рекламной кампании - `promotion_name: String` — Название рекламной кампании - `location_id: String` — Уникальный идентификатор места в приложении, где произошло событие - `creative_slot: String` — Определенное место, где произошло событие - `creative_name: String` — Описание визуала, который вызвал событие 
- AnalyticsEvent 
Динамическое рекламное событие. Доступные свойства могут быть любые. 
- PromotionSelectedEvent 
Событие взаимодействия с рекламной кампанией. Происходит, когда юзер взаимодействует с соответствующим виджетом в приложении. Доступные свойства: - `promotion_id: String` — Уникальный идентификатор рекламной кампании - `promotion_name: String` — Название рекламной кампании - `location_id: String` — Уникальный идентификатор места в приложении, где произошло событие - `creative_slot: String` — Определенное место, где произошло событие - `creative_name: String` — Описание визуала, который вызвал событие 
- UserItemSwitchFollowBusEvent 
Отслеживание отписки от пользователя 
- TestCompletedEvent 
Отслеживание прохождения теста Тест считается пройденным, когда клиент получает данные от бэка 
- ExamCompletedEvent GoogleApp Metrica
Отслеживание прохождения экзамена Экзамен считается пройденным, когда клиент получает данные от бэка 
- OnboardingStartedEvent GoogleApp Metrica
Represents an event triggered when the onboarding process is started. This event is used to track the initiation of the onboarding flow and can be used for analytics and tracking user engagement. 
- OnboardingSurveyChoiceSelectedEvent App Metrica
 
- OnboardingGoalSelectedEvent App Metrica
 
- OnboardingCompletedEvent GoogleApp Metrica
Событие завершения онбординга. Онбординг может быть завершен успешно и неуспешно. Успешным завершением онбординга считается переход пользователя к тиндеру или пейволлу. Неуспешным завершением онбординга считается выход пользователся из онбординга по крестику. 
- OnboardingCancelledEvent GoogleApp Metrica
 
- OnboardingBrainSizeSelectedEvent App Metrica
 
- FormSentEvent Google
Отслеживание закрытия формы заявки через телеграм После успешного создания заявки 
- VideoPlayerEngagementEvent 
Событие происходит во время просмотра саммари, каждые **5 секунд**. Доступные свойства: - `media_item: String` — Название видео - `duration: int` — Общее время просмотра, в секундах - `is_last: bool` — Это последнее событие для текущего видео. Событие считается последним, если пользователь: закрывает плеер, переключается на следующее видео 
- VideoPlayerEngagementCompletedEvent 
Событие происходит после закрытия плеера. Отслеживает время просмотра в рамках одной сессии просмотра. Время просмотра сбрасывается при закрытии плеера. Доступные свойства: - `total_duration: int` — Общее время просмотра всех видео в рамках одной сессии, в секундах - `maximum_duration: int` — Максимальное время просмотра одного видео, в секундах - `today_duration: int` — Время просмотра на текущие сутки в рамках одной сессии просмотра, в секундах 
- VideoPlayerSummaryWatchThresholdEvent GoogleApp Metrica
Event is triggered when watch progress becomes larger than some `threshold` value 
- CoursePlayerStartedEvent 
@nodoc 
- CoursePlayerCompletedEvent 
@nodoc 
- CoursePlayerSwitchVideoEvent 
@nodoc 
- CoursePlayerClosedEvent 
@nodoc 
- QuizCardsOpenedEvent GoogleApp Metrica
 
- QuizCardsCompletedEvent 
Событие происходит после закрытия экрана с квиз-карточками 
- QuizCardsFinishedEvent GoogleApp Metrica
 
- QuizCardsActionEvent GoogleApp Metrica
 
- UserInfoReceivedEvent 
Отслеживание состояния пользователя 
- RegisterEvent App Metrica
Отслеживание регистрации пользователя 
- LoginEvent GoogleApp Metrica
Dispatched when user successfully authenticated 
- LogoutEvent 
Dispatched when user successfully logged out 
- ProfileEditBusEvent 
Отслеживание изменения данных профиля юзером 
- ProfileRefreshBusEvent 
should be removed: TODO(@melvspace): 06/20/24 remove this event. It can be replaced with refreshing in-place Будет удалено в дальнейшем