# Show Ads

## Showing a Fullscreen Ad

The new Fullscreen APIs combine the existing Rewarded and Interstitial ad formats with the new Rewarded Interstitial ad format into a single integration experience. The older APIs have been marked deprecated, but are still functional until the 5.0.0 SDK release.

Once you receive the Fullscreen ad from the ad load request, you are ready to show it at your convenience.

<ul class="tab" data-tab="e9e3d622-43c0-49bd-9222-664038c997b4" data-name="iosShowFullscreenAd">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="e9e3d622-43c0-49bd-9222-664038c997b4" data-name="iosShowFullscreenAd">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Set the delegate before showing the ad</span>
<span class="n">ad</span><span class="o">.</span><span class="n">delegate</span> <span class="o">=</span> <span class="k">self</span>
<span class="n">ad</span><span class="o">.</span><span class="nf">show</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">view</span> <span class="n">controller</span><span class="o">&gt;</span><span class="p">)</span> <span class="p">{</span> <span class="n">result</span> <span class="k">in</span>
    <span class="k">if</span> <span class="k">let</span> <span class="nv">error</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">error</span> <span class="p">{</span>
        <span class="c1">// Handle the error</span>
    <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
        <span class="c1">// The ad was shown</span>
    <span class="p">}</span>
<span class="p">}</span>

<span class="err">—</span><span class="o">--------------</span>
<span class="kt">Delegate</span> <span class="kt">Usage</span>
<span class="err">—</span><span class="o">--------------</span>

<span class="kd">func</span> <span class="nf">didRecordImpression</span><span class="p">(</span><span class="nv">ad</span><span class="p">:</span> <span class="kt">ChartboostMediationFullscreenAd</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// Handle ad impression</span>
<span class="p">}</span>

<span class="kd">func</span> <span class="nf">didClick</span><span class="p">(</span><span class="nv">ad</span><span class="p">:</span> <span class="kt">ChartboostMediationFullscreenAd</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// Handle ad clicked</span>
<span class="p">}</span>

<span class="kd">func</span> <span class="nf">didReward</span><span class="p">(</span><span class="nv">ad</span><span class="p">:</span> <span class="kt">ChartboostMediationFullscreenAd</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// Handle ad reward</span>
<span class="p">}</span>

<span class="kd">func</span> <span class="nf">didClose</span><span class="p">(</span><span class="nv">ad</span><span class="p">:</span> <span class="kt">ChartboostMediationFullscreenAd</span><span class="p">,</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="k">if</span> <span class="k">let</span> <span class="nv">error</span> <span class="o">=</span> <span class="n">error</span> <span class="p">{</span>
        <span class="c1">// Handle error</span>
    <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
        <span class="c1">// Handle ad closed</span>
    <span class="p">}</span>
<span class="p">}</span>

<span class="kd">func</span> <span class="nf">didExpire</span><span class="p">(</span><span class="nv">ad</span><span class="p">:</span> <span class="kt">ChartboostMediationFullscreenAd</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// Handle ad expired</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">// Set the delegate before showing the ad</span>
<span class="n">ad</span><span class="p">.</span><span class="n">delegate</span> <span class="o">=</span> <span class="n">self</span><span class="p">;</span>
<span class="p">[</span><span class="n">ad</span> <span class="nf">showWith</span><span class="p">:</span><span class="o">&lt;</span><span class="n">view</span> <span class="n">controller</span><span class="o">&gt;</span> <span class="nf">completion</span><span class="p">:</span><span class="o">^</span><span class="p">(</span><span class="n">ChartboostMediationAdShowResult</span> <span class="o">*</span><span class="n">result</span><span class="p">)</span> <span class="p">{</span>
    <span class="k">if</span> <span class="p">(</span><span class="n">result</span><span class="p">.</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">nil</span><span class="p">)</span> <span class="p">{</span>
        <span class="c1">// Handle the error</span>
    <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
        <span class="c1">// The ad was shown</span>
    <span class="p">}</span>
<span class="p">}];</span>

<span class="err">—</span><span class="o">-------------</span><span class="k">-</span>
<span class="n">Delegate</span> <span class="n">Usage</span>
<span class="err">—</span><span class="o">--------------</span>

<span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didRecordImpressionWithAd</span><span class="p">:(</span><span class="n">id</span><span class="o">&lt;</span><span class="n">ChartboostMediationFullscreenAd</span><span class="o">&gt;</span><span class="p">)</span><span class="nv">ad</span> <span class="p">{</span>
    <span class="c1">// Handle ad impression</span>
<span class="p">}</span>

<span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didClickWithAd</span><span class="p">:(</span><span class="n">id</span><span class="o">&lt;</span><span class="n">ChartboostMediationFullscreenAd</span><span class="o">&gt;</span><span class="p">)</span><span class="nv">ad</span> <span class="p">{</span>
    <span class="c1">// Handle ad clicked</span>
<span class="p">}</span>

<span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didRewardWithAd</span><span class="p">:(</span><span class="n">id</span><span class="o">&lt;</span><span class="n">ChartboostMediationFullscreenAd</span><span class="o">&gt;</span><span class="p">)</span><span class="nv">ad</span> <span class="p">{</span>
    <span class="c1">// Handle ad reward</span>
<span class="p">}</span>

<span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didCloseWithAd</span><span class="p">:(</span><span class="n">id</span><span class="o">&lt;</span><span class="n">ChartboostMediationFullscreenAd</span><span class="o">&gt;</span><span class="p">)</span><span class="nv">ad</span> <span class="nf">error</span><span class="p">:(</span><span class="n">ChartboostMediationError</span> <span class="o">*</span><span class="p">)</span><span class="nv">error</span> <span class="p">{</span>
    <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="nb">nil</span><span class="p">)</span> <span class="p">{</span>
        <span class="c1">// Handle error</span>
    <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
        <span class="c1">// Handle ad closed</span>
    <span class="p">}</span>

<span class="p">}</span>

