Data We Collect as Part of the Digital Wellbeing Initiative

📝 Participating is voluntary, off by default, and you can request your data or leave anytime. We want to be as transparent as possible about the initiative. To request your data, please open Niagara Launcher's settings > Advanced > Analytics > Digital Wellbeing Initiative > Request my data.

When you use the automated download your data function, you will receive a file in JSON format. JSON stands for JavaScript Object Notation and is a structured, commonly used format capable of being understood by both computers and human beings. JSON files can be opened easily in Notepad, or you can drag and drop them into a browser like Chrome or Firefox. 

Our JSON file contains an array of usage reports. Niagara Launcher generates a usage report approximately once a day. It includes all data collected after participating in the digital wellbeing initiative and is not already in another usage report.

Each usage report contains metadata fields (like when the report was generated) and arrays of entries for your home screen categories, your app launches, received notifications, activities, and answered surveys. We'll go through each field of the usage report and its entries and explain its purpose.

  • usageId: String - a randomly generated unique identifier for your device Niagara Launcher is installed on. Resets when you uninstall Niagara Launcher or when you disable analytics.
  • versionCode: Integer - Each version of Niagara Launcher has its own version code. For example, Niagara Launcher v1.3.0 has the internal version code 470.
  • uploadTime: Integer - When the report was uploaded, to check if the user's clock is synchronized
  • startTime: Integer - All of the report entries' timestamps are greater or equal to the value of this field.
  • endTime: Integer - All of the report entries' timestamps are lesser than the value of this field.
  • timeZoneOffset: The time zone offset for the uploadTime field.
  • flags: String array - Field contains
    • proUnlocked if you purchased Niagara Pro.
    • notificationSummaryEnabled if you enabled the notification summary feature.

Home Screen Category Entries

This field tells us how you categorize your apps/shortcuts/widgets/folders on your home screen. For example, all apps you added to your favorites will be listed here.

  • packageName: String - Id of the item's corresponding app
  • className: String - Id of the item, along with packageName.
  • infoType: String - The type of item. It can be app, shortcut, or widget.
  • category: String - The category where this item is added to.

Launches

This field contains an entry for each app launch from your home screen.

  • packageName: String - Primary id of the item that was launched
  • className: String - Along with the package name, this identifies the item on your home screen from where you launched the app.
  • infoType: String - Type of item from where you launched the app. Can be app, shortcut, or widget.
  • time: Integer - Timestamp of when the launch occurred.
  • timeZoneOffset: Integer - Time zone offset of the time field.
  • flags: String array - Field contains
    • screenHome if you launched the app from your home screen.
    • screenAllApps if you launched the app from your all apps list.
    • screenSearch if you launched an item from search.
    • screenMisc if you launched the app from any other screen.
    • launchedFromPopUp if you launched the app from a pop-up.
    • notificationAttached if the launched app displayed at a notification while it was being launched.
    • isSuggestion You launched the app from Niagara's suggestions that show up below your favorites.

This field contains an entry for each notification you received, and that was already removed either by you, an app, or the system. Does not include any of the notifications' content.

  • packageName: String - The id of the app that sent a notification.
  • postTime: Integer - Timestamp of when the notification was sent.
  • removalTime: Integer - Timestamp of when the notification was removed, either by you, the system, or an app.
  • timeZoneOffset: Integer - Time zone offset of the removal time field.
  • removeReason: String - Reason why the notification was removed. You can find all remove reasons at the bottom of this page.
  • category: String - The type of notification you received (e.g., message, email, alarm). Corresponds to Android's notification category field.
  • userSentiment: String - How Android thinks you feel about the notification. Can be negative, neutral, or positive.
  • importance: String - The importance of the notification, which dictates where it's shown and if it should make a sound. Can be min (Only shows in the shade, below the fold), low (Shows in the shade, and potentially in the status bar), default (shows everywhere, makes noise, but does not visually intrude), high (shows everywhere, makes noise and peeks).
  • flags: String array - Field contains
    • isDismissable if you could dismiss the notification.
    • isInNotificationGroup if the notification can be bundled in a group.
    • shownAsBubble if the notification appeared as a bubble (Android 11+ feature).
    • shownOnHomeScreen if the notification should be displayed on home screens.
    • isGroupConversation if the notification contains a group conversation.
    • isConversation if the notification contains a conversation.
    • hasUserSetImportance if you have chosen the notification's importance.
    • isGroupSummary if the notification summarizes other notifications.
    • layoutUnsupported if Niagara Launcher cannot display the notification because its layout is unsupported.

