TealiumConfig
Class: TealiumConfig
The TealiumConfig
class provides methods to set configuration options for the main Tealium
class. The following document summarizes the commonly used methods and properties of the TealiumConfig
class for Kotlin. Individual modules may also provide their own extensions for the TealiumConfig class if they are enabled - these are documented in the relevant module’s own document.
Method/Property | Description |
---|---|
consentExpiry |
Sets the expiration of the user consent selections |
consentManagerEnabled |
Optional Boolean to enable/disable Consent Management functionality |
consentManagerPolicy |
Optional ConsentPolicy to determine which consent functionality to adhere to |
consentManagerLoggingEnabled |
Optional Boolean to enable/disable logging of consent changes |
consentManagerLoggingUrl |
Optional String for the destination of any consent logging updates |
deepLinkTrackingEnabled |
Enables or disables automatic tracking of deep links |
hostedDataLayerMaxCacheTimeMinutes |
Sets an expiration on the hosted data layer data |
hostedDataLayerEventMappings |
Sets the event mappings used by the hosted data layer module when looking up data layer IDs |
logLevel |
Sets the log level property, which controls how much information is logged |
TealiumConfig |
Constructor method that creates a TealiumConfig instance |
consentExpiry
Sets the expiration time of the user consent selections. Set this property prior to Tealium initialization. The default expiration times for consent selections are:
- CCPA: 395 days
- GDPR: 365 days
The following sets the consent expiry to 90 days.
config.consentExpiry = ConsentExpiry(90, TimeUnit.DAYS)
consentManagerEnabled
Sets whether the ConsentManager module is enabled or not. It is also required to set a Policy via consentManagerPolicy
.
config.consentManagerEnabled = true // enable
consentManagerPolicy
Sets the ConsentPolicy
that is adhered to within the app. This policy controls whether or not Dispatches are queued and dropped throughout the SDK in accordance with the relevant legal requirements.
config.consentManagerPolicy = ConsentPolicy.GDPR
consentManagerLoggingEnabled
Sets whether changes in consent preferences need to be sent to a remote server to be recorded.
config.consentManagerLoggingEnabled = true
consentManagerLoggingUrl
Sets the URL used when logging consent preference changes.
config.consentManagerLoggingUrl = url
deepLinkTrackingEnabled
Enables or disables automatic tracking of standard deep links, such as links to the app from Facebook or other sources, as well as QR trace. Enabled by default.
config.deepLinkTrackingEnabled = true
hostedDataLayerMaxCacheTimeMinutes
Sets an expiration on the hosted data layer data. If this property isn’t set, hosted data layer items persist for 7 days by default, and are re-downloaded from the CDN once this period has expired.
hostedDataLayerMaxCacheTimeMinutes = 30
If your hosted data layer is frequently updated, setting a lower value may impact battery life due to increased network requests.
hostedDataLayerEventMappings
Sets the hosted data layer keys (lookup variables) used by the hosted data layer module when retrieving data layer IDs. The key is the value in the tealium_event
key of a dispatch.
hostedDataLayerEventMappings = mapOf("pdp" to "product_id")
logLevel
Sets the log level property, which controls how much information is logged, to one of the following values:
Log Level | Log Activity Description |
---|---|
DEV |
Debug-level events used for debugging an application (recommended for development environment) |
QA |
Informational events that highlight the progress of the application |
PROD |
Error events such as critical errors and failures |
SILENT |
No logging |
Logger.logLevel = LogLevel.DEV
View your development logs in the Android Studio using LogCat. View your production logs with LogCat app by connecting your Android device.
TealiumConfig
Constructor method that creates a TealiumConfig
instance.
val config = TealiumConfig(
application,
account,
profile,
environment);
The TealiumConfig
instance is configured with the following parameters:
Parameters | Type | Description | Example |
---|---|---|---|
application |
Application |
The application instance | applicationObj |
account |
String |
Tealium account name | "companyXYZ" |
profile |
String |
Tealium profile name | "main" |
environment |
String |
Tealium environment name | Environment.PROD |
The following is an example:
// Assuming execution is within Application.onCreate()
val config = TealiumConfig(this, "ACCOUNT_NAME", "PROFILE_NAME", Environment.PROD)
// Add required Dispatchers
config.dispatchers.addAll(setOf(CollectDispatcher, TagManagementDispatcher))
// Add required Modules
config.modules.add(VisitorService)
timedEventTriggers
A list of EventTrigger
objects for automatically tracking timed events.
val config = TealiumConfig(…).apply {
timedEventTriggers = mutableListOf(
EventTrigger.forEventName(
start_event,
stop_event,
timed_event_name)
)
}
The following are EventTrigger
parameters:
Parameter | Type | Description |
---|---|---|
start_event |
String |
Name of the TealiumEvent to start the timed event |
stop_event |
String |
Name of the TealiumEvent to stop the timed event |
timed_event_name |
String? |
(Optional) Name of timed event (default: "start_event::stop_event" ) |