Telemetry configuration
The Extended flavor of Maps and Navigation SDK for Android is only available upon request. Contact us to get started.
The Navigation SDK can send telemetry data to TomTom. This helps us improve the SDK user experience. The Telemetry module allows the configuration of data collection.
In this guide, you will learn how to configure the Telemetry module and adjust the user consent level.
Project setup
Configure the project as described in the Project setup guide. Then add the following dependencies to the build.gradle.kts file of your application module and synchronize the project as shown in the following example:
val version = "2.1.2"implementation("com.tomtom.sdk.telemetry:telemetry:$version")
Basic configuration
You can use the Telemetry object to configure what telemetry data the SDK sends. Initialize the Telemetry object before you start the TomTomNavigation. To initialize the Telemetry object, you must provide an instance of DefaultTelemetryConfigProvider, set with the API key.
Telemetry.initialize(context, DefaultTelemetryConfigProvider(context, "TOMTOM_API_KEY"))
Telemetry initialization can only be done once. Every subsequent attempt to initialize the Telemetry is ignored.
User consent
You can enable or disable data collection for an end user by setting the userConsent property.
None results in the SDK sending no telemetry data. This is the default value.
Anonymized allows the SDK to send only limited telemetry data across some services. A temporary pseudonymous identifier is used, ensuring anonymity.
Pseudonymized enables the SDK to send telemetry data across all services, using a temporary pseudonymous identifier to correlate events. Security measures include rotating pseudonymous IDs and hashing them. The decryption keys are discarded after a short period to prevent re-identification. This level offers the best balance between user privacy and platform observability. TomTom can associate events with routes, but cannot identify individual users or link data to personal or billing information.
Personalized results in the SDK sending the telemetry data, including any available personal or billing information.
All consent levels are compliant with GDPR and other applicable data protection regulations.
Telemetry.userConsent = Consent.Personalized
Unless agreed differently in the contract, we ask our customers to only enable an end user to use the Traffic services if the user simultaneously consents to the telemetry data collection.