Activities

This field tells us when you're using your phone and physical activities.

  • type: String - Can be phoneInteractive (The phone has become interactive) or morningModeActive (morning mode was activated)
  • startTime: Integer - Timestamp of when the activity started.
  • duration: Integer - The length of the activity in ms.
  • timeZoneOffset: Integer - The time zone offset of the startTime field.

Survey Results

This field contains an entry for each survey you answered in Niagara Launcher.

  • questionType: String - The type of question that you answered.
  • questionReference: String - This field can be set if the question refers to a particular event.
  • answer: String - Your answer to the survey question.
  • time: Integer - The timestamp of when you answered the survey.
  • timeZoneOffset: Integer - The time zone offset of the time field.

Special Types Explained

  • Timestamp: Represents a point in time given in the number of milliseconds that have elapsed since the Unix epoch (Jan 1st, 1970).
  • TimezoneOffset: This field contains your timezone to calculate your local time. This lets us see, for example, at which time of day you received a notification. This is the difference in milliseconds from Coordinated Universal Time (UTC) for your region and the date when an event was logged.
  • Flags: An array of strings where each entry represents a boolean field that is true.
  • PackageName: This serves as an identifier for apps. Each app has a package name. The package name for Niagara Launcher is bitpit.launcher, for example. The easiest way to get the package name of a particular app (published on Google Play) is to go to the app's Google Play Store page in your browser and then look at its URL. It will contain the parameter "id," which tells us the package name. For example, here's the URL of Niagara Launcher's page on Google Play: https://play.google.com/store/apps/details?id=bitpit.launcher. This field is not always set and can be empty to protect your privacy.
  • ClassName: Along with the package name, the class name identifies an item on your home screen. The package name alone isn't sufficient because you can have multiple items (e.g., shortcuts or widgets) of the same app on your home screen. This field is not always set and can be empty to protect your privacy.
  • RemoveReason: Reason why a notification was removed. Is one of the following:
    • niagaraClick: Notification was canceled by Niagara Launcher reporting a notification click.
    • niagaraCancel: Notification was canceled by Niagara Launcher reporting a user dismissal.
    • niagaraBatchScheduled: Notification was canceled by Niagara Launcher to deliver it in a batch.
    • niagaraBatchClick: Notification was canceled by Niagara Launcher reporting a notification click in the batch dialog.
    • niagaraBatchCancel: Notification was canceled by Niagara Launcher reporting a user dismissal in the batch dialog.
    • niagaraBatchCancelAll: Notification was canceled by Niagara Launcher reporting a user dismiss all in the batch dialog.
    • misc: Notification was canceled for an unknown reason.
    • click: Notification was canceled by the status bar reporting a notification click.
    • cancel: Notification was canceled by the status bar reporting a user dismissal.
    • cancelAll: Notification was canceled by the status bar reporting a user dismiss all.
    • packageBanned: Notification was canceled by the user banning the package. (User disabled all notifications for package.)
    • appCancel: Notification was canceled by the app canceling this specific notification.
    • appCancelAll: Notification was canceled by the app cancelling all its notifications.
    • listenerCancel: Notification was canceled by a listener reporting a user dismissal.
    • listenerCancelAll: Notification was canceled by a listener reporting a user dismiss all.
    • groupSummaryCanceled: Notification was canceled because it was a member of a canceled group.
    • groupOptimization: Notification was canceled because it was an invisible member of a group.
    • profileTurnedOff: Notification was canceled by the owning managed profile being turned off.
    • unautobundled: Autobundled summary notification was canceled because its group was unbundled.
    • channelBanned: Notification was canceled by the user banning the channel. (User disabled notifications of notification channel.)
    • snoozedByUser: Notification was snoozed.
    • timeout: Notification was canceled due to timeout.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us