Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

For #5583 - Adds telemetry for download notification #6554

Merged
merged 1 commit into from
Nov 15, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
79 changes: 79 additions & 0 deletions app/metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1543,3 +1543,82 @@ experiments.metrics:
notification_emails:
- mcooper@mozilla.com
expires: 2019-11-01

download_notification:
resume:
type: event
description: >
A user resumed a download in the download notification
bugs:
- https://github.com/mozilla-mobile/fenix/issues/5583
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/6554
notification_emails:
- fenix-core@mozilla.com
expires: "2020-03-01"
pause:
type: event
description: >
A user paused a download in the download notification
bugs:
- https://github.com/mozilla-mobile/fenix/issues/5583
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/6554
notification_emails:
- fenix-core@mozilla.com
expires: "2020-03-01"
cancel:
type: event
description: >
A user cancelled a download in the download notification
bugs:
- https://github.com/mozilla-mobile/fenix/issues/5583
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/6554
notification_emails:
- fenix-core@mozilla.com
expires: "2020-03-01"
try_again:
type: event
description: >
A user tapped on try again when a download fails in the download notification
bugs:
- https://github.com/mozilla-mobile/fenix/issues/5583
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/6554
notification_emails:
- fenix-core@mozilla.com
expires: "2020-03-01"
open:
type: event
description: >
A user opened a downloaded file in the download notification
bugs:
- https://github.com/mozilla-mobile/fenix/issues/5583
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/6554
notification_emails:
- fenix-core@mozilla.com
expires: "2020-03-01"
in_app_open:
type: event
description: >
A user opened a downloaded file in the in-app notification link
bugs:
- https://github.com/mozilla-mobile/fenix/issues/5583
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/6554
notification_emails:
- fenix-core@mozilla.com
expires: "2020-03-01"
in_app_try_again:
type: event
description: >
A user tapped on try again when a download fails in the in-app notification link
bugs:
- https://github.com/mozilla-mobile/fenix/issues/5583
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/6554
notification_emails:
- fenix-core@mozilla.com
expires: "2020-03-01"
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import org.mozilla.fenix.GleanMetrics.Collections
import org.mozilla.fenix.GleanMetrics.ContextMenu
import org.mozilla.fenix.GleanMetrics.CrashReporter
import org.mozilla.fenix.GleanMetrics.CustomTab
import org.mozilla.fenix.GleanMetrics.DownloadNotification
import org.mozilla.fenix.GleanMetrics.ErrorPage
import org.mozilla.fenix.GleanMetrics.Events
import org.mozilla.fenix.GleanMetrics.FindInPage
Expand Down Expand Up @@ -383,6 +384,27 @@ private val Event.wrapper: EventWrapper<*>?
is Event.MediaStopState -> EventWrapper<NoExtraKeys>(
{ MediaState.stop.record(it) }
)
is Event.InAppNotificationDownloadOpen -> EventWrapper<NoExtraKeys>(
{ DownloadNotification.inAppOpen.record(it) }
)
is Event.InAppNotificationDownloadTryAgain -> EventWrapper<NoExtraKeys>(
{ DownloadNotification.inAppTryAgain.record(it) }
)
is Event.NotificationDownloadCancel -> EventWrapper<NoExtraKeys>(
{ DownloadNotification.cancel.record(it) }
)
is Event.NotificationDownloadOpen -> EventWrapper<NoExtraKeys>(
{ DownloadNotification.open.record(it) }
)
is Event.NotificationDownloadPause -> EventWrapper<NoExtraKeys>(
{ DownloadNotification.pause.record(it) }
)
is Event.NotificationDownloadResume -> EventWrapper<NoExtraKeys>(
{ DownloadNotification.resume.record(it) }
)
is Event.NotificationDownloadTryAgain -> EventWrapper<NoExtraKeys>(
{ DownloadNotification.tryAgain.record(it) }
)
is Event.NotificationMediaPlay -> EventWrapper<NoExtraKeys>(
{ MediaNotification.play.record(it) }
)
Expand Down
39 changes: 24 additions & 15 deletions app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import mozilla.components.browser.search.SearchEngine
import mozilla.components.browser.toolbar.facts.ToolbarFacts
import mozilla.components.feature.contextmenu.facts.ContextMenuFacts
import mozilla.components.feature.customtabs.CustomTabsFacts
import mozilla.components.feature.downloads.facts.DownloadsFacts
import mozilla.components.feature.findinpage.facts.FindInPageFacts
import mozilla.components.feature.media.facts.MediaFacts
import mozilla.components.support.base.Component
Expand Down Expand Up @@ -117,6 +118,13 @@ sealed class Event {
object MediaPlayState : Event()
object MediaPauseState : Event()
object MediaStopState : Event()
object InAppNotificationDownloadOpen : Event()
object InAppNotificationDownloadTryAgain : Event()
object NotificationDownloadCancel : Event()
object NotificationDownloadOpen : Event()
object NotificationDownloadPause : Event()
object NotificationDownloadResume : Event()
object NotificationDownloadTryAgain : Event()
object NotificationMediaPlay : Event()
object NotificationMediaPause : Event()
object TrackingProtectionTrackerList : Event()
Expand Down Expand Up @@ -332,28 +340,29 @@ private fun Fact.toEvent(): Event? = when (Pair(component, item)) {
Component.FEATURE_CUSTOMTABS to CustomTabsFacts.Items.CLOSE -> Event.CustomTabsClosed
Component.FEATURE_CUSTOMTABS to CustomTabsFacts.Items.ACTION_BUTTON -> Event.CustomTabsActionTapped

Component.FEATURE_DOWNLOADS to DownloadsFacts.Items.NOTIFICATION -> {
when (action) {
Action.CANCEL -> Event.NotificationDownloadCancel
Action.OPEN -> Event.NotificationDownloadOpen
Action.PAUSE -> Event.NotificationDownloadPause
Action.RESUME -> Event.NotificationDownloadResume
Action.TRY_AGAIN -> Event.NotificationDownloadTryAgain
else -> null
}
}

Component.FEATURE_MEDIA to MediaFacts.Items.NOTIFICATION -> {
when (action) {
Action.PLAY -> {
Event.NotificationMediaPlay
}
Action.PAUSE -> {
Event.NotificationMediaPause
}
Action.PLAY -> Event.NotificationMediaPlay
Action.PAUSE -> Event.NotificationMediaPause
else -> null
}
}
Component.FEATURE_MEDIA to MediaFacts.Items.STATE -> {
when (action) {
Action.PLAY -> {
Event.MediaPlayState
}
Action.PAUSE -> {
Event.MediaPauseState
}
Action.STOP -> {
Event.MediaStopState
}
Action.PLAY -> Event.MediaPlayState
Action.PAUSE -> Event.MediaPauseState
Action.STOP -> Event.MediaStopState
else -> null
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ import mozilla.components.browser.state.state.content.DownloadState
import mozilla.components.feature.downloads.AbstractFetchDownloadService
import mozilla.components.feature.downloads.toMegabyteString
import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.ext.metrics
import org.mozilla.fenix.theme.ThemeManager

class DownloadNotificationBottomSheetDialog(
Expand All @@ -42,6 +44,7 @@ class DownloadNotificationBottomSheetDialog(
)
setOnClickListener {
tryAgain(download.id)
context.metrics.track(Event.InAppNotificationDownloadTryAgain)
dismiss()
}
}
Expand All @@ -66,6 +69,7 @@ class DownloadNotificationBottomSheetDialog(
contentType = download.contentType,
filePath = download.filePath
)
context.metrics.track(Event.InAppNotificationDownloadOpen)
dismiss()
}
}
Expand Down
7 changes: 7 additions & 0 deletions docs/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,13 @@ The following metrics are added to the ping:
| custom_tab.action_button |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user pressed the action button provided by the launching app |[1](https://github.com/mozilla-mobile/fenix/pull/1697)||2020-03-01 |
| custom_tab.closed |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user closed the custom tab |[1](https://github.com/mozilla-mobile/fenix/pull/1697)||2020-03-01 |
| custom_tab.menu |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user opened the custom tabs menu |[1](https://github.com/mozilla-mobile/fenix/pull/1697)||2020-03-01 |
| download_notification.cancel |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user cancelled a download in the download notification |[1](https://github.com/mozilla-mobile/fenix/pull/6554)||2020-03-01 |
| download_notification.in_app_open |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user opened a downloaded file in the in-app notification link |[1](https://github.com/mozilla-mobile/fenix/pull/6554)||2020-03-01 |
| download_notification.in_app_try_again |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user tapped on try again when a download fails in the in-app notification link |[1](https://github.com/mozilla-mobile/fenix/pull/6554)||2020-03-01 |
| download_notification.open |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user opened a downloaded file in the download notification |[1](https://github.com/mozilla-mobile/fenix/pull/6554)||2020-03-01 |
| download_notification.pause |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user paused a download in the download notification |[1](https://github.com/mozilla-mobile/fenix/pull/6554)||2020-03-01 |
| download_notification.resume |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user resumed a download in the download notification |[1](https://github.com/mozilla-mobile/fenix/pull/6554)||2020-03-01 |
| download_notification.try_again |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user tapped on try again when a download fails in the download notification |[1](https://github.com/mozilla-mobile/fenix/pull/6554)||2020-03-01 |
| error_page.visited_error |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user encountered an error page |[1](https://github.com/mozilla-mobile/fenix/pull/2491#issuecomment-492414486)|<ul><li>error_type: The error type of the error page encountered</li></ul>|2020-03-01 |
| events.app_opened |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user opened the app |[1](https://github.com/mozilla-mobile/fenix/pull/1067#issuecomment-474598673)|<ul><li>source: The method used to open Fenix. Possible values are: `app_icon`, `custom_tab` or `link`</li></ul>|2020-03-01 |
| events.browser_menu_action |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A browser menu item was tapped |[1](https://github.com/mozilla-mobile/fenix/pull/1214#issue-264756708), [2](https://github.com/mozilla-mobile/fenix/pull/5098#issuecomment-529658996), [3](https://github.com/mozilla-mobile/fenix/pull/6310)|<ul><li>item: A string containing the name of the item the user tapped. These items include: Settings, Library, Help, Desktop Site toggle on/off, Find in Page, New Tab, Private Tab, Share, Report Site Issue, Back/Forward button, Reload Button, Quit, Reader Mode On, Reader Mode Off, Open In App </li></ul>|2020-03-01 |
Expand Down