-
Notifications
You must be signed in to change notification settings - Fork 98
Telemetry
For clients that have "send usage data" enabled, Rocket sends a "core" ping and an "event" ping to Mozilla's telemetry service. Sending telemetry can be disabled in the app's settings. Builds of "Firefox Rocket" have telemetry enabled by default ("opt-out"). Find events list in Event Ping section
We use Adjust SDK to evaluate the effectiveness of our campaign channel. What data has been collected can be found in the code here. The evaluation process is accomplished by 1. Receive INSTALL_REFERRER Intent from Google Play; 2. Send the referrer string back to adjust server(https://app.adjust.com) when the application is alive.
Starting from v2.1, Firefox Rocket also uses Google’s Firebase platform to help us improve performance, support crashes, understand your experience with Rocket and improve the user experience through A/B testing and in-product messaging. Below are the specific Firebase Products we use
- Google Analytics; to analyze anonymous user attributions and behavior to make informed decisions on our product roadmap.
- Remote Config; to customize your Rocket experience such as changing the look and feel, rolling out features gradually, running A/B tests, delivering customized content, or making other updates without deploying a new version.
- Cloud Messaging; to send messages and notifications so we can bring contextual hints to you to help you use Rocket better
- Crashlytics; to understand crashes better so you can use Rocket without problems
- Performance Monitoring; to diagnose app performance issues so we can keep Rocket really fast
Learn more about Firebase data collection here or you have the option to turn off Firebase by disabling “Send Usage Data” in your Settings. For events automatically collected by Firebase, see here
Firefox Rocket creates and tries to send a "core" ping whenever the app goes to the background. This core ping uses the same format as Firefox for Android and is documented on firefox-source-docs.mozilla.org.
In addition to the core ping an event ping for UI telemetry is generated and sent as soon as the app is sent to the background. The event ping contains a list of events with format. All the telemetry mechanism is leverage from the library telemetry-android which is also been used in Firefox Focus for Android.
After issue 3179, when users click on Top Sites, if they are preset by Mozilla, we'll collect the name of the Top Site so we can understand how useful our default Top Sites are.
As part of the event ping the most recent state of the user's setting is sent. See the full list. Default values in bold:
Setting | Key | Value |
---|---|---|
Locale override | pref_locale |
empty string/locale-code (*) |
Default Search engine | pref_search_engine | Search engine name |
Clear Browsing Data | pref_clear_browsing_data | pref_clear_browsing_history, pref_clear_form_history, pref_clear_cookies, pref_clear_cookies |
Save downloads to | pref_save_downloads_to | pref_saving_path_sd_card / pref_saving_path_internal_storage |
Default browser | pref_default_browser | true / false |
Current WebView/Chrome version | pref_webview_version | ex. 63.0.3239.111 |
Turbo Mode | pref_privacy_turbo_mode | |
Learn more on Turbo Mode | learn_more | |
Give Feedback | pref_give_feedback | |
Share with friends | pref_share_with_friends | |
Adjust Token . | pref_key_s_tracker_token | campaign id ex. 6xcds3 /f8c4ad |
(*) An empty string value indicates "System Default" locale is selected. |
To help us design a better Firefox Rocket Screenshot experience, with v3.1, we will start to collect the category of your screenshots based on the URL you took the screenshots on. The actual URL will not be shared and they will be categorized into these categories only:
- Search Engine
- Video
- Social Network
- Portal
- Portal (Articles)
- Shopping
- Collaborative
- Weblogs
- Banking
- Others
- An event ping will contain up to but no more than 500 events
- No more than 40 pings per type (core/event) are stored on disk for upload at a later time
- No more than 100 pings are sent per day
-
Event pings are generated (and stored on disk) whenever the onStop() callback of the main activity is triggered. This happens whenever the main screen of the app is no longer visible (The app is in the background or another screen is displayed on top of the app).
-
Whenever we are storing pings we are also scheduling an upload. We are using Android’s JobScheduler API for that. This allows the system to run the background task whenever it is convenient and certain criteria are met. The only criteria we are specifying is that we require an active network connection. In most cases, this job is executed immediately after the app is in the background.
-
Whenever an upload fails we are scheduling a retry. The first retry will happen after 30 seconds (or later if there’s no active network connection at this time). For further retries a exponential backoff policy is used: [30 seconds] * 2 ^ (num_failures - 1)
-
An earlier retry of the upload can happen whenever the app is coming to the foreground and sent to the background again (the previously scheduled job is reset and we are starting all over again).