<span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="nf">didExpireWithAd</span><span class="p">:(</span><span class="n">id</span><span class="o">&lt;</span><span class="n">ChartboostMediationFullscreenAd</span><span class="o">&gt;</span><span class="p">)</span><span class="nv">ad</span> <span class="p">{</span>
    <span class="c1">// Handle ad expired</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>




## Showing Banner Ads

When you’re ready to show a banner ad, you can check that it’s ready to show and then display it like so:

<ul class="tab" data-tab="e39666f4-d59f-46a3-a22e-58ee7ebc2351" data-name="iosshowBannerAds">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="e39666f4-d59f-46a3-a22e-58ee7ebc2351" data-name="iosshowBannerAds">
  
      <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">bannerAd</span> <span class="o">=</span> <span class="n">bannerAd</span> <span class="p">{</span>
    <span class="n">view</span><span class="o">.</span><span class="nf">addSubview</span><span class="p">(</span><span class="n">bannerAd</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">/// Banner ads are now automatically shown. All that you need to do</span>
<span class="c1">/// is add it to the view hierarchy.</span>
<span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">view</span> <span class="nf">addSubview</span><span class="p">:</span><span class="n">self</span><span class="p">.</span><span class="n">bannerAd</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>


If you enable auto-refresh for banner placement in the dashboard, then the Mediation SDK will apply that setting when the placement is shown.

Any auto-refresh changes made on the dashboard will take approximately one hour to take effect and the SDK must be rebooted in order to pick up the changes once they're available.



## Releasing Mediation Ads

To clear resources used by Mediation Ads, you can use the destroy method associated with the respective Mediation Ad you have used.

<ul class="tab" data-tab="fbf8906a-2d62-499d-b8e8-13d368b68aeb" data-name="releaseMediationAds">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="fbf8906a-2d62-499d-b8e8-13d368b68aeb" data-name="releaseMediationAds">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Example of Releasing Banner Ads</span>
<span class="k">if</span> <span class="k">let</span> <span class="nv">bannerAd</span> <span class="o">=</span> <span class="n">bannerAd</span> <span class="p">{</span>
    <span class="n">bannerAd</span><span class="o">.</span><span class="nf">removeFromSuperview</span><span class="p">()</span>
    <span class="k">self</span><span class="o">.</span><span class="n">bannerAd</span> <span class="o">=</span> <span class="kc">nil</span>
    <span class="k">self</span><span class="o">.</span><span class="n">bannerConstraints</span> <span class="o">=</span> <span class="kc">nil</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">// Example of Releasing Banner Ads</span>
<span class="k">if</span> <span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">bannerAd</span><span class="p">)</span> <span class="p">{</span>
      <span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">bannerAd</span> <span class="nf">removeFromSuperview</span><span class="p">];</span>
      <span class="n">self</span><span class="p">.</span><span class="n">bannerAd</span> <span class="o">=</span> <span class="nb">nil</span><span class="p">;</span>
      <span class="n">self</span><span class="p">.</span><span class="n">bannerConstraints</span> <span class="o">=</span> <span class="nb">nil</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


