Bug 1822283 - Fix race condition for Ad IDs

There is a race condition with generated hashed Ad IDs because we were
using a single metric rather than separate metrics for each. We use this
new metric so we can send a differently salted version of the ad ID in
two separate pings.
fenix/113.0
Bruno Rosa 2 years ago committed by Ryan VanderMeulen
parent c3c0a6062c
commit 67d324569b

@ -2988,7 +2988,6 @@ activation:
This will never be sent in a ping that also contains the client_id.
send_in_pings:
- activation
- client-deduplication
bugs:
- https://bugzilla.mozilla.org/1538011
- https://bugzilla.mozilla.org/1501822
@ -9087,6 +9086,23 @@ client_deduplication:
- android-probes@mozilla.com
- fbertsch@mozilla.com
expires: 122
hashed_gaid:
type: string
lifetime: ping
description: |
A hashed and salted version of the Google Advertising ID from the device.
send_in_pings:
- client-deduplication
bugs:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1817029
data_reviews:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1813195#c11
data_sensitivity:
- interaction
notification_emails:
- android-probes@mozilla.com
- fbertsch@mozilla.com
expires: 122
private_browsing_shortcut_cfr:
add_shortcut:

@ -8,7 +8,6 @@ import android.content.Context
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.mozilla.fenix.GleanMetrics.Activation
import org.mozilla.fenix.GleanMetrics.ClientDeduplication
import org.mozilla.fenix.GleanMetrics.Pings
import org.mozilla.fenix.components.metrics.MetricsUtils.getHashedIdentifier
@ -29,7 +28,7 @@ class ClientDeduplicationPing(private val context: Context) {
// Record the metrics.
if (hashedId != null) {
// We have a valid, hashed Google Advertising ID.
Activation.identifier.set(hashedId)
ClientDeduplication.hashedGaid.set(hashedId)
ClientDeduplication.validAdvertisingId.set(true)
} else {
ClientDeduplication.validAdvertisingId.set(false)

Loading…
Cancel
Save