mixpanel-swift/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Structs/FeatureFlagOptions.html
ketanmixpanel 44b215162e
Release 6.3.0 (#718)
* Version 6.3.0

* Update docs
2026-04-17 23:11:42 +05:30

348 lines
17 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>FeatureFlagOptions Structure 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/Struct/FeatureFlagOptions" class="dashAnchor"></a>
<a title="FeatureFlagOptions Structure Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">Mixpanel 6.3.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=""/>
<a href="../Structs.html">Structures</a>
<img id="carat" src="../img/carat.png" alt=""/>
FeatureFlagOptions Structure 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>FeatureFlagOptions</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">FeatureFlagOptions</span></code></pre>
</div>
</div>
<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>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:8Mixpanel18FeatureFlagOptionsV7enabledSbvp"></a>
<a name="//apple_ref/swift/Property/enabled" class="dashAnchor"></a>
<a class="token" href="#/s:8Mixpanel18FeatureFlagOptionsV7enabledSbvp">enabled</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Whether feature flags are enabled. Defaults to <code>false</code>.</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">enabled</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:8Mixpanel18FeatureFlagOptionsV7contextSDySSypGvp"></a>
<a name="//apple_ref/swift/Property/context" class="dashAnchor"></a>
<a class="token" href="#/s:8Mixpanel18FeatureFlagOptionsV7contextSDySSypGvp">context</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Custom context dictionary sent with flag fetch requests.</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">context</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></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:8Mixpanel18FeatureFlagOptionsV13prefetchFlagsSbvp"></a>
<a name="//apple_ref/swift/Property/prefetchFlags" class="dashAnchor"></a>
<a class="token" href="#/s:8Mixpanel18FeatureFlagOptionsV13prefetchFlagsSbvp">prefetchFlags</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Whether the SDK should prefetch feature flags during initialization.
Defaults to <code>true</code>.</p>
<p>Set to <code>false</code> if you need to call <code>identify</code> before the first flag fetch,
then manually trigger loading via <code>flags.loadFlags()</code>.</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">prefetchFlags</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:8Mixpanel18FeatureFlagOptionsV7enabled7context13prefetchFlagsACSb_SDySSypGSbtcfc"></a>
<a name="//apple_ref/swift/Method/init(enabled:context:prefetchFlags:)" class="dashAnchor"></a>
<a class="token" href="#/s:8Mixpanel18FeatureFlagOptionsV7enabled7context13prefetchFlagsACSb_SDySSypGSbtcfc">init(enabled:<wbr>context:<wbr>prefetchFlags:<wbr>)</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="nf">init</span><span class="p">(</span>
<span class="nv">enabled</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">context</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>
<span class="nv">prefetchFlags</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span>
<span class="p">)</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-04-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>