mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Add analytics tracking for room creation (#1100)
This commit is contained in:
@@ -156,6 +156,7 @@ class CreateRoomViewModel: CreateRoomViewModelType, CreateRoomViewModelProtocol
|
|||||||
userIDs: state.selectedUsers.map(\.userID),
|
userIDs: state.selectedUsers.map(\.userID),
|
||||||
avatarURL: avatarURL) {
|
avatarURL: avatarURL) {
|
||||||
case .success(let roomId):
|
case .success(let roomId):
|
||||||
|
ServiceLocator.shared.analytics.trackCreatedRoom(isDM: false)
|
||||||
actionsSubject.send(.openRoom(withIdentifier: roomId))
|
actionsSubject.send(.openRoom(withIdentifier: roomId))
|
||||||
case .failure(let failure):
|
case .failure(let failure):
|
||||||
displayError(failure)
|
displayError(failure)
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ struct CreateRoomScreen: View {
|
|||||||
securitySection
|
securitySection
|
||||||
}
|
}
|
||||||
.elementFormStyle()
|
.elementFormStyle()
|
||||||
|
.track(screen: .createRoom)
|
||||||
.scrollDismissesKeyboard(.immediately)
|
.scrollDismissesKeyboard(.immediately)
|
||||||
.navigationTitle(L10n.screenCreateRoomTitle)
|
.navigationTitle(L10n.screenCreateRoomTitle)
|
||||||
.navigationBarTitleDisplayMode(.inline)
|
.navigationBarTitleDisplayMode(.inline)
|
||||||
|
|||||||
@@ -133,6 +133,7 @@ class StartChatScreenViewModel: StartChatScreenViewModelType, StartChatScreenVie
|
|||||||
showLoadingIndicator()
|
showLoadingIndicator()
|
||||||
switch await clientProxy.createDirectRoom(with: user.userID, expectedRoomName: user.displayName) {
|
switch await clientProxy.createDirectRoom(with: user.userID, expectedRoomName: user.displayName) {
|
||||||
case .success(let roomId):
|
case .success(let roomId):
|
||||||
|
ServiceLocator.shared.analytics.trackCreatedRoom(isDM: true)
|
||||||
actionsSubject.send(.openRoom(withIdentifier: roomId))
|
actionsSubject.send(.openRoom(withIdentifier: roomId))
|
||||||
case .failure(let failure):
|
case .failure(let failure):
|
||||||
displayError(failure)
|
displayError(failure)
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ struct StartChatScreen: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.elementFormStyle()
|
.elementFormStyle()
|
||||||
|
.track(screen: .startChat)
|
||||||
.scrollDismissesKeyboard(.immediately)
|
.scrollDismissesKeyboard(.immediately)
|
||||||
.navigationTitle(L10n.actionStartChat)
|
.navigationTitle(L10n.actionStartChat)
|
||||||
.navigationBarTitleDisplayMode(.inline)
|
.navigationBarTitleDisplayMode(.inline)
|
||||||
|
|||||||
@@ -125,4 +125,10 @@ extension Analytics {
|
|||||||
let event = AnalyticsEvent.MobileScreen(durationMs: milliseconds, screenName: screen.screenName)
|
let event = AnalyticsEvent.MobileScreen(durationMs: milliseconds, screenName: screen.screenName)
|
||||||
client.screen(event)
|
client.screen(event)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Track the creation of a room
|
||||||
|
/// - Parameter isDM: true if the created room is a direct message, false otherwise
|
||||||
|
func trackCreatedRoom(isDM: Bool) {
|
||||||
|
capture(event: AnalyticsEvent.CreatedRoom(isDM: isDM))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
Add analytics tracking for room creation
|
||||||
Reference in New Issue
Block a user