Skip to content

Commit

Permalink
Enable lifecycle autotracking by default (close #651)
Browse files Browse the repository at this point in the history
PR #670
  • Loading branch information
matus-tomlein committed Feb 1, 2024
1 parent bb1d65f commit 9e5a3b9
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 8 deletions.
Expand Up @@ -24,7 +24,6 @@ object Tracking {
val trackerConfig = TrackerConfiguration("appID")
.logLevel(LogLevel.DEBUG)
.screenViewAutotracking(false)
.lifecycleAutotracking(true)
val emitterConfig = EmitterConfiguration().bufferOption(BufferOption.Single)

return Snowplow.createTracker(
Expand All @@ -48,7 +47,8 @@ object Tracking {
entities: List<SelfDescribingJson>? = null,
) {
LaunchedEffect(Unit, block = {
val event = ScreenView(screenName).entities(entities)
val event = ScreenView(screenName)
entities?.let { event.entities(it) }
Snowplow.defaultTracker?.track(event)
})
}
Expand Down
Expand Up @@ -125,6 +125,7 @@ class StateManagerTest {
tracker.screenContext = true
tracker.sessionContext = false
tracker.platformContextEnabled = false
tracker.lifecycleAutotracking = false
tracker.base64Encoded = false
tracker.logLevel = LogLevel.VERBOSE
}
Expand Down Expand Up @@ -294,6 +295,7 @@ class StateManagerTest {
tracker.base64Encoded = false
tracker.sessionContext = false
tracker.platformContextEnabled = false
tracker.lifecycleAutotracking = false
}
val tracker = Tracker(emitter, "namespace", "appId", context = context, builder = trackerBuilder)

Expand Down
Expand Up @@ -263,6 +263,7 @@ class TrackerTest {
tracker.geoLocationContext = false
tracker.installAutotracking = false
tracker.screenViewAutotracking = false
tracker.lifecycleAutotracking = false
}
Companion.tracker =
Tracker(emitter!!, namespace, "testTrackWithNoContext", context = context, builder = trackerBuilder)
Expand Down
Expand Up @@ -89,7 +89,8 @@ interface TrackerConfigurationInterface {

/**
* Whether enable automatic tracking of background and foreground transitions.
* @apiNote It needs the Foreground library installed.
* Enabled by default.
* @apiNote It needs the androidx.lifecycle-extensions library installed.
*/
var lifecycleAutotracking: Boolean

Expand Down
Expand Up @@ -22,7 +22,6 @@ object TrackerDefaults {
var logLevel = LogLevel.OFF
var foregroundTimeout: Long = 1800 // 30 minutes
var backgroundTimeout: Long = 1800 // 30 minutes
var threadCount = 10
var timeUnit = TimeUnit.SECONDS
var sessionContext = true
var geoLocationContext = false
Expand All @@ -32,7 +31,7 @@ object TrackerDefaults {
var applicationContext = true
var exceptionAutotracking = true
var diagnosticAutotracking = false
var lifecycleAutotracking = false
var lifecycleAutotracking = true
var screenViewAutotracking = true
var screenEngagementAutotracking = true
var installAutotracking = true
Expand Down
Expand Up @@ -40,7 +40,7 @@ import java.util.*
* - deepLinkContext: true
* - screenViewAutotracking: true
* - screenEngagementAutotracking: true
* - lifecycleAutotracking: false
* - lifecycleAutotracking: true
* - installAutotracking: true
* - exceptionAutotracking: true
* - diagnosticAutotracking: false
Expand Down Expand Up @@ -290,8 +290,9 @@ open class TrackerConfiguration : TrackerConfigurationInterface, Configuration {
}

/**
* Whether to enable automatic tracking of background and foreground transitions.
* The Foreground library must be installed.
* Whether to enable automatic tracking of background and foreground transitions.
* Enabled by default.
* The androidx.lifecycle-extensions library must be installed.
*/
fun lifecycleAutotracking(lifecycleAutotracking: Boolean): TrackerConfiguration {
this.lifecycleAutotracking = lifecycleAutotracking
Expand Down

0 comments on commit 9e5a3b9

Please sign in to comment.