# Migration from Helium 3.X to Chartboost Mediation 4.0.0

## Cocoapods

As part of Chartboost’s rebranding efforts, Chartboost Mediation 4.0.0 will be using all new Cocoapod names. Use the tables below to assist in migrating from the old Cocoapod name to the updated name.

### Chartboost Mediation SDK

| Helium 3.X       | Chartboost Mediation 4.0.0 |
| :--------------- | :------------------------- |
| ChartboostHelium | ChartboostMediationSDK     |

### Partner Adapters

<div class="alert alert-warning" role="alert">
  <b>Adapter Separation:</b> Starting in Mediation 4.0.0, the Chartboost adapter will require additional integration to the Mediation SDK. See <a href="/en/mediation/integrate/ios/integrate-network-sdks/#adapter-separation" target="_blank">Integrate Network SDKs - Adapter Separation</a> for additional information.
</div>



| Partner Network           | Helium 3.X                           | Chartboost Mediation 4.0.0                        |
| :------------------------ | :----------------------------------- | :------------------------------------------------ |
| AdMob                     | ChartboostHeliumAdapterAdMob         | ChartboostMediationAdapterAdMob                   |
| Amazon Publisher Services | ChartboostHeliumAdapterAPS           | ChartboostMediationAdapterAmazonPublisherServices |
| AppLovin                  | ChartboostHeliumAdapterAppLovin      | ChartboostMediationAdapterAppLovin                |
| Chartboost                | N/A                                  | ChartboostMediationAdapterChartboost              |
| Digital Turbine Exchange  | ChartboostHeliumAdapterFyber         | hartboostMediationAdapterDigitalTurbineExchange   |
| Google Bidding            | ChartboostHeliumAdapterGoogleBidding | ChartboostMediationAdapterGoogleBidding           |
| InMobi                    | ChartboostHeliumAdapterInMobi        | ChartboostMediationAdapterInMobi                  |
| IronSource                | ChartboostHeliumAdapterIronSource    | ChartboostMediationAdapterIronSource              |
| Meta Audience Network     | ChartboostHeliumAdapterFAN           | ChartboostMediationAdapterMetaAudienceNetwork     |
| Mintegral                 | ChartboostHeliumAdapterMintegral     | ChartboostMediationAdapterMintegral               |
| Pangle                    | ChartboostHeliumAdapterPangle        | ChartboostMediationAdapterPangle                  |
| Unity Ads                 | ChartboostHeliumAdapterUnity         | ChartboostMediationAdapterUnityAds                |
| Vungle                    | ChartboostHeliumAdapterVungle        | ChartboostMediationAdapterVungle                  |


## Public API

### Module Name

As part of the rebranding effort, the name of the module has changed. You can easily perform a find and replace in the code base.

The following table shows the various Objective-C and Swift module imports and their renamed equivalents:

| Helium 3.X                        | Chartboost Mediation 4.0.0                                  |
| :-------------------------------- | :---------------------------------------------------------- |
| `#import <HeliumSdk/HeliumSdk.h>` | `#import <ChartboostMediationSDK/ChartboostMediationSDK.h>` |
| `import HeliumSdk`                | `import ChartboostMediationSDK`                             |

### Load Request Identifier

The load request identifier has been moved from being a return value from loads to a parameter in the load completion delegate callback.

#### Banner

Heliuim 3.x
<ul class="tab" data-tab="d9d82cec-7559-4264-938c-5e7d4a1b584e" data-name="loadBanner3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="d9d82cec-7559-4264-938c-5e7d4a1b584e" data-name="loadBanner3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="k">let</span> <span class="nv">banner</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="o">.</span><span class="nf">bannerProvider</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="k">self</span><span class="p">,</span> <span class="nv">andPlacementName</span><span class="p">:</span> <span class="s">"your placement"</span><span class="p">,</span> <span class="nv">andSize</span><span class="p">:</span> <span class="o">.</span><span class="n">standard</span><span class="p">)</span> <span class="p">{</span>
    <span class="k">let</span> <span class="nv">requestIdentifier</span> <span class="o">=</span> <span class="n">banner</span><span class="o">.</span><span class="nf">load</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="k">self</span><span class="p">)</span>
    <span class="c1">// Handle `requestIdentifier`</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">HeliumBannerView</span> <span class="o">*</span><span class="n">banner</span> <span class="o">=</span> <span class="p">[[</span><span class="n">Helium</span> <span class="nf">sharedHelium</span><span class="p">]</span> <span class="nf">bannerProviderWithDelegate</span><span class="p">:</span><span class="n">self</span> <span class="nf">andPlacementName</span><span class="p">:</span><span class="s">@"your placement"</span> <span class="n">andSize</span><span class="o">:</span><span class="n">CHBHBannerSize_Standard</span><span class="p">];</span>
