mixpanel-swift/docs/Structs.html
2026-03-17 00:02:07 +05:30

373 lines
18 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>Structures 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/Section/Structures" class="dashAnchor"></a>
<a title="Structures Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="index.html">Mixpanel 6.0.0 Docs</a> (68% documented)</p>
<p class="header-right"><a href="https://github.com/mixpanel/mixpanel-swift"><img src="img/gh.png" alt="GitHub"/>View on GitHub</a></p>
<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>
<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">
<a href="index.html">Mixpanel</a>
<img id="carat" src="img/carat.png" alt=""/>
Structures 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">
<li class="nav-group-task">
<a href="Structs/FeatureFlagOptions.html">FeatureFlagOptions</a>
</li>
<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>Structures</h1>
<p>The following structures are available globally.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<div class="task-name-container">
<a name="/AnyCodable"></a>
<a name="//apple_ref/swift/Section/AnyCodable" class="dashAnchor"></a>
<div class="section-name-container">
<a class="section-name-link" href="#/AnyCodable"></a>
<h3 class="section-name"><span>AnyCodable</span>
</h3>
</div>
</div>
<ul>
<li class="item">
<div>
<code>
<a name="/s:8Mixpanel0A11FlagVariantV"></a>
<a name="//apple_ref/swift/Struct/MixpanelFlagVariant" class="dashAnchor"></a>
<a class="token" href="#/s:8Mixpanel0A11FlagVariantV">MixpanelFlagVariant</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>
<a href="Structs/MixpanelFlagVariant.html" class="slightly-smaller">See more</a>
</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="kd">struct</span> <span class="kt">MixpanelFlagVariant</span> <span class="p">:</span> <span class="kt">Decodable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8Mixpanel17ProxyServerConfigV"></a>
<a name="//apple_ref/swift/Struct/ProxyServerConfig" class="dashAnchor"></a>
<a class="token" href="#/s:8Mixpanel17ProxyServerConfigV">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>
<a href="Structs/ProxyServerConfig.html" class="slightly-smaller">See more</a>
</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="kd">struct</span> <span class="kt">ProxyServerConfig</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8Mixpanel0A10LogMessageV"></a>
<a name="//apple_ref/swift/Struct/MixpanelLogMessage" class="dashAnchor"></a>
<a class="token" href="#/s:8Mixpanel0A10LogMessageV">MixpanelLogMessage</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>This holds all the data for each log message, since the formatting is up to each
logging object. It is a simple bag of data</p>
<a href="Structs/MixpanelLogMessage.html" class="slightly-smaller">See more</a>
</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="kd">struct</span> <span class="kt">MixpanelLogMessage</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8Mixpanel18FeatureFlagOptionsV"></a>
<a name="//apple_ref/swift/Struct/FeatureFlagOptions" class="dashAnchor"></a>
<a class="token" href="#/s:8Mixpanel18FeatureFlagOptionsV">FeatureFlagOptions</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Configuration options for feature flags behavior.</p>
<p>Use this to control how and when feature flags are loaded by the SDK.</p>
<p><strong>Example — Default behavior (prefetches flags during initialization):</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">featureFlagOptions</span><span class="p">:</span> <span class="kt">FeatureFlagOptions</span><span class="p">(</span><span class="nv">enabled</span><span class="p">:</span> <span class="kc">true</span><span class="p">)</span>
<span class="p">)</span>
</code></pre>
<p><strong>Example — Deferred loading (for use with identify):</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">featureFlagOptions</span><span class="p">:</span> <span class="kt">FeatureFlagOptions</span><span class="p">(</span><span class="nv">enabled</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span> <span class="nv">prefetchFlags</span><span class="p">:</span> <span class="kc">false</span><span class="p">)</span>
<span class="p">)</span>
<span class="k">let</span> <span class="nv">mp</span> <span class="o">=</span> <span class="kt">Mixpanel</span><span class="o">.</span><span class="nf">initialize</span><span class="p">(</span><span class="nv">options</span><span class="p">:</span> <span class="n">options</span><span class="p">)</span>
<span class="c1">// identify() triggers loadFlags() internally when the distinctId changes</span>
<span class="n">mp</span><span class="o">.</span><span class="nf">identify</span><span class="p">(</span><span class="nv">distinctId</span><span class="p">:</span> <span class="s">"user123"</span><span class="p">)</span>
</code></pre>
<p>If <code>identify</code> may be called with the same persisted distinctId (no change),
call <code>mp.flags.loadFlags()</code> explicitly to ensure flags are fetched.</p>
<a href="Structs/FeatureFlagOptions.html" class="slightly-smaller">See more</a>
</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="kd">struct</span> <span class="kt">FeatureFlagOptions</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8Mixpanel19ServerProxyResourceV"></a>
<a name="//apple_ref/swift/Struct/ServerProxyResource" class="dashAnchor"></a>
<a class="token" href="#/s:8Mixpanel19ServerProxyResourceV">ServerProxyResource</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>
<a href="Structs/ServerProxyResource.html" class="slightly-smaller">See more</a>
</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="kd">struct</span> <span class="kt">ServerProxyResource</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2026 <a class="link" href="http://mixpanel.com" target="_blank" rel="external noopener">Mixpanel</a>. All rights reserved. (Last updated: 2026-03-17)</p>
<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>
</section>
</article>
</div>
</body>
</html>