• Platforms
  • Partners
  • Forums
  • 日本語
  • TLC Tealium Learning Center Tealium Learning
    Community
  • Discussions & Ideas Dicussions & Ideas
  • Product Guides Product Guides
  • Knowledge Base Knowledge Base
  • Developer Docs Developer Docs
  • Education Education
  • TLC Blog TLC Blog
  • Support Desk Support Desk
  • CDH Customer Data Hub Customer Data Hub

Table of Contents

  • Class: Tealium
    • cancelTimedEvent()
    • clearAllTimedEvents()
    • disable()
    • flushQueue()
    • joinTrace()
    • leaveTrace()
    • resetVisitorId()
    • startTimedEvent()
    • stopTimedEvent()
    • Tealium()
    • track()
    • visitorId
IOS SWIFT

Tealium

The Tealium class serves as the main API entry point for all modules.

Class: Tealium

The following summarizes the commonly used methods of the iOS (Swift) Tealium class.

Method/Property Description
cancelTimedEvent() Cancels the timer for a timed event
clearAllTimedEvents() Clears all previously started timed events
disable() Disables the Tealium library
flushQueue() Sends any queued dispatches immediately
joinTrace() Joins a trace with the specified ID
leaveTrace() Leave a previously joined trace and end the visitor session
resetVisitorId() Generates a new visitor ID for the user
startTimedEvent() Starts a timed event with the given name
stopTimedEvent() Stops the timer for a timed event which triggers the timed_event tracking call
Tealium() Constructor for a new Tealium object
track() Tracks an event with associated data and, optionally, triggers a callback function
visitorId Returns a randomly generated and unique persistent visitor ID

cancelTimedEvent()

Cancels the timer for a timed event. The timed event is not tracked.

tealium?.cancelTimedEvent(name: "TIMED_EVENT_NAME")
Parameters Type Description
name String The name of the timed event

clearAllTimedEvents()

Clears all previously started timed events. The timed events are not tracked.

tealium?.clearAllTimedEvents()

disable()

Disables the Tealium library and removes all module references. Re-enable by creating a new Tealium instance if required.

tealium?.disable()

flushQueue()

Sends all queued dispatches immediately. Requests may still be blocked by DispatchValidators such as Consent Manager

tealium?.disable()

joinTrace()

Joins a trace with the specified ID. The trace remains active for the duration of the app session until leaveTrace() is called. Learn more about the trace feature in the Tealium Customer Data Hub.

joinTrace(traceId: String)
Parameters Type Description Example
traceId String The trace ID acquired from the Trace tool "12345"

leaveTrace()

Leave a previously joined trace and end the visitor session. Optional parameter to preserve the trace visitor session when leaving the trace.

tealium?.leaveTrace(killVisitorSession: false)

resetVisitorId()

Generates a new visitor ID for the user.

tealium?.resetVisitorId()
Parameters Type Description Example
killVisitorSession Bool (Optional) Defaults to true if no params are passed or pass false if you do not wish to terminate the visitor session true

startTimedEvent()

Starts a timed event with the given name. If this method is called again with the same event name, it is ignored if the event has not been ended or canceled. The event start time is not persisted.

If optional data is passed along with the event name, it is added to the track call when the timer is stopped with the stopTimedEvent() call.

tealium.startTimedEvent(name: "TIMED_EVENT_NAME", with: ["custom_key": "custom_value"])
Parameters Type Description
name String The name of the timed event
["custom_key": "custom_value"] (optional) Map An object of key-value pair data to be tracked in the data layer

stopTimedEvent()

Stops the timer for a timed event which triggers the timed_event tracking call.

tealium?.stopTimedEvent(name: "TIMED_EVENT_NAME")
Parameters Type Description
name String The name of the timed event

Tealium()

Constructor for a new Tealium object.

Tealium(config: TealiumConfig, completion: Closure)
Parameters Type Description
config TealiumConfig Initialize the Tealium object with a TealiumConfig object containing your account details.
completion Closure (Optional) Completion closure to be called on init completion()-> Void )?

track()

Tracks a screen view or event with optional associated data using the TealiumView or TealiumEvent type.