<span class="k">if</span> <span class="p">(</span><span class="n">banner</span> <span class="o">!=</span> <span class="nb">nil</span><span class="p">)</span> <span class="p">{</span>
        <span class="n">NSString</span> <span class="o">*</span><span class="n">requestIdentifier</span> <span class="o">=</span> <span class="p">[</span><span class="n">banner</span> <span class="nf">loadAdWithViewController</span><span class="p">:</span><span class="n">self</span><span class="p">];</span>
        <span class="c1">// Handle `requestIdentifier`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="1abe8d53-66e8-49a6-8158-77907f3ee879" data-name="loadBanner4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="1abe8d53-66e8-49a6-8158-77907f3ee879" data-name="loadBanner4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumBannerAd</span><span class="p">(</span><span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">requestIdentifier</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">winningBidInfo</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="n">didLoadWithError</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">ChartboostMediationError</span><span class="p">?)</span> <span class="p">{</span>
    <span class="c1">// Handle `requestIdentifier`</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumBannerAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">requestIdentifier</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">requestIdentifier</span> <span class="nf">winningBidInfo</span><span class="p">:(</span><span class="n">NSDictionary</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*</span><span class="p">,</span><span class="n">id</span><span class="o">&gt;</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">winningBidInfo</span> <span class="nf">didLoadWithError</span><span class="p">:(</span><span class="n">ChartboostMediationError</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">error</span> <span class="p">{</span>
    <span class="c1">// Handle `requestIdentifier`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>



#### Interstitial

Helium 3.x
<ul class="tab" data-tab="5611a8ff-9577-4043-b62b-2b522b6e1b98" data-name="loadInterstitial3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="5611a8ff-9577-4043-b62b-2b522b6e1b98" data-name="loadInterstitial3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="k">let</span> <span class="nv">interstitial</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="o">.</span><span class="nf">interstitialAdProvider</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="k">self</span><span class="p">,</span> <span class="nv">andPlacementName</span><span class="p">:</span> <span class="s">"your placement"</span><span class="p">)</span> <span class="p">{</span>
    <span class="k">let</span> <span class="nv">requestIdentifier</span> <span class="o">=</span> <span class="n">interstitial</span><span class="o">.</span><span class="nf">load</span><span class="p">()</span>
    <span class="c1">// Handle `requestIdentifier`</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">id</span><span class="o">&lt;</span><span class="n">HeliumInterstitialAd</span><span class="o">&gt;</span> <span class="n">interstitial</span> <span class="o">=</span> <span class="p">[[</span><span class="n">Helium</span> <span class="nf">sharedHelium</span><span class="p">]</span> <span class="nf">interstitialAdProviderWithDelegate</span><span class="p">:</span><span class="n">self</span> <span class="nf">andPlacementName</span><span class="p">:</span><span class="s">@"your placement"</span><span class="p">];</span>
<span class="k">if</span> <span class="p">(</span><span class="n">interstitial</span> <span class="o">!=</span> <span class="nb">nil</span><span class="p">)</span> <span class="p">{</span>
    <span class="n">NSString</span> <span class="o">*</span><span class="n">requestIdentifier</span> <span class="o">=</span> <span class="p">[</span><span class="n">interstitial</span> <span class="nf">loadAd</span><span class="p">];</span>
    <span class="c1">// Handle `requestIdentifier`</span>
<span class="p">}</span>

</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="386c8a31-c20c-4ba7-af06-8613d6db8ca0" data-name="loadInterstitial4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="386c8a31-c20c-4ba7-af06-8613d6db8ca0" data-name="loadInterstitial4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumInterstitialAd</span><span class="p">(</span><span class="n">withPlacementName</span> <span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">requestIdentifier</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">winningBidInfo</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="n">didLoadWithError</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">ChartboostMediationError</span><span class="p">?)</span> <span class="p">{</span>
    <span class="c1">// Handle `requestIdentifier`</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumInterstitialAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">requestIdentifier</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">requestIdentifier</span> <span class="nf">winningBidInfo</span><span class="p">:(</span><span class="n">NSDictionary</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*</span><span class="p">,</span><span class="n">id</span><span class="o">&gt;</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">winningBidInfo</span> <span class="nf">didLoadWithError</span><span class="p">:(</span><span class="n">ChartboostMediationError</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">error</span> <span class="p">{</span>
    <span class="c1">// Handle `requestIdentifier`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>



#### Rewarded

Helium 3.x
<ul class="tab" data-tab="65ec2172-4d36-44f6-9d0a-88f8791364f9" data-name="loadRewarded3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="65ec2172-4d36-44f6-9d0a-88f8791364f9" data-name="loadRewarded3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="k">let</span> <span class="nv">rewarded</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="o">.</span><span class="nf">rewardedAdProvider</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="k">self</span><span class="p">,</span> <span class="nv">andPlacementName</span><span class="p">:</span> <span class="s">"your placement"</span><span class="p">)</span> <span class="p">{</span>
    <span class="k">let</span> <span class="nv">requestIdentifier</span> <span class="o">=</span> <span class="n">rewarded</span><span class="o">.</span><span class="nf">load</span><span class="p">()</span>
    <span class="c1">// Handle `requestIdentifier`</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">id</span><span class="o">&lt;</span><span class="n">HeliumRewardedAd</span><span class="o">&gt;</span> <span class="n">rewarded</span> <span class="o">=</span> <span class="p">[[</span><span class="n">Helium</span> <span class="nf">sharedHelium</span><span class="p">]</span> <span class="nf">rewardedAdProviderWithDelegate</span><span class="p">:</span><span class="n">self</span> <span class="nf">andPlacementName</span><span class="p">:</span><span class="s">@"your placement"</span><span class="p">];</span>
<span class="k">if</span> <span class="p">(</span><span class="n">rewarded</span> <span class="o">!=</span> <span class="nb">nil</span><span class="p">)</span> <span class="p">{</span>
    <span class="n">NSString</span> <span class="o">*</span><span class="n">requestIdentifier</span> <span class="o">=</span> <span class="p">[</span><span class="n">rewarded</span> <span class="nf">loadAd</span><span class="p">];</span>
    <span class="c1">// Handle `requestIdentifier`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="608bb4b4-c53e-4a78-8ec0-cb26fcc2718a" data-name="loadRewarded4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="608bb4b4-c53e-4a78-8ec0-cb26fcc2718a" data-name="loadRewarded4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumRewardedAd</span><span class="p">(</span><span class="n">withPlacementName</span> <span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">requestIdentifier</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">winningBidInfo</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="n">didLoadWithError</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">ChartboostMediationError</span><span class="p">?)</span> <span class="p">{</span>
    <span class="c1">// Handle `requestIdentifier`</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumRewardedAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">requestIdentifier</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">requestIdentifier</span> <span class="nf">winningBidInfo</span><span class="p">:(</span><span class="n">NSDictionary</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*</span><span class="p">,</span><span class="n">id</span><span class="o">&gt;</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">winningBidInfo</span> <span class="nf">didLoadWithError</span><span class="p">:(</span><span class="n">ChartboostMediationError</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">error</span> <span class="p">{</span>
    <span class="c1">// Handle `requestIdentifier`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


### Clear Loaded Ad

The return value for `clearLoadedAd()` has been removed, and it is assumed to succeed.

#### Banner

Helium 3.x
<ul class="tab" data-tab="7ccbd96a-eaa5-46af-b813-46d29d7ca974" data-name="clearBanner3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="7ccbd96a-eaa5-46af-b813-46d29d7ca974" data-name="clearBanner3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">success</span> <span class="o">=</span> <span class="n">banner</span><span class="o">.</span><span class="nf">clear</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">BOOL</span> <span class="n">success</span> <span class="o">=</span> <span class="p">[</span><span class="n">banner</span> <span class="nf">clearAd</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="839c130c-dd8f-4b56-83da-90ae2941750f" data-name="clearBanner4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="839c130c-dd8f-4b56-83da-90ae2941750f" data-name="clearBanner4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// The result of `clear` is assumed to succeed.</span>
<span class="n">banner</span><span class="o">.</span><span class="nf">clear</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">// The result of `clearAd` is assumed to succeed.</span>
<span class="p">[</span><span class="n">banner</span> <span class="nf">clearAd</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>


#### Interstitial

Helium 3.x
<ul class="tab" data-tab="6da599fd-74d0-4b44-b1ad-f307014ee008" data-name="clearInterstitial3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="6da599fd-74d0-4b44-b1ad-f307014ee008" data-name="clearInterstitial3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">success</span> <span class="o">=</span> <span class="n">interstitial</span><span class="o">.</span><span class="nf">clearLoadedAd</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">BOOL</span> <span class="n">success</span> <span class="o">=</span> <span class="p">[</span><span class="n">interstitial</span> <span class="nf">clearLoadedAd</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="bc1120ab-b416-416e-b235-5ea991ee8a4e" data-name="clearInterstitial4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="bc1120ab-b416-416e-b235-5ea991ee8a4e" data-name="clearInterstitial4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// The result of `clearLoadedAd` is assumed to succeed.</span>
<span class="n">interstitial</span><span class="o">.</span><span class="nf">clearLoadedAd</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">// The result of `clearLoadedAd` is assumed to succeed.</span>
<span class="p">[</span><span class="n">interstitial</span> <span class="nf">clearLoadedAd</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>


#### Rewarded

Helium 3.x
<ul class="tab" data-tab="01771fbb-72f3-4b65-880f-751448dac9e7" data-name="clearRewarded3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="01771fbb-72f3-4b65-880f-751448dac9e7" data-name="clearRewarded3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">success</span> <span class="o">=</span> <span class="n">rewarded</span><span class="o">.</span><span class="nf">clearLoadedAd</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">BOOL</span> <span class="n">success</span> <span class="o">=</span> <span class="p">[</span><span class="n">rewarded</span> <span class="nf">clearLoadedAd</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="30a8be93-f1cb-444d-8e76-24c848fb14b9" data-name="clearRewarded4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="30a8be93-f1cb-444d-8e76-24c848fb14b9" data-name="clearRewarded4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// The result of `clearLoadedAd` is assumed to succeed.</span>
<span class="n">rewarded</span><span class="o">.</span><span class="nf">clearLoadedAd</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">// The result of `clearLoadedAd` is assumed to succeed.</span>
<span class="p">[</span><span class="n">rewarded</span> <span class="nf">clearLoadedAd</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>



### Merge Winning Bid Information with Load Completion

The optional winning bid delegates have been merged into the load completion delegate callbacks.

#### Banner

Helium 3.x
<ul class="tab" data-tab="92250823-6107-4d4a-8814-b1cb2cba5ea6" data-name="winningBanner3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="92250823-6107-4d4a-8814-b1cb2cba5ea6" data-name="winningBanner3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumBannerAd</span><span class="p">(</span><span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">didLoadWinningBidWithInfo</span> <span class="nv">bidInfo</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="c1">// Handle `bidInfo`</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumBannerAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">didLoadWinningBidWithInfo</span><span class="p">:(</span><span class="n">NSDictionary</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*</span><span class="p">,</span><span class="n">id</span><span class="o">&gt;</span> <span class="o">*</span><span class="p">)</span><span class="nv">bidInfo</span> <span class="p">{</span>
    <span class="c1">// Handle `bidInfo`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="f3fd0ff4-faa3-4c17-9758-7749565eae51" data-name="winningBanner4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="f3fd0ff4-faa3-4c17-9758-7749565eae51" data-name="winningBanner4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumBannerAd</span><span class="p">(</span><span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">requestIdentifier</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">winningBidInfo</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="n">didLoadWithError</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">ChartboostMediationError</span><span class="p">?)</span> <span class="p">{</span>
    <span class="c1">// Handle `winningBidInfo`</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumBannerAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">requestIdentifier</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">requestIdentifier</span> <span class="nf">winningBidInfo</span><span class="p">:(</span><span class="n">NSDictionary</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*</span><span class="p">,</span><span class="n">id</span><span class="o">&gt;</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">winningBidInfo</span> <span class="nf">didLoadWithError</span><span class="p">:(</span><span class="n">ChartboostMediationError</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">error</span> <span class="p">{</span>
    <span class="c1">// Handle `winningBidInfo`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>



#### Interstitial

Helium 3.x
<ul class="tab" data-tab="c25cffab-303e-4e15-b74d-fba0c4be4abd" data-name="winningInterstitial3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="c25cffab-303e-4e15-b74d-fba0c4be4abd" data-name="winningInterstitial3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumInterstitialAd</span><span class="p">(</span><span class="n">withPlacementName</span> <span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">didLoadWinningBidWithInfo</span> <span class="nv">bidInfo</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="c1">// Handle `bidInfo`</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumInterstitialAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">didLoadWinningBidWithInfo</span><span class="p">:(</span><span class="n">NSDictionary</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*</span><span class="p">,</span><span class="n">id</span><span class="o">&gt;</span> <span class="o">*</span><span class="p">)</span><span class="nv">bidInfo</span> <span class="p">{</span>
    <span class="c1">// Handle `bidInfo`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="d2866361-6760-4665-9f6d-0d007f522eb6" data-name="winningInterstitial4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="d2866361-6760-4665-9f6d-0d007f522eb6" data-name="winningInterstitial4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumInterstitialAd</span><span class="p">(</span><span class="n">withPlacementName</span> <span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">requestIdentifier</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">winningBidInfo</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="n">didLoadWithError</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">ChartboostMediationError</span><span class="p">?)</span> <span class="p">{</span>
    <span class="c1">// Handle `winningBidInfo`</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumInterstitialAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">requestIdentifier</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">requestIdentifier</span> <span class="nf">winningBidInfo</span><span class="p">:(</span><span class="n">NSDictionary</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*</span><span class="p">,</span><span class="n">id</span><span class="o">&gt;</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">winningBidInfo</span> <span class="nf">didLoadWithError</span><span class="p">:(</span><span class="n">ChartboostMediationError</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">error</span> <span class="p">{</span>
    <span class="c1">// Handle `winningBidInfo`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>



#### Rewarded

Helium 3.x
<ul class="tab" data-tab="18008eaf-503e-4611-b201-f9922d6baa41" data-name="winningRewarded3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="18008eaf-503e-4611-b201-f9922d6baa41" data-name="winningRewarded3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumRewardedAd</span><span class="p">(</span><span class="n">withPlacementName</span> <span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">didLoadWinningBidWithInfo</span> <span class="nv">bidInfo</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="c1">// Handle `bidInfo`</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumRewardedAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">didLoadWinningBidWithInfo</span><span class="p">:(</span><span class="n">NSDictionary</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*</span><span class="p">,</span><span class="n">id</span><span class="o">&gt;</span> <span class="o">*</span><span class="p">)</span><span class="nv">bidInfo</span> <span class="p">{</span>
    <span class="c1">// Handle `bidInfo`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="4ec46a16-f6ef-49d8-8d83-425776a73865" data-name="winningRewarded4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="4ec46a16-f6ef-49d8-8d83-425776a73865" data-name="winningRewarded4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumRewardedAd</span><span class="p">(</span><span class="n">withPlacementName</span> <span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">requestIdentifier</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">winningBidInfo</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="n">didLoadWithError</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">ChartboostMediationError</span><span class="p">?)</span> <span class="p">{</span>
    <span class="c1">// Handle `winningBidInfo`</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumRewardedAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">requestIdentifier</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">requestIdentifier</span> <span class="nf">winningBidInfo</span><span class="p">:(</span><span class="n">NSDictionary</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*</span><span class="p">,</span><span class="n">id</span><span class="o">&gt;</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">winningBidInfo</span> <span class="nf">didLoadWithError</span><span class="p">:(</span><span class="n">ChartboostMediationError</span> <span class="o">*</span> <span class="n">_Nullable</span><span class="p">)</span><span class="nv">error</span> <span class="p">{</span>
    <span class="c1">// Handle `winningBidInfo`</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


### New Rewarded Callback

The integer value from the old reward callback has been removed since it never provided useful information.

#### Rewarded

Helium 3.x
<ul class="tab" data-tab="1daefa0b-3980-4571-bcf0-979f82ff1bc0" data-name="callbackRewarded3x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="1daefa0b-3980-4571-bcf0-979f82ff1bc0" data-name="callbackRewarded3x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumRewardedAd</span><span class="p">(</span><span class="n">withPlacementName</span> <span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">didGetReward</span> <span class="nv">reward</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// Old reward was an integer and never provided useful information</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumRewardedAdWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span><span class="p">)</span><span class="nv">placementName</span> <span class="nf">didGetReward</span><span class="p">:(</span><span class="n">NSInteger</span><span class="p">)</span><span class="nv">reward</span> <span class="p">{</span>
    <span class="c1">// Old reward was an integer and never provided useful information</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="fbe1c469-6950-45b9-8c6f-5b6b6ef8aad4" data-name="callbackRewarded4x">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
      <li>
          <a href="#">Objective-C </a>
      </li>
  
</ul>
<ul class="tab-content" id="fbe1c469-6950-45b9-8c6f-5b6b6ef8aad4" data-name="callbackRewarded4x">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">heliumRewardedAdDidGetReward</span><span class="p">(</span><span class="n">withPlacementName</span> <span class="nv">placementName</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// Rewarding was successful</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="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">heliumRewardedAdDidGetRewardWithPlacementName</span><span class="p">:(</span><span class="n">NSString</span> <span class="o">*</span> <span class="n">_Nonnull</span><span class="p">)</span><span class="nv">placementName</span> <span class="p">{</span>
    <span class="c1">// Rewarding was successful</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>




## Error Codes

Helium 4.0.0 introduces a new system of errors (plus dozens of brand new ones) complete with diagnosis and recommendation.

See [Error Codes](/en/mediation/integrate/ios/error-codes/) for more information.

