События в приложении
В приложении во время активности пользователя происходят различные события, которые можно использовать для коммуникации и аналитики.
Правила
- Событие должно быть минимальным для своей активности.
- Событие должно описывать одну и только одну активность, то есть "Пользователь смотрит видео <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
Событие взаимодействия с виджетом. Происходит, когда юзер закрывает виджет.
- FeedbackSentEvent GoogleApp Metrica
Пользователь отправил мнение к саммари
- CommentSentEvent GoogleApp Metrica
- AppStartedEvent
Счетчик запусков приложения Используется для показа баннеров и рекламных материалов
- CourseProgressResettedEvent
Отслеживание сброса прогресса по курсу
- DiplomaSentEvent
Отслеживание успешной отправки сертификата по курсу
- ProxyDisconnected
Отслеживание отключение прокси-соединения Используется тестерами / разработчиками
- NavigationEvent
Навигация в приложении
- KnowledgeRefreshBusEvent
Событие обновления саммагонки Обновление топа юзеров и статистики баллов
- ActiveOlympiadExistsEvent
Отслеживание доступности олимпиады Содержит id олимпиады и ее статус
- OlympiadTestCompletedEvent GoogleApp Metrica
Exam completed when client receives exam results.
- IconChangedEvent Google
Отслеживанение изменения иконки приложения
- UserPageRefreshBusEvent
Событие для обновления страницы пользователя сейчас используется для обновления списка достижений
- 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
- 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
Отслеживание прохождения экзамена Экзамен считается пройденным, когда клиент получает данные от бэка
- OnboardingCompletedEvent GoogleApp Metrica
Событие завершения онбординга. Онбординг может быть завершен успешно и неуспешно. Успешным завершением онбординга считается переход пользователя к тиндеру или пейволлу. Неуспешным завершением онбординга считается выход пользователся из онбординга по крестику.
- FormSentEvent Google
Отслеживание закрытия формы заявки через телеграм После успешного создания заявки
- VideoPlayerEngagementEvent
Событие происходит во время просмотра саммари, каждые **5 секунд**. Доступные свойства: - `media_item: String` — Название видео - `duration: int` — Общее время просмотра, в секундах - `is_last: bool` — Это последнее событие для текущего видео. Событие считается последним, если пользователь: закрывает плеер, переключается на следующее видео
- VideoPlayerEngagementCompletedEvent
Событие происходит после закрытия плеера. Доступные свойства: - `total_duration: int` — Общее время просмотра всех видео в рамках одной сессии, в секундах - `maximum_duration: int` — Максимальное время просмотра одного видео, в секундах
- VideoPlayerSummaryWatchThresholdEvent GoogleApp Metrica
Event is triggered when watch progress becomes larger than some `threshold` value
- 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 Будет удалено в дальнейшем