• 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: TealiumConsentManager
    • addConsentDelegate()
    • getUserConsentCategories()
    • getUserConsentPreferences()
    • getUserConsentStatus()
    • removeAllConsentDelegates()
    • resetUserConsentPreferences()
    • setUserConsentCategories()
    • setUserConsentStatus()
    • setUserConsentStatusWithCategories()
IOS SWIFT V1

TealiumConsentManager

Provides methods for Tealium Consent Management.

Class: TealiumConsentManager

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

Method Description
addConsentDelegate() Registers a specific class conforming to the TealiumConsentDelegate protocol
getUserConsentCategories() Returns all current consent categories
getUserConsentPreferences() Returns all current consent preferences
getUserConsentStatus() Returns the current consent status
removeAllConsentDelegates() Removes all consent delegates
resetUserConsentPreferences() Clears all currently stored consent preferences in memory and in persistent storage
setUserConsentCategories() Sets the user’s consent categories
setUserConsentStatus() Sets the user’s consent status
setUserConsentStatusWithCategories() Sets consent status and categories

addConsentDelegate()

Registers a specific class conforming to the TealiumConsentDelegate protocol.

addConsentDelegate(delegate)
Parameters Type Description
delegate TealiumConsentManagerDelegate A class conforming to TealiumConsentDelegate

getUserConsentCategories()

Returns all current consent categories.

getUserConsentCategories()
Return Type Description
TealiumConsentCategories Current Tealium consent categories

getUserConsentPreferences()

Returns all current consent preferences.

getUserConsentPreferences()
Return Type Description
TealiumConsentUserPreferences All current consent preferences

getUserConsentStatus()

Returns the current consent status.

getUserConsentStatus()
Return Type Description
TealiumConsentStatus Current consent status

removeAllConsentDelegates()

Removes all consent delegates. Retains the built-in delegate created by the TealiumConsentManagerModule class.

removeAllConsentDelegates()

resetUserConsentPreferences()

Clears all currently stored consent preferences in memory and in persistent storage. Reverts to "unknown" consent state, with no categories.

resetUserConsentPreferences()

setUserConsentCategories()

Sets the user’s consent categories. Designed to be called from your consent management preferences screen in your app. Sets consent status to .consented.

setUserConsentCategories(categories)
Parameter Type Description Example
categories An array of values from the TealiumConsentCategories enum [.analytics,.bigData]

The following example shows how to set the user consent categories to [.analytics,.bigData]:

tealium?.consentManager()?.setUserConsentCategories([.analytics,.bigData])

setUserConsentStatus()

Sets the user’s consent status. Designed to be called from your Consent Management preferences screen in your app when the user enables or disables tracking.

Sets the list of consented categories to include ALL available consent categories, if the status is .consented. Does not allow categories to be set selectively.

setUserConsentStatus(status)
Parameters Type Description Example
status TealiumConsentStatus The consent status to be set [.unknown, .consented, .notConsented]

The following example shows how to set the user consent status to .consented:

tealium?.consentManager()?.setUserConsentStatus(.consented)

The following define the different types of Tealium consent statuses from the TealiumConsentStatus enum.

.unknown
The unknown status is the default setting for the Consent Manager. In this state, the Consent Manager queues events locally until an affirmative consented/notConsented status is provided.

.consented
The consented status is set when the user has consented to tracking. In this state, the Consent Manager allow all tracking calls to continue as normal.

.notConsented
The notConsented status is set when the user has declined tracking. In this state, the Consent Manager drops all tracking calls and halt further processing by the SDK.

setUserConsentStatusWithCategories()

Sets consent status and categories.

setUserConsentStatusWithCategories(status, categories)
Parameter Type Description Example
status TealiumConsentStatus? The consent status to be set [.unknown, .consented, .notConsented]
categories [TealiumConsentCategories]? The consented categories to be set [.analytics]

The following example shows how to set the user consent status to .consented and set the categories to .analytics:

tealium?.consentManager()?.setUserConsentStatusWithCategories(status: .consented, categories: [.analytics])
TealiumConsentManagerDelegate
TealiumInstanceManager

 
  • 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 Referencee
  • Xamarin
    • Overview
    • Install
    • Track
    • Data Management
    • Consent Management
    • API Reference
    • Release Notes
  • Web
  • Getting Started
    • Overview
    • Quick Start Guide
    • Web Concepts
  • Adobe Launch
    • Overview
    • Install
    • Data Layer
  • AMP
    • Install
    • Track
    • Data Layer
    • Overview
  • Angular
    • Install
    • Track
    • API Reference
    • Overview
  • Google Tag Manager
    • Overview
    • Data Layer
    • Install
  • JavaScript (Web)
    • Install
    • Track
    • Data Layer
    • Overview
    • 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: July 23, 2020       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