# Initialize Mediation

## Add the Import Header

Add the following import header to the top of any class file that will be using a Mediation class:

<ul class="tab" data-tab="f9791f88-4068-47ea-a76d-98ebd5a34c5b" data-name="iosImportHeader">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="f9791f88-4068-47ea-a76d-98ebd5a34c5b" data-name="iosImportHeader">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">import</span> <span class="kt">ChartboostMediationSDK</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#import &lt;ChartboostMediationSDK/ChartboostMediationSDK-Swift.h&gt;
</span></code></pre></div></div>
</li>
  
</ul>




## Initialize Mediation

Using the Mediation `AppId` from your Helium Dashboard setup, initialize the Mediation SDK with the following code:

<ul class="tab" data-tab="98d1f3b7-8360-4316-9b92-960b8fffac96" data-name="iosInitializeMediation">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="98d1f3b7-8360-4316-9b92-960b8fffac96" data-name="iosInitializeMediation">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Helium</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span><span class="o">.</span><span class="nf">start</span><span class="p">(</span><span class="nv">withAppId</span><span class="p">:</span> <span class="s">"MYMEDIATIONAPPID"</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="nv">delegate</span><span class="p">:</span> <span class="k">self</span><span class="p">)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[[</span><span class="n">Helium</span> <span class="nf">sharedHelium</span><span class="p">]</span> <span class="nf">startWithAppId</span><span class="p">:</span><span class="s">@"MYHELIUMAPPID"</span> <span class="nf">options</span><span class="p">:</span><span class="n">options</span> <span class="n">delegate</span><span class="o">:</span><span class="n">self</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>



Make sure that the Mediation `AppId` value is obtain directly from your Mediation Dashboard for your app as opposed to credentials from Chartboost or any other Ad Network.

You can implement the `HeliumSdkDelegate` in your class to receive notifications about the success or failure of the SDK initialization. See [Delegate Usage](/en/mediation/integrate/ios/delegate-usage/) for more details.

Once the Mediation SDK has successfully started, you can start showing ads.



## Advanced Settings

### Initialization Metrics

The Mediation SDK contains an optional callback for receiving SDK initialization metrics in a JSON format. To utilize the API, use the following code snippets. Subscribing is highly recommended once initialization has succeeded.

<ul class="tab" data-tab="6117606d-28b9-4f97-9be8-57158c1296d8" data-name="initializeMetrics">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="6117606d-28b9-4f97-9be8-57158c1296d8" data-name="initializeMetrics">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Subscribing to Mediation SDK initialization results.</span>
<span class="kt">NotificationCenter</span><span class="o">.</span><span class="k">default</span><span class="o">.</span><span class="nf">addObserver</span><span class="p">(</span><span class="nv">forName</span><span class="p">:</span> <span class="o">.</span><span class="n">heliumDidReceiveInitResults</span><span class="p">,</span> <span class="nv">object</span><span class="p">:</span> <span class="kc">nil</span><span class="p">,</span> <span class="nv">queue</span><span class="p">:</span> <span class="kc">nil</span><span class="p">)</span> <span class="p">{</span> <span class="n">notification</span> <span class="k">in</span>
  <span class="c1">// Extract the results JSON payload.</span>
  <span class="k">let</span> <span class="nv">results</span> <span class="o">=</span> <span class="n">notification</span><span class="o">.</span><span class="n">object</span> <span class="k">as?</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>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Subscribing to Mediation SDK initialization results.</span>
<span class="p">[</span><span class="n">NSNotificationCenter</span><span class="p">.</span><span class="n">defaultCenter</span> <span class="nf">addObserverForName</span><span class="p">:</span><span class="n">kHeliumDidReceiveInitResultsNotification</span>
                                                <span class="nl">object:</span><span class="nb">nil</span>
                                                 <span class="nl">queue:</span><span class="nb">nil</span>
                                             <span class="nl">usingBlock:</span><span class="o">^</span><span class="p">(</span><span class="n">NSNotification</span> <span class="o">*</span> <span class="n">_Nonnull</span> <span class="n">notification</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// Extract the results payload.</span>
    <span class="n">NSDictionary</span> <span class="o">*</span><span class="n">results</span> <span class="o">=</span> <span class="p">(</span><span class="n">NSDictionary</span> <span class="o">*</span><span class="p">)</span><span class="n">notification</span><span class="p">.</span><span class="n">object</span><span class="p">;</span>
<span class="p">}];</span>
</code></pre></div></div>
</li>
  
</ul>



### Network Kill Switch

The Mediation SDK initialization method has been expanded to take in optional initialization parameters. One of those parameters is a set of network adapter identifiers to skip initialization for the session.

<ul class="tab" data-tab="68053524-1207-4c46-a471-8e2554b2b6b2" data-name="networkKillSwitch">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="68053524-1207-4c46-a471-8e2554b2b6b2" data-name="networkKillSwitch">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create Mediation SDK options to disable specific networks</span>
<span class="k">let</span> <span class="nv">options</span> <span class="o">=</span> <span class="kt">HeliumInitializationOptions</span><span class="p">(</span><span class="nv">skippedPartnerIdentifiers</span><span class="p">:</span> <span class="p">[</span><span class="s">"network_identifier"</span><span class="p">,</span> <span class="s">"network_identifier2"</span><span class="p">])</span>
<span class="k">let</span> <span class="nv">helium</span> <span class="o">=</span> <span class="kt">Helium</span><span class="o">.</span><span class="nf">shared</span><span class="p">()</span>
<span class="n">helium</span><span class="o">.</span><span class="nf">start</span><span class="p">(</span><span class="nv">withAppId</span><span class="p">:</span> <span class="s">"appIdentifier"</span><span class="p">,</span> <span class="nv">andAppSignature</span><span class="p">:</span> <span class="s">"appSignature"</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="nv">delegate</span><span class="p">:</span> <span class="k">self</span><span class="p">)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">HeliumInitializationOptions</span> <span class="o">*</span><span class="n">options</span> <span class="o">=</span> <span class="p">[[</span><span class="n">HeliumInitializationOptions</span> <span class="nf">alloc</span><span class="p">]</span> <span class="nf">initWithSkippedPartnerIdentifiers</span><span class="p">:@[</span> <span class="s">@"network_identifier"</span><span class="p">,</span> <span class="s">@"network_identifier2"</span> <span class="p">]];</span>
<span class="p">[[</span><span class="n">Helium</span> <span class="nf">sharedHelium</span><span class="p">]</span> <span class="nf">startWithAppId</span><span class="p">:</span><span class="s">@"appIdentifier"</span> <span class="nf">andAppSignature</span><span class="p">:</span><span class="s">@"appSignature"</span> <span class="n">options</span><span class="o">:</span><span class="n">options</span> <span class="n">delegate</span><span class="o">:</span><span class="n">self</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>



#### Network Adapter Identifiers

| Network                   | Identifier           |
| ------------------------- | -------------------- |
| AdMob                     | admob                |
| Amazon Publisher Services | amazon_aps           |
| AppLovin                  | applovin             |
| BidMachine                | bidmachine           |
| Meta Audience Network     | facebook             |
| Digital Turbine Exchange  | fyber                |
| Google Bidding            | google_googlebidding |
| InMobi                    | inmobi               |
| IronSource                | ironsource           |
| Mintegral                 | mintegral            |
| Pangle                    | pangle               |
| Unity                     | unity                |
| Vungle                    | vungle               |
| MobileFuse                | mobilefuse           |
| Verve                     | verve                |
| HyprMX                    | hyprmx               |



