From a33ab6b4638b2236308b1ff0370bf80012940d6a Mon Sep 17 00:00:00 2001 From: Alexandru2909 Date: Tue, 23 Aug 2022 10:10:21 +0300 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/26551 - Add telemetry for MR Onboarding welcome and sync dialogs. --- app/metrics.yaml | 114 ++++++++++++++++++ .../fenix/onboarding/view/Onboarding.kt | 28 ++++- 2 files changed, 139 insertions(+), 3 deletions(-) diff --git a/app/metrics.yaml b/app/metrics.yaml index 818cf629df..e5ba89f1f9 100644 --- a/app/metrics.yaml +++ b/app/metrics.yaml @@ -668,6 +668,120 @@ onboarding: metadata: tags: - Onboarding + welcome_card_impression: + type: event + description: + The welcome onboarding card was displayed to the user. + bugs: + - https://github.com/mozilla-mobile/fenix/issues/26551 + data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/26596 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: 119 + metadata: + tags: + - Onboarding + welcome_close_clicked: + type: event + description: + The user clicked the `X` button from the welcome onboarding card. + bugs: + - https://github.com/mozilla-mobile/fenix/issues/26551 + data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/26596 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: 119 + metadata: + tags: + - Onboarding + welcome_get_started_clicked: + type: event + description: + The user clicked the `Get started` button from the welcome onboarding + card. + bugs: + - https://github.com/mozilla-mobile/fenix/issues/26551 + data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/26596 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: 119 + metadata: + tags: + - Onboarding + sync_card_impression: + type: event + description: + The sync sign in onboarding card was displayed to the user. + bugs: + - https://github.com/mozilla-mobile/fenix/issues/26551 + data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/26596 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: 119 + metadata: + tags: + - Onboarding + sync_close_clicked: + type: event + description: + The user clicked the `X` button from the sync sign in onboarding card. + bugs: + - https://github.com/mozilla-mobile/fenix/issues/26551 + data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/26596 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: 119 + metadata: + tags: + - Onboarding + sync_sign_in_clicked: + type: event + description: + The user clicked the `Sign in` button from the sync sign in + onboarding card. + bugs: + - https://github.com/mozilla-mobile/fenix/issues/26551 + data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/26596 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: 119 + metadata: + tags: + - Onboarding + sync_skip_clicked: + type: event + description: + The user clicked the `Skip` button from the sign in onboarding card. + bugs: + - https://github.com/mozilla-mobile/fenix/issues/26551 + data_reviews: + - https://github.com/mozilla-mobile/fenix/pull/26596 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: 119 + metadata: + tags: + - Onboarding search_shortcuts: selected: diff --git a/app/src/main/java/org/mozilla/fenix/onboarding/view/Onboarding.kt b/app/src/main/java/org/mozilla/fenix/onboarding/view/Onboarding.kt index 29ad69c70a..3adb314508 100644 --- a/app/src/main/java/org/mozilla/fenix/onboarding/view/Onboarding.kt +++ b/app/src/main/java/org/mozilla/fenix/onboarding/view/Onboarding.kt @@ -40,10 +40,12 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.google.accompanist.insets.navigationBarsPadding import com.google.accompanist.insets.statusBarsPadding +import mozilla.telemetry.glean.private.NoExtras import org.mozilla.fenix.R import org.mozilla.fenix.compose.button.PrimaryButton import org.mozilla.fenix.compose.button.SecondaryButton import org.mozilla.fenix.theme.FirefoxTheme +import org.mozilla.fenix.GleanMetrics.Onboarding as OnboardingMetrics /** * Enum that represents the onboarding screen that is displayed. @@ -83,7 +85,16 @@ fun Onboarding( modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.End, ) { - IconButton(onClick = onDismiss) { + IconButton( + onClick = { + if (onboardingState == OnboardingState.Welcome) { + OnboardingMetrics.welcomeCloseClicked.record(NoExtras()) + } else { + OnboardingMetrics.syncCloseClicked.record(NoExtras()) + } + onDismiss() + } + ) { Icon( painter = painterResource(id = R.drawable.mozac_ic_close), contentDescription = null, @@ -99,6 +110,7 @@ fun Onboarding( onboardingState = onboardingState, isSyncSignIn = isSyncSignIn, onGetStartedButtonClick = { + OnboardingMetrics.welcomeGetStartedClicked.record(NoExtras()) if (isSyncSignIn) { onDismiss() } else { @@ -106,14 +118,24 @@ fun Onboarding( } }, ) + + OnboardingMetrics.welcomeCardImpression.record(NoExtras()) } else if (onboardingState == OnboardingState.SyncSignIn) { OnboardingSyncSignInContent() OnboardingSyncSignInBottomContent( onboardingState = onboardingState, - onSignInButtonClick = onSignInButtonClick, - onSkipButtonClick = onDismiss, + onSignInButtonClick = { + OnboardingMetrics.syncSignInClicked.record(NoExtras()) + onSignInButtonClick() + }, + onSkipButtonClick = { + OnboardingMetrics.syncSkipClicked.record(NoExtras()) + onDismiss() + } ) + + OnboardingMetrics.syncCardImpression.record(NoExtras()) } } }