2025-05-28 20:55:22 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< title > MixpanelOptions Class Reference< / title >
< link rel = "stylesheet" type = "text/css" href = "../css/jazzy.css" / >
< link rel = "stylesheet" type = "text/css" href = "../css/highlight.css" / >
< meta charset = 'utf-8' >
< script src = "../js/jquery.min.js" defer > < / script >
< script src = "../js/jazzy.js" defer > < / script >
< script src = "../js/lunr.min.js" defer > < / script >
< script src = "../js/typeahead.jquery.js" defer > < / script >
< script src = "../js/jazzy.search.js" defer > < / script >
< / head >
< body >
< a name = "//apple_ref/swift/Class/MixpanelOptions" class = "dashAnchor" > < / a >
< a title = "MixpanelOptions Class Reference" > < / a >
< header >
< div class = "content-wrapper" >
2026-04-02 15:27:26 +00:00
< p > < a href = "../index.html" > Mixpanel 6.1.0 Docs< / a > (68% documented)< / p >
2025-05-28 20:55:22 +00:00
< p class = "header-right" > < a href = "https://github.com/mixpanel/mixpanel-swift" > < img src = "../img/gh.png" alt = "GitHub" / > View on GitHub< / a > < / p >
2026-03-16 18:32:07 +00:00
< p class = "header-right" > < a href = "dash-feed://erivedDataPath%2C%2FUsers%2Fketan%2FDocuments%2FMixpanel-GitHub%2Fmixpanel-swift%2Fbuild" > < img src = "../img/dash.png" alt = "Dash" / > Install in Dash< / a > < / p >
2025-05-28 20:55:22 +00:00
< div class = "header-right" >
< form role = "search" action = "../search.json" >
< input type = "text" placeholder = "Search documentation" data-typeahead >
< / form >
< / div >
< / div >
< / header >
< div class = "content-wrapper" >
< p id = "breadcrumbs" >
2026-02-25 20:11:40 +00:00
< a href = "../index.html" > Mixpanel< / a >
< img id = "carat" src = "../img/carat.png" alt = "" / >
< a href = "../Classes.html" > Classes< / a >
2025-05-28 20:55:22 +00:00
< img id = "carat" src = "../img/carat.png" alt = "" / >
MixpanelOptions Class Reference
< / p >
< / div >
< div class = "content-wrapper" >
< nav class = "sidebar" >
< ul class = "nav-groups" >
< li class = "nav-group-name" >
< a href = "../Classes.html" > Classes< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "../Classes/Group.html" > Group< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Classes/Mixpanel.html" > Mixpanel< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Classes/MixpanelInstance.html" > MixpanelInstance< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Classes/MixpanelLogger.html" > MixpanelLogger< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Classes/MixpanelOptions.html" > MixpanelOptions< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Classes/People.html" > People< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "../Enums.html" > Enumerations< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "../Enums/GzipError.html" > GzipError< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Enums/MixpanelLogLevel.html" > MixpanelLogLevel< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "../Extensions.html" > Extensions< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "../Extensions/Array.html" > Array< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/Bool.html" > Bool< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/Data.html" > Data< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/Date.html" > Date< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/Dictionary.html" > Dictionary< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/Double.html" > Double< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/Float.html" > Float< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/Int.html" > Int< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/NSArray.html" > NSArray< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/NSNull.html" > NSNull< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/NSNumber.html" > NSNumber< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/NSString.html" > NSString< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/Optional.html" > Optional< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/String.html" > String< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/UInt.html" > UInt< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Extensions/URL.html" > URL< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "../Protocols.html" > Protocols< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "../Protocols/MixpanelDelegate.html" > MixpanelDelegate< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Protocols/MixpanelFlagDelegate.html" > MixpanelFlagDelegate< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Protocols/MixpanelFlags.html" > MixpanelFlags< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Protocols/MixpanelLogging.html" > MixpanelLogging< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Protocols/MixpanelProxyServerDelegate.html" > MixpanelProxyServerDelegate< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Protocols/MixpanelType.html" > MixpanelType< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "../Structs.html" > Structures< / a >
< ul class = "nav-group-tasks" >
2026-03-16 18:32:07 +00:00
< li class = "nav-group-task" >
< a href = "../Structs/FeatureFlagOptions.html" > FeatureFlagOptions< / a >
< / li >
2025-05-28 20:55:22 +00:00
< li class = "nav-group-task" >
< a href = "../Structs/MixpanelFlagVariant.html" > MixpanelFlagVariant< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Structs/MixpanelLogMessage.html" > MixpanelLogMessage< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Structs/ProxyServerConfig.html" > ProxyServerConfig< / a >
< / li >
< li class = "nav-group-task" >
< a href = "../Structs/ServerProxyResource.html" > ServerProxyResource< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "../Typealiases.html" > Type Aliases< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "../Typealiases.html#/s:8Mixpanel10Propertiesa" > Properties< / a >
< / li >
< / ul >
< / li >
< / ul >
< / nav >
< article class = "main-content" >
< section >
< section class = "section" >
< h1 > MixpanelOptions< / h1 >
< div class = "declaration" >
< div class = "language" >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "kd" > class< / span > < span class = "kt" > MixpanelOptions< / span > < / code > < / pre >
< / div >
< / div >
< p > Undocumented< / p >
< / section >
< section class = "section task-group-section" >
< div class = "task-group" >
< ul >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC5tokenSSvp" > < / a >
< a name = "//apple_ref/swift/Property/token" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC5tokenSSvp" > token< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > token< / span > < span class = "p" > :< / span > < span class = "kt" > String< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC13flushIntervalSdvp" > < / a >
< a name = "//apple_ref/swift/Property/flushInterval" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC13flushIntervalSdvp" > flushInterval< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > flushInterval< / span > < span class = "p" > :< / span > < span class = "kt" > Double< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC12instanceNameSSSgvp" > < / a >
< a name = "//apple_ref/swift/Property/instanceName" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC12instanceNameSSSgvp" > instanceName< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > instanceName< / span > < span class = "p" > :< / span > < span class = "kt" > String< / span > < span class = "p" > ?< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC20trackAutomaticEventsSbvp" > < / a >
< a name = "//apple_ref/swift/Property/trackAutomaticEvents" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC20trackAutomaticEventsSbvp" > trackAutomaticEvents< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > trackAutomaticEvents< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC23optOutTrackingByDefaultSbvp" > < / a >
< a name = "//apple_ref/swift/Property/optOutTrackingByDefault" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC23optOutTrackingByDefaultSbvp" > optOutTrackingByDefault< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > optOutTrackingByDefault< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC19useUniqueDistinctIdSbvp" > < / a >
< a name = "//apple_ref/swift/Property/useUniqueDistinctId" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC19useUniqueDistinctIdSbvp" > useUniqueDistinctId< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > useUniqueDistinctId< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC15superPropertiesSDySSAA0A4Type_pGSgvp" > < / a >
< a name = "//apple_ref/swift/Property/superProperties" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC15superPropertiesSDySSAA0A4Type_pGSgvp" > superProperties< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > superProperties< / span > < span class = "p" > :< / span > < span class = "kt" > < a href = "../Typealiases.html#/s:8Mixpanel10Propertiesa" > Properties< / a > < / span > < span class = "p" > ?< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC9serverURLSSSgvp" > < / a >
< a name = "//apple_ref/swift/Property/serverURL" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC9serverURLSSSgvp" > serverURL< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > serverURL< / span > < span class = "p" > :< / span > < span class = "kt" > String< / span > < span class = "p" > ?< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC17proxyServerConfigAA05ProxydE0VSgvp" > < / a >
< a name = "//apple_ref/swift/Property/proxyServerConfig" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC17proxyServerConfigAA05ProxydE0VSgvp" > proxyServerConfig< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > proxyServerConfig< / span > < span class = "p" > :< / span > < span class = "kt" > < a href = "../Structs/ProxyServerConfig.html" > ProxyServerConfig< / a > < / span > < span class = "p" > ?< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC18useGzipCompressionSbvp" > < / a >
< a name = "//apple_ref/swift/Property/useGzipCompression" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC18useGzipCompressionSbvp" > useGzipCompression< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > useGzipCompression< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC19featureFlagsEnabledSbvp" > < / a >
< a name = "//apple_ref/swift/Property/featureFlagsEnabled" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC19featureFlagsEnabledSbvp" > featureFlagsEnabled< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
2026-03-16 18:32:07 +00:00
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > var< / span > < span class = "nv" > featureFlagsEnabled< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < span class = "p" > {< / span > < span class = "k" > get< / span > < span class = "p" > }< / span > < / code > < / pre >
2025-05-28 20:55:22 +00:00
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC19featureFlagsContextSDySSypGvp" > < / a >
< a name = "//apple_ref/swift/Property/featureFlagsContext" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC19featureFlagsContextSDySSypGvp" > featureFlagsContext< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
2026-03-16 18:32:07 +00:00
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > var< / span > < span class = "nv" > featureFlagsContext< / span > < span class = "p" > :< / span > < span class = "p" > [< / span > < span class = "kt" > String< / span > < span class = "p" > :< / span > < span class = "kt" > Any< / span > < span class = "p" > ]< / span > < span class = "p" > {< / span > < span class = "k" > get< / span > < span class = "p" > }< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
< a name = "/s:8Mixpanel0A7OptionsC011featureFlagB0AA07FeaturedB0Vvp" > < / a >
< a name = "//apple_ref/swift/Property/featureFlagOptions" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC011featureFlagB0AA07FeaturedB0Vvp" > featureFlagOptions< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Grouped configuration for feature flags behavior.< / p >
< p > When provided to the initializer, this takes precedence over the
< code > < a href = "../Classes/MixpanelOptions.html#/s:8Mixpanel0A7OptionsC19featureFlagsEnabledSbvp" > featureFlagsEnabled< / a > < / code > and < code > < a href = "../Classes/MixpanelOptions.html#/s:8Mixpanel0A7OptionsC19featureFlagsContextSDySSypGvp" > featureFlagsContext< / a > < / code > parameters.< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > featureFlagOptions< / span > < span class = "p" > :< / span > < span class = "kt" > < a href = "../Structs/FeatureFlagOptions.html" > FeatureFlagOptions< / a > < / span > < / code > < / pre >
2025-05-28 20:55:22 +00:00
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
2026-02-25 20:11:40 +00:00
< a name = "/s:8Mixpanel0A7OptionsC16deviceIdProviderSSSgycSgvp" > < / a >
< a name = "//apple_ref/swift/Property/deviceIdProvider" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC16deviceIdProviderSSSgycSgvp" > deviceIdProvider< / a >
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > A closure that provides a custom device ID.< / p >
< p > Use this to control device ID generation instead of relying on the SDK’ s default behavior
(random UUID or IDFV based on < code > < a href = "../Classes/MixpanelOptions.html#/s:8Mixpanel0A7OptionsC19useUniqueDistinctIdSbvp" > useUniqueDistinctId< / a > < / code > ).< / p >
< p > < strong > Important: Choose your device ID strategy up front.< / strong > This closure is called:< / p >
< ul >
< li > Once during initialization (if no persisted identity exists)< / li >
< li > On each call to < code > reset()< / code > < / li >
< li > On each call to < code > optOutTracking()< / code > < / li >
< / ul >
< p > < strong > Controlling Reset Behavior:< / strong > < / p >
< ul >
< li > Return the < strong > same value< / strong > each time = Device ID never changes (persistent identity)< / li >
< li > Return a < strong > different value< / strong > each time = Device ID changes on reset (ephemeral identity)< / li >
< li > Return < code > nil< / code > = Use SDK’ s default device ID (useful for error handling)< / li >
< / ul >
< p > < strong > Thread Safety:< / strong > This closure is called synchronously while holding internal locks.
Keep implementations fast and non-blocking. For Keychain or network-fetched IDs,
retrieve and cache the value at app launch, then return the cached value from the provider.< / p >
< p > < strong > Warning:< / strong > Adding a < code > deviceIdProvider< / code > to an existing app that previously used the default
device ID may cause identity discontinuity. The SDK will log a warning if the provider
returns a value different from the persisted anonymous ID.< / p >
< p > < strong > Example - Persistent Device ID (cached at launch):< / strong > < / p >
< pre class = "highlight swift" > < code > < span class = "c1" > // Cache the device ID at app launch (before Mixpanel init)< / span >
< span class = "k" > let< / span > < span class = "nv" > cachedDeviceId< / span > < span class = "o" > =< / span > < span class = "kt" > MyKeychainHelper< / span > < span class = "o" > .< / span > < span class = "nf" > getOrCreatePersistentId< / span > < span class = "p" > ()< / span >
< span class = "k" > let< / span > < span class = "nv" > options< / span > < span class = "o" > =< / span > < span class = "kt" > MixpanelOptions< / span > < span class = "p" > (< / span >
< span class = "nv" > token< / span > < span class = "p" > :< / span > < span class = "s" > "YOUR_TOKEN"< / span > < span class = "p" > ,< / span >
< span class = "nv" > deviceIdProvider< / span > < span class = "p" > :< / span > < span class = "p" > {< / span > < span class = "n" > cachedDeviceId< / span > < span class = "p" > }< / span > < span class = "c1" > // Return cached value< / span >
< span class = "p" > )< / span >
< / code > < / pre >
< p > < strong > Example - Ephemeral Device ID (resets each time):< / strong > < / p >
< pre class = "highlight swift" > < code > < span class = "k" > let< / span > < span class = "nv" > options< / span > < span class = "o" > =< / span > < span class = "kt" > MixpanelOptions< / span > < span class = "p" > (< / span >
< span class = "nv" > token< / span > < span class = "p" > :< / span > < span class = "s" > "YOUR_TOKEN"< / span > < span class = "p" > ,< / span >
< span class = "nv" > deviceIdProvider< / span > < span class = "p" > :< / span > < span class = "p" > {< / span >
< span class = "k" > return< / span > < span class = "kt" > UUID< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > uuidString< / span >
< span class = "p" > }< / span >
< span class = "p" > )< / span >
< / code > < / pre >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "k" > let< / span > < span class = "nv" > deviceIdProvider< / span > < span class = "p" > :< / span > < span class = "p" > (()< / span > < span class = "o" > -> < / span > < span class = "kt" > String< / span > < span class = "p" > ?)?< / span > < / code > < / pre >
< / div >
< / div >
< / section >
< / div >
< / li >
< li class = "item" >
< div >
< code >
2026-03-16 18:32:07 +00:00
< a name = "/s:8Mixpanel0A7OptionsC5token13flushInterval12instanceName20trackAutomaticEvents23optOutTrackingByDefault19useUniqueDistinctId15superProperties9serverURL17proxyServerConfig0P15GzipCompression19featureFlagsEnabled19featureFlagsContext06deviceS8Provider011featureFlagB0ACSS_SdSSSgS3bSDySSAA0A4Type_pGSgArA05ProxyyZ0VSgS2bSDySSypGARycSgAA011FeatureFlagB0VSgtcfc" > < / a >
< a name = "//apple_ref/swift/Method/init(token:flushInterval:instanceName:trackAutomaticEvents:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:proxyServerConfig:useGzipCompression:featureFlagsEnabled:featureFlagsContext:deviceIdProvider:featureFlagOptions:)" class = "dashAnchor" > < / a >
< a class = "token" href = "#/s:8Mixpanel0A7OptionsC5token13flushInterval12instanceName20trackAutomaticEvents23optOutTrackingByDefault19useUniqueDistinctId15superProperties9serverURL17proxyServerConfig0P15GzipCompression19featureFlagsEnabled19featureFlagsContext06deviceS8Provider011featureFlagB0ACSS_SdSSSgS3bSDySSAA0A4Type_pGSgArA05ProxyyZ0VSgS2bSDySSypGARycSgAA011FeatureFlagB0VSgtcfc" > init(token:< wbr > flushInterval:< wbr > instanceName:< wbr > trackAutomaticEvents:< wbr > optOutTrackingByDefault:< wbr > useUniqueDistinctId:< wbr > superProperties:< wbr > serverURL:< wbr > proxyServerConfig:< wbr > useGzipCompression:< wbr > featureFlagsEnabled:< wbr > featureFlagsContext:< wbr > deviceIdProvider:< wbr > featureFlagOptions:< wbr > )< / a >
2025-05-28 20:55:22 +00:00
< / code >
< / div >
< div class = "height-container" >
< div class = "pointer-container" > < / div >
< section class = "section" >
< div class = "pointer" > < / div >
< div class = "abstract" >
< p > Undocumented< / p >
< / div >
< div class = "declaration" >
< h4 > Declaration< / h4 >
< div class = "language" >
< p class = "aside-title" > Swift< / p >
2025-08-06 19:26:25 +00:00
< pre class = "highlight swift" > < code > < span class = "kd" > public< / span > < span class = "nf" > init< / span > < span class = "p" > (< / span >
< span class = "nv" > token< / span > < span class = "p" > :< / span > < span class = "kt" > String< / span > < span class = "p" > ,< / span >
< span class = "nv" > flushInterval< / span > < span class = "p" > :< / span > < span class = "kt" > Double< / span > < span class = "o" > =< / span > < span class = "mi" > 60< / span > < span class = "p" > ,< / span >
< span class = "nv" > instanceName< / span > < span class = "p" > :< / span > < span class = "kt" > String< / span > < span class = "p" > ?< / span > < span class = "o" > =< / span > < span class = "kc" > nil< / span > < span class = "p" > ,< / span >
< span class = "nv" > trackAutomaticEvents< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < span class = "o" > =< / span > < span class = "kc" > false< / span > < span class = "p" > ,< / span >
< span class = "nv" > optOutTrackingByDefault< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < span class = "o" > =< / span > < span class = "kc" > false< / span > < span class = "p" > ,< / span >
< span class = "nv" > useUniqueDistinctId< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < span class = "o" > =< / span > < span class = "kc" > false< / span > < span class = "p" > ,< / span >
< span class = "nv" > superProperties< / span > < span class = "p" > :< / span > < span class = "kt" > < a href = "../Typealiases.html#/s:8Mixpanel10Propertiesa" > Properties< / a > < / span > < span class = "p" > ?< / span > < span class = "o" > =< / span > < span class = "kc" > nil< / span > < span class = "p" > ,< / span >
< span class = "nv" > serverURL< / span > < span class = "p" > :< / span > < span class = "kt" > String< / span > < span class = "p" > ?< / span > < span class = "o" > =< / span > < span class = "kc" > nil< / span > < span class = "p" > ,< / span >
< span class = "nv" > proxyServerConfig< / span > < span class = "p" > :< / span > < span class = "kt" > < a href = "../Structs/ProxyServerConfig.html" > ProxyServerConfig< / a > < / span > < span class = "p" > ?< / span > < span class = "o" > =< / span > < span class = "kc" > nil< / span > < span class = "p" > ,< / span >
< span class = "nv" > useGzipCompression< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < span class = "o" > =< / span > < span class = "kc" > true< / span > < span class = "p" > ,< / span > < span class = "c1" > // NOTE: This is a new default value!< / span >
< span class = "nv" > featureFlagsEnabled< / span > < span class = "p" > :< / span > < span class = "kt" > Bool< / span > < span class = "o" > =< / span > < span class = "kc" > false< / span > < span class = "p" > ,< / span >
2026-02-25 20:11:40 +00:00
< span class = "nv" > featureFlagsContext< / span > < span class = "p" > :< / span > < span class = "p" > [< / span > < span class = "kt" > String< / span > < span class = "p" > :< / span > < span class = "kt" > Any< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > [:],< / span >
2026-03-16 18:32:07 +00:00
< span class = "nv" > deviceIdProvider< / span > < span class = "p" > :< / span > < span class = "p" > (()< / span > < span class = "o" > -> < / span > < span class = "kt" > String< / span > < span class = "p" > ?)?< / span > < span class = "o" > =< / span > < span class = "kc" > nil< / span > < span class = "p" > ,< / span >
< span class = "nv" > featureFlagOptions< / span > < span class = "p" > :< / span > < span class = "kt" > < a href = "../Structs/FeatureFlagOptions.html" > FeatureFlagOptions< / a > < / span > < span class = "p" > ?< / span > < span class = "o" > =< / span > < span class = "kc" > nil< / span >
2025-08-06 19:26:25 +00:00
< span class = "p" > )< / span > < / code > < / pre >
2025-05-28 20:55:22 +00:00
< / div >
< / div >
< / section >
< / div >
< / li >
< / ul >
< / div >
< / section >
< / section >
< section id = "footer" >
2026-04-02 15:27:26 +00:00
< p > © 2026 < a class = "link" href = "http://mixpanel.com" target = "_blank" rel = "external noopener" > Mixpanel< / a > . All rights reserved. (Last updated: 2026-04-02)< / p >
2026-02-25 20:11:40 +00:00
< p > Generated by < a class = "link" href = "https://github.com/realm/jazzy" target = "_blank" rel = "external noopener" > jazzy ♪♫ v0.15.4< / a > , a < a class = "link" href = "https://realm.io" target = "_blank" rel = "external noopener" > Realm< / a > project.< / p >
2025-05-28 20:55:22 +00:00
< / section >
< / article >
< / div >
< / body >
< / html >