Releases: Tealium/tealium-kotlin
Releases · Tealium/tealium-kotlin
Tealium Kotlin 1.7.0
- Core 1.7.0
TealiumInitProvider
added to automatically execute the minimum amount of Tealium work on the Main Thread at app launch- This will register for Application/Activity lifecycle events at launch
- This allows for
Tealium
instances to be safely created off of the Android Main Thread. Tealium
instances have a grace period of 10s (by default) from launch to be created in order to ensure accurate Activity tracking- This time limit is configurable either by:
- updating the content-provider's meta-data using AndroidManifest merge rules
- or by removing it using AndroidManifest merge rules, and calling
ActivityManager.getInstance(context, <timeout in seconds>)
inApplication.onCreate()
before anyTealium
instances are created.
- This time limit is configurable either by:
Batching.batchSize
now actively restricts size to be between 1 and 10Dispatch.remove(key: String)
method added to allow for removing data- this was added to the
interface
in a backward compatible way, but any custom implementations are advised to override the default implementation.
- this was added to the
- BugFix: RemoteCommands not being processed when expected
- Remote Command processing now inline with tealium-swift
- RemoteCommand events are now processed earlier in the dispatch process, unless explicitly forbidden by a
DispatchValidator
(e.g. Consent or a custom suppliedDispatchValidator
) - The exceptions to this are for Batching, Connectivity and Low Battery.
- important - Users upgrading to
kotlin-core:1.7.0
are advised to updatekotlin-remotecommand-dispatcher
to1.5.0
to avoid the possibility of duplicated events
- BugFix: Queued events sent on backgrounding sometimes caused ANRs or OOM
- Queue dispatches are now dispatched in batches according to the configured batch size to minimize memory requirements
- These dispatches are also processed on the Tealium processing thread.
- RemoteCommandDispatcher 1.5.0
- RemoteCommand events no longer processed on
onDispatchSend
but only ononRemoteCommandSend
(WebView controlled) andonProcessRemoteCommand
(JSON controlled) - important - Users upgrading to
kotlin-remotecommand-dispatcher:1.5.0
are advised to updatekotlin-core
to1.7.0
to avoid the possibility of missed events
- RemoteCommand events no longer processed on
- Location 1.1.3
- BugFix: Stopping location tracking threw exceptions under some conditions
Tealium Kotlin 1.6.1
- Core 1.6.1
- Added proper error handling for
loadFromFile
inJsonLoader
- Added proper error handling for
- VisitorService 1.2.1
- Added proper error handle when saving VisitorProfile
Tealium Kotlin 1.6.0
- Core 1.6.0
HttpClient
now supports only retrying on retryable response codes.- BugFix:
ResourceRetriever
refresh interval affecting library settings being fetched too often - BugFix: Reinstated missing
ResourceEntity
class - BugFix: Remotely configurable options for LogLevel and the enabling/disabling TagManagement/Collect module are now supported
- RemoteCommandDispatcher 1.4.0
- Adding a RemoteCommand with a remote URL config, now supports falling back to loading from an
Asset
names{command id}.json
on the first launch. - if a file name is also provided, then it will use that name to lookup the
Asset
- It is also now safe to omit the
.json
extension on thefilename
parameter when adding a new remote command, though the.json
extension of the actual file should still be present. - BugFix: Refresh interval was not being adhered to
- Note -
com.tealium:kotlin-core
module dependency minimum raised to1.6.0
- Adding a RemoteCommand with a remote URL config, now supports falling back to loading from an
- TagManagementDispatcher 1.2.2
- WebView is refreshed on new session to ensure latest IQ configuration is available.
Tealium Kotlin 1.5.5
- BugFix: proguard adjustment resolve missing
BatchDispatch$Companion
class. - Minor lint warning fixes
Tealium Kotlin 1.5.4
- Core 1.5.4
- Session Data Expiration BugFix: fixes an issue whereby session scoped data may not be expired on launch
- Event Router events Buffering: buffers events until sdk is ready so events are not missed during startup
- Database Lock crash BugFix: Some uncaught exceptions in persistence led to possible crashes
- ProGuard rules updates to reinstate incorrectly obfuscated
BatchDispatch
class
- AdIdentifier 1.1.2
- BugFix: DataLayer writes moved onto Tealium background thread
Tealium Kotlin 1.5.3
- Database Bug Fix: add database status check before performing writable actions, and allow event queueing until database is fully operational
- Library Settings Bug Fix: update how remote settings were fetched and saved
- Module Manager Bug Fix: update to thread-safe collection
Tealium Kotlin 1.5.2
Connectivity Collector BugFix: fixes an issue in the event where there is a blank string returned from telephonyManager.networkOperator
Deep Link Reporting BugFix:
- Deep Link handling limited to Activities launched with Intents where action == Intent.ACTION_VIEW
- Empty Uris are ignored, and deep links that match what is already stored is a no-op
- Handling pushed onto Tealium background thread.
Tealium Kotlin 1.5.1
BugFix - Fixes an edge case where events can arrive at dispatchers in the incorrect order
Tealium Kotlin 1.5.0
- Visitor Switching
- Additional TealiumConfig option
visitorIdentityKey
to configure where to find a known identity in the DataLayer - Known identities are hashed and linked to the
tealium_visitor_id
to allow better switching between returning identities
- Additional TealiumConfig option
- Additional listeners
VisitorIdUpdatedListener
- notifies when the visitor id has been updated, either as a result of switching identities or of resetting the visitor idDataLayerUpdatedListener
onDataUpdated(String, Any)
- notifies that a value has been updated in the DataLayeronDataRemoved(Set<String>)
- notifies that the given keys have been removed from the DataLayer, either by user interaction or data expiration
- RemoteCommandDispatcher 1.2.0
- Support for default mapping
all_events
andall_views
in the JSON mappings file to enable triggering specified commands in response to every view/event
- Support for default mapping
- TagManagement 1.2.0
QueryParameterProvider
- allows additional parameters to be added to the URL used for the TagManagement module- Improved WebView instantiation and page load management
- Kotlin Dependency updates
- Stdlib: 1.6.21
- Coroutines: 1.6.2
Tealium Kotlin Release 1.4.3
- Core 1.4.3
- DeviceCollector Bug fix - Correct calculation for
tealium_logical_resolution
- DeviceCollector Bug fix - Correct calculation for
- TagManagement 1.1.3
- Bug fix - Relocate
sessionCountingEnabled
to fix miscount on fresh launch
- Bug fix - Relocate
- VisitorService 1.1.1
- Bug fix - Move VisitorService profile override to earlier initialization
- Location: Add missing Proguard rules for new classes