* Bug 1817245 - new Nimbus feature for controlling client-deduplication ping
This feature will enable/disable the sending of the `client-deduplication`
ping that will be added in a later PR.
* Bug 1817029 - Add the client-deduplication ping
The `client-deduplication` ping will be used to determine if
client IDs are being regenerated erroneously. This ping uses
the lifecycle observers to (almost) replicate the same scheduling
as the baseline ping.
* Bug 1817029 - Suggested changes
changelog
- add `reason` for new ping
- update the unit test for the new ping
- add new metrics
- allow for custom salt when hashing the Ad ID
- move the Nimbus check to the lifecycle observer
- record the new metrics
* Bug 1817029 - Update fenix/.experimenter.yaml
Co-authored-by: Alessio Placitelli <alessio.placitelli@gmail.com>
* Bug 1817029 - remove unnecessary pass-through function
* Bug 1817029 - add the GleanTestRule for tests
* Bug 1817029 - Update fenix/app/src/test/java/org/mozilla/fenix/components/metrics/clientdeduplication/ClientDeduplicationPingTest.kt
Co-authored-by: Travis Long <tlong@mozilla.com>
* Bug 1817029 - remove unnecessary call to main thread
* Bug 1817029 - update comment about hashing
---------
Co-authored-by: Alessio Placitelli <alessio.placitelli@gmail.com>
Co-authored-by: Travis Long <tlong@mozilla.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
With the new telemetry will immediately report when a certain Pocket sponsored
story is shown (visible more than 50%) or clicked by the user.
The reasons for the new ping help easily identify the probe being sent and the
type of shim data.
We do this in order to make it easier to analyze in GLAM: see the metric
descriptions for more details.
Additionally, we change the time unit to milliseconds to make it easier
to analyze in GLAM.
Earlier versions of Glean supported bug numbers of the metadata, but this causes
ambiguity, particularly for Fenix where issues exist in both Bugzilla and
Github. This just updates the Bugzilla numbers to full URLs.
We made the use of numbers an error sometime ago, but neglected to enforce this
on "pings" in addition to "metrics". A future version of `glean_parser` [1] will make
this an error and this will set Fenix up to be ready for that.
[1] https://github.com/mozilla/glean_parser/pull/262
This fetches the Google Advertising ID, salts it and
then applies hashing before sending a ping with it,
at startup. Hashing and salting are used in order
to prevent ourselves to correlate advertising IDs
from the same user running different products we
own off a single device. We will never send the
client_id and the Google Advertising ID in the same
ping.