mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-3646 Onboarding | Email analytics (#2401)
This commit is contained in:
parent
9da4bc43b7
commit
ebf1db3a6f
3 changed files with 28 additions and 3 deletions
|
@ -172,6 +172,8 @@ object EventsDictionary {
|
|||
const val screenOnboarding = "ScreenOnboarding"
|
||||
const val clickOnboarding = "ClickOnboarding"
|
||||
const val clickLogin = "ClickLogin"
|
||||
const val screenOnboardingEnterEmail = "ScreenOnboardingEnterEmail"
|
||||
const val screenOnboardingSkipEmail = "ScreenOnboardingSkipEmail"
|
||||
|
||||
//Primitives
|
||||
const val logScreenEditType = "ScreenEditType"
|
||||
|
@ -298,7 +300,8 @@ object EventsDictionary {
|
|||
enum class ScreenOnboardingStep(val value: String) {
|
||||
VAULT("Vault"),
|
||||
SOUL("Soul"),
|
||||
PHRASE("Phrase")
|
||||
PHRASE("Phrase"),
|
||||
EMAIL("Email")
|
||||
}
|
||||
|
||||
enum class ClickOnboardingButton(val value: String) {
|
||||
|
|
|
@ -52,7 +52,6 @@ import com.anytypeio.anytype.core_ui.views.OnBoardingButtonSecondary
|
|||
import com.anytypeio.anytype.core_ui.views.PreviewTitle1Regular
|
||||
import com.anytypeio.anytype.core_ui.views.UXBody
|
||||
import com.anytypeio.anytype.presentation.onboarding.signup.OnboardingSetProfileNameViewModel
|
||||
import kotlin.also
|
||||
import kotlin.text.isNotEmpty
|
||||
|
||||
@Composable
|
||||
|
@ -62,6 +61,10 @@ fun SetEmailWrapper(
|
|||
space: Id,
|
||||
onBackClicked: () -> Unit,
|
||||
) {
|
||||
LaunchedEffect(Unit) {
|
||||
viewModel.sendAnalyticsOnboardingEmailScreen()
|
||||
}
|
||||
|
||||
OnboardingEmailScreen(
|
||||
onContinueClicked = { email ->
|
||||
viewModel.onEmailContinueClicked(
|
||||
|
|
|
@ -252,6 +252,15 @@ class OnboardingSetProfileNameViewModel @Inject constructor(
|
|||
}
|
||||
|
||||
//region Email screen
|
||||
fun sendAnalyticsOnboardingEmailScreen() {
|
||||
viewModelScope.launch {
|
||||
sendAnalyticsOnboardingScreenEvent(
|
||||
analytics = analytics,
|
||||
step = EventsDictionary.ScreenOnboardingStep.EMAIL
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun onEmailContinueClicked(
|
||||
email: String,
|
||||
space: Id,
|
||||
|
@ -274,6 +283,11 @@ class OnboardingSetProfileNameViewModel @Inject constructor(
|
|||
sendToast(LOADING_MSG)
|
||||
return
|
||||
}
|
||||
viewModelScope.launch {
|
||||
analytics.sendEvent(
|
||||
eventName = EventsDictionary.screenOnboardingSkipEmail
|
||||
)
|
||||
}
|
||||
state.value = ScreenState.Loading
|
||||
proceedWithNavigation(space, startingObject)
|
||||
}
|
||||
|
@ -313,7 +327,12 @@ class OnboardingSetProfileNameViewModel @Inject constructor(
|
|||
)
|
||||
viewModelScope.launch {
|
||||
setMembershipEmail.async(params).fold(
|
||||
onSuccess = { Timber.d("Email set successfully") },
|
||||
onSuccess = {
|
||||
Timber.d("Email set successfully")
|
||||
analytics.sendEvent(
|
||||
eventName = EventsDictionary.screenOnboardingEnterEmail
|
||||
)
|
||||
},
|
||||
onFailure = { error ->
|
||||
Timber.e(error, "Error setting email")
|
||||
if (BuildConfig.DEBUG) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue