Sync analytics plan

This commit is contained in:
bmarty 2022-02-28 00:03:19 +00:00 committed by GitHub
parent b21a6fec4a
commit ce9c5564c0
4 changed files with 154 additions and 6 deletions

View File

@ -40,6 +40,16 @@ data class Interaction(
) : VectorAnalyticsEvent { ) : VectorAnalyticsEvent {
enum class Name { enum class Name {
/**
* User tapped on Add to Home button on Room Details screen.
*/
MobileRoomAddHome,
/**
* User tapped on Leave Room button on Room Details screen.
*/
MobileRoomLeave,
/** /**
* User tapped the already selected space from the space list. * User tapped the already selected space from the space list.
*/ */
@ -52,8 +62,8 @@ data class Interaction(
SpacePanelSwitchSpace, SpacePanelSwitchSpace,
/** /**
* User clicked the create room button in the + context menu of the room * User clicked the create room button in the add existing room to space
* list header in Element Web/Desktop. * dialog in Element Web/Desktop.
*/ */
WebAddExistingToSpaceDialogCreateRoomButton, WebAddExistingToSpaceDialogCreateRoomButton,
@ -153,6 +163,12 @@ data class Interaction(
*/ */
WebRoomListHeaderPlusMenuCreateRoomItem, WebRoomListHeaderPlusMenuCreateRoomItem,
/**
* User clicked the explore rooms button in the + context menu of the
* room list header in Element Web/Desktop.
*/
WebRoomListHeaderPlusMenuExploreRoomsItem,
/** /**
* User adjusted their favourites using the context menu on a room tile * User adjusted their favourites using the context menu on a room tile
* in the room list in Element Web/Desktop. * in the room list in Element Web/Desktop.
@ -189,6 +205,12 @@ data class Interaction(
*/ */
WebRoomListRoomsSublistPlusMenuCreateRoomItem, WebRoomListRoomsSublistPlusMenuCreateRoomItem,
/**
* User clicked the explore rooms button in the + context menu of the
* rooms sublist in Element Web/Desktop.
*/
WebRoomListRoomsSublistPlusMenuExploreRoomsItem,
/** /**
* User interacted with leave action in the general tab of the room * User interacted with leave action in the general tab of the room
* settings dialog in Element Web/Desktop. * settings dialog in Element Web/Desktop.
@ -214,14 +236,26 @@ data class Interaction(
WebSettingsSidebarTabSpacesCheckbox, WebSettingsSidebarTabSpacesCheckbox,
/** /**
* User clicked the create room button in the + context menu of the room * User clicked the explore rooms button in the context menu of a space
* list header in Element Web/Desktop. * in Element Web/Desktop.
*/
WebSpaceContextMenuExploreRoomsItem,
/**
* User clicked the home button in the context menu of a space in
* Element Web/Desktop.
*/
WebSpaceContextMenuHomeItem,
/**
* User clicked the new room button in the context menu of a space in
* Element Web/Desktop.
*/ */
WebSpaceContextMenuNewRoomItem, WebSpaceContextMenuNewRoomItem,
/** /**
* User clicked the create room button in the + context menu of the room * User clicked the new room button in the context menu on the space
* list header in Element Web/Desktop. * home in Element Web/Desktop.
*/ */
WebSpaceHomeCreateRoomButton, WebSpaceHomeCreateRoomButton,

View File

@ -44,6 +44,11 @@ data class JoinedRoom(
) : VectorAnalyticsEvent { ) : VectorAnalyticsEvent {
enum class Trigger { enum class Trigger {
/**
* Room joined via an invite.
*/
Invite,
/** /**
* Room joined via a push/desktop notification. * Room joined via a push/desktop notification.
*/ */
@ -54,6 +59,16 @@ data class JoinedRoom(
*/ */
RoomDirectory, RoomDirectory,
/**
* Room joined via its preview.
*/
RoomPreview,
/**
* Room joined via the /join slash command.
*/
SlashCommand,
/** /**
* Room joined via the space hierarchy view. * Room joined via the space hierarchy view.
*/ */

View File

@ -105,6 +105,11 @@ data class MobileScreen(
*/ */
Room, Room,
/**
* The room addresses screen shown from the Room Details screen.
*/
RoomAddresses,
/** /**
* The screen shown when tapping the name of a room from the Room * The screen shown when tapping the name of a room from the Room
* screen. * screen.
@ -132,6 +137,16 @@ data class MobileScreen(
*/ */
RoomNotifications, RoomNotifications,
/**
* The roles permissions screen shown from the Room Details screen.
*/
RoomPermissions,
/**
* Screen that displays room preview if user hasn't joined yet
*/
RoomPreview,
/** /**
* The screen that allows you to search for messages/files in a specific * The screen that allows you to search for messages/files in a specific
* room. * room.
@ -180,21 +195,67 @@ data class MobileScreen(
*/ */
Settings, Settings,
/**
* The advanced settings screen (developer mode, rageshake, push
* notification rules)
*/
SettingsAdvanced,
/** /**
* The settings screen to change the default notification options. * The settings screen to change the default notification options.
*/ */
SettingsDefaultNotifications, SettingsDefaultNotifications,
/**
* The settings screen with general profile settings.
*/
SettingsGeneral,
/**
* The Help and About screen
*/
SettingsHelp,
/**
* The settings screen with list of the ignored users.
*/
SettingsIgnoredUsers,
/**
* The experimental features settings screen,
*/
SettingsLabs,
/**
* The settings screen with legals information
*/
SettingsLegals,
/** /**
* The settings screen to manage notification mentions and keywords. * The settings screen to manage notification mentions and keywords.
*/ */
SettingsMentionsAndKeywords, SettingsMentionsAndKeywords,
/**
* The notifications settings screen.
*/
SettingsNotifications,
/**
* The preferences screen (theme, language, editor preferences, etc.
*/
SettingsPreferences,
/** /**
* The global security settings screen. * The global security settings screen.
*/ */
SettingsSecurity, SettingsSecurity,
/**
* The calls settings screen.
*/
SettingsVoiceVideo,
/** /**
* The sidebar shown on mobile with spaces, settings etc. * The sidebar shown on mobile with spaces, settings etc.
*/ */

View File

@ -25,6 +25,18 @@ import im.vector.app.features.analytics.itf.VectorAnalyticsEvent
* Triggered when the user changes rooms. * Triggered when the user changes rooms.
*/ */
data class ViewRoom( data class ViewRoom(
/**
* active space when user navigated to the room.
*/
val activeSpace: ActiveSpace? = null,
/**
* Whether the room is a DM.
*/
val isDM: Boolean? = null,
/**
* Whether the room is a Space.
*/
val isSpace: Boolean? = null,
/** /**
* The reason for the room change if known. * The reason for the room change if known.
*/ */
@ -179,10 +191,36 @@ data class ViewRoom(
Widget, Widget,
} }
enum class ActiveSpace {
/**
* Active space is Home.
*/
Home,
/**
* Active space is a meta space.
*/
Meta,
/**
* Active space is a private space.
*/
Private,
/**
* Active space is a public space.
*/
Public,
}
override fun getName() = "ViewRoom" override fun getName() = "ViewRoom"
override fun getProperties(): Map<String, Any>? { override fun getProperties(): Map<String, Any>? {
return mutableMapOf<String, Any>().apply { return mutableMapOf<String, Any>().apply {
activeSpace?.let { put("activeSpace", it.name) }
isDM?.let { put("isDM", it) }
isSpace?.let { put("isSpace", it) }
trigger?.let { put("trigger", it.name) } trigger?.let { put("trigger", it.name) }
viaKeyboard?.let { put("viaKeyboard", it) } viaKeyboard?.let { put("viaKeyboard", it) }
}.takeIf { it.isNotEmpty() } }.takeIf { it.isNotEmpty() }