let tealView = TealiumView("VIEW_NAME", dataLayer: ["key": "value"])
tealium?.track(tealView)
Parameters Type Description Example
viewName String The name of the screen to be tracked viewName: "Buy Now"
dataLayer Dictionary An object of key-value pairs with data associated with the event to be tracked data: data: ["product_id" : ["widget123"]]
let tealEvent = TealiumEvent("EVENT_NAME", dataLayer: ["key": "value"])
tealium?.track(tealEvent)

The value passed to viewName appears in the data layer as the variable tealium_event.

Parameters Type Description Example
eventName String The name of the event to be tracked eventName: "Buy Now"
dataLayer Dictionary An object of key-value pairs with data associated with the event to be tracked data: data: ["product_id" : ["widget123"]]

The value passed to eventName appears in the data layer as the variable tealium_event.

visitorId

Returns a randomly generated and unique persistent visitor ID.

let visitorId: String? = tealium.visitorId
TealiumConfig

 
  • Mobile
  • Getting Started
    • Overview
    • Quick Start Guide
    • Mobile Concepts
    • Client-Side
    • Server-Side
    • Tracking Webviews
    • Data Layer
    • Consent Management
    • Event Batching
    • User Location and Geofencing
    • Deep Links
    • Timed Events
    • Trace
    • Hosted Data Layer
    • Feature Comparison
    • Troubleshooting
  • Remote Commands
    • Overview
    • How It Works
    • Integrations
      • AppsFlyer
      • Braze
      • Contentsquare
      • Facebook
      • Firebase
      • Kochava
      • Usabilla
  • Android (Java)
    • Overview
    • Install
    • Track
    • Data Layer
    • Data Management
    • Consent Management
    • Module List
      • Ad Identifier Module
      • Crash Reporter Module
      • Install Referrer Module
      • Lifecycle Tracking Module
      • Location Module
      • Optimizely X Tracking Module
    • Android TV
    • Android Wear
    • API Reference
      • ConsentManager
      • DataSources
      • Lifecycle
      • Tealium
      • Tealium.Config
      • TealiumLocation
    • Release Notes
  • Android (Kotlin)
    • Overview
    • Install
    • Track
    • Data Layer
    • Consent Management
    • Identity Resolution
    • Module List
      • Ad Identifier Module
      • Collect Module
      • Collectors Module
      • Crash Reporter Module
      • Install Referrer Module
      • Lifecycle Tracking Module
      • Location Manager Module
      • RemoteCommands Module
      • Tag Management Dispatcher Module
      • Visitor Service Module
    • Android TV
    • API Reference
      • ConsentCategory
      • ConsentManager
      • CurrentVisit
      • DataLayer
      • Lifecycle
      • LocationManager
      • Tealium
      • TealiumConfig
      • VisitorProfile
      • VisitorService
    • Release Notes
  • Cordova
    • Overview
    • Install
    • Track
    • Data Management
    • Module List
      • Ad Identifier Module
      • Crash Reporter Module
      • Install Referrer Module
    • API Reference
    • Release Notes
  • Flutter
    • Overview
    • Install
    • Track
    • Consent Management
    • Data Management
    • API Reference
    • Release Notes
  • iOS (Objective-C)
    • Overview
    • Install
    • Track
    • Data Layer
    • Data Management
    • Consent Management
    • Tag Management
    • Module List
      • Lifecycle Tracking Module
    • tvOS
    • watchOS
    • API Reference
    • Release Notes
  • iOS (Swift) 1.x
    • Overview
    • Install
    • Track
    • Data Layer
    • Data Management
    • App Extensions
    • Identity Resolution
    • Consent Management
    • Modules
    • Module List
      • AppData Module
      • Attribution Module
      • AutoTracking Module
      • Collect Module
      • Connectivity Module
      • CrashReporter Module
      • DataSource Module
      • DefaultStorage Module
      • Delegate Module
      • DeviceData Module
      • DispatchQueue Module
      • FileStorage Module
      • Lifecycle Module
      • Location Module
      • Logger Module
      • PersistentData Module
      • RemoteCommands Module
      • TagManagement Module
      • VisitorService Module
      • VolatileData Module
    • Feature Comparison
    • Working with Objective-C
    • API Reference
      • TealiumConfig
      • TealiumConsentCategories
      • TealiumConsentManagerDelegate
      • TealiumConsentManager
      • TealiumInstanceManager
      • TealiumPersistentData
      • TealiumVolatileData
      • Tealium
    • Release Notes
  • iOS (Swift) 2.x
    • Overview
    • Install
    • Track
    • Data Layer
    • Consent Management
    • App Extensions
    • Identity Resolution
    • Modules
    • Module List
      • AppData Module
      • Attribution Module
      • AutoTracking Module
      • Collect Module
      • Connectivity Module
      • CrashReporter Module
      • DeviceData Module
      • Lifecycle Module
      • Location Module
      • RemoteCommands Module
      • TagManagement Module
      • VisitorService Module
    • Working with Objective-C
    • API Reference
      • Tealium
      • TealiumConfig
      • TealiumConsentCategories
      • TealiumConsentManager
      • TealiumDataLayer
      • TealiumInstanceManager
    • Release Notes
  • NativeScript
    • Overview
    • Install
    • Track
    • API Reference
      • Tealium
      • TealiumConfig
    • Release Notes
  • React Native 1.x
    • Overview
    • Install
    • Track
    • API Reference
    • Release Notes
  • React Native 2.x
    • Overview
    • Install
    • Track
    • API Reference
    • Release Notes
  • Unity
    • Overview
    • Install
    • Track
    • API Reference
  • Xamarin
    • Overview
    • Install
    • Track
    • Data Management
    • Consent Management
    • API Reference
    • Release Notes
  • Web
  • Getting Started
    • Overview
    • Quick Start Guide
    • Web Concepts
    • Data Layer
      • An Introduction to the Data Layer
      • How the Data Layer Works for Websites
      • Data Layer Best Practices
      • Definitions
        • Retail
        • Publisher
        • Hotel
        • Travel
        • Basic Video Tracking
  • Adobe Launch
    • Overview
    • Install
    • Data Layer
  • AMP
    • Overview
    • Install
    • Track
    • Data Layer
  • Angular
    • Overview
    • Install
    • Track
    • API Reference
  • Google Tag Manager
    • Overview
    • Install
    • Data Layer
  • JavaScript (Web)
    • Overview
    • Install
    • Track
    • Data Layer
    • Universal Data Object (utag_data)
    • Universal Tag (utag.js)
    • Data Layer Object (b)
    • Single-Page Applications
    • Settings
    • Debugging
    • API Reference
      • Cookie Functions
      • GDPR Functions
      • Tracking Functions
      • Utility Functions
    • Release Notes
  • Server
  • C#
    • Overview
    • Install
    • Track
    • Data Layer
    • API Reference
    • Release Notes
  • HTTP API
    • Overview
    • Endpoint
    • Data Layer
  • Java
    • Overview
    • Install
    • Track
    • API Reference
    • Release Notes
  • Node
    • Overview
    • Install
    • Track
    • API Reference
  • Python
    • Overview
    • Install
    • Track
    • API Reference
  • Roku
    • Overview
    • Install
    • Track
    • API Reference
  • Ruby
    • Overview
    • Install
    • Track
    • API Reference

Was this article helpful?

This page was last updated: January 13, 2021       Thank you for your feedback!
  • Platforms
  • Partners
  • Forums
  • Mobile
  • Getting Started
  • Remote Commands
  • Android (Java)
  • Android (Kotlin)
  • Cordova
  • Flutter
  • iOS (Objective-C)
  • iOS (Swift) 1.x
  • iOS (Swift) 2.x
  • NativeScript
  • React Native 1.x
  • React Native 2.x
  • Unity
  • Xamarin
  • Web
  • Getting Started
  • Adobe Launch
  • AMP
  • Angular
  • Google Tag Manager
  • JavaScript (Web)
  • Server
  • C#
  • HTTP API
  • Java
  • Node
  • Python
  • Roku
  • Ruby