[meta] Fetch SERP Telemetry from Remote Services Client
Categories
(Fenix :: Search, enhancement, P2)
Tracking
(Not tracked)
People
(Reporter: skhan, Assigned: skhan)
References
Details
(Keywords: meta, Whiteboard: [fxdroid])
SERP telemetry
The SERP telemetry is already delivered to desktop clients via Remote Settings. This means that we can generally easily add new cases to the telemetry handling as websites change.
Additionally if we need to make a change to partner codes, we can deliver a SERP telemetry update alongside a search configuration update which ensures that telemetry continues to be reported correctly.
Although our mobile platforms have SERP telemetry, the details of the configuration are hard-coded, as Remote Settings was not available to them at the time of implementation.
To avoid needing to update clients when we make partner code changes, we'll need to ensure that they use Remote Settings as well.
Currently, SERP (Search Engine Results Page) telemetry is implemented in android in a way that url matching and codes are all currently hard-coded. (https://searchfox.org/mozilla-mobile/rev/7562b185670145d7d36674fbaaf792bfc2ad3c63/firefox-android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/telemetry/BaseSearchTelemetry.kt#74-134). There's also a valid code set (https://searchfox.org/mozilla-mobile/rev/7562b185670145d7d36674fbaaf792bfc2ad3c63/firefox-android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/telemetry/Utils.kt#14-24) that's hard coded as well.
Drawback:
- When there is an update in search configuration, mobile has to make changes manually and generally lags behind desktop in doing so which causes a lack in sync for some (or huge) amount of time.
Ideally, we should get the SERP telemetry for mobile products pulling from remote settings. This would be useful for a few reasons:
- If search engines change how their sites work we can update everyone via remote settings without having to wait for a release / do a dot release.
- Once mobile has picked up the search-config, if for example, we do a configuration update, which changes code for an engine thereby producing a need to update SERP Telemetry as well, If that is in remote settings, then again, we can do that without needing to do a release.
Steps:
- Our first step would be to write a Helper class that connects to our new remote services client in ApplicationServices which fetches requests for collections in Remote Settings Server
- As a second step with the fetched collection (from step 1), we can integrate it with our current SERP Telemetry classes I.e BaseSearchTelemetry.kt
Once this is accomplished, android code will no longer have hard-coded values mentioned above, these will be fetched from remote services client and will be same as the existing desktop search-telemetry-v2 - they are pretty similar already. (https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/search-telemetry-v2/records)
Updated•2 years ago
|
Updated•2 years ago
|
Updated•1 years ago
|
Updated•1 years ago
|
Comment 2•1 year ago
|
||
The Android team has not been keeping our P1 bug list up to date, so we're resetting all our P1 bugs to P2 to avoid signalling that we're actively working on bugs that we're not. The BMO documentation https://wiki.mozilla.org/BMO/UserGuide/BugFields#priority says P1 means "fix in the current release cycle" and P2 means "fix in the next release cycle or the following (nightly + 1 or nightly + 2)".
If you are actively working on this bug and expect to ship it in Fx 122 or 123, then please restore the priority back to P1.
Description
•