# Load Ads

## Creating Fullscreen Ads

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.

To show a Fullscreen ad, create a Fullscreen ad load request using the **Placement Name** you set up on your [Chartboost platform](https://platform.chartboost.com/).

<ul class="tab" data-tab="9d2c1a1a-1d8d-46e5-b669-1381f42df0fe" data-name="createFullscreenAd">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="9d2c1a1a-1d8d-46e5-b669-1381f42df0fe" data-name="createFullscreenAd">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">request</span> <span class="o">=</span> <span class="kt">ChartboostMediationAdLoadRequest</span><span class="p">(</span><span class="nv">placement</span><span class="p">:</span> <span class="s">"&lt;placement&gt;"</span><span class="p">,</span> <span class="nv">keywords</span><span class="p">:</span> <span class="o">&lt;</span><span class="n">keywords</span><span class="o">&gt;</span><span class="p">)</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">loadFullscreenAd</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">request</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">ad</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">ad</span> <span class="p">{</span>
        <span class="c1">// The ad is ready to show</span>
    <span class="p">}</span> <span class="k">else</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="p">}</span>

</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">ChartboostMediationAdLoadRequest</span> <span class="o">*</span><span class="n">request</span> <span class="o">=</span> <span class="p">[[</span><span class="n">ChartboostMediationAdLoadRequest</span> <span class="nf">alloc</span><span class="p">]</span> <span class="nf">initWithPlacement</span><span class="p">:</span><span class="s">@"&lt;placement"</span> <span class="nf">keywords</span><span class="p">:</span><span class="o">&lt;</span><span class="n">keywords</span><span class="o">&gt;</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">loadFullscreenAdWithRequest</span><span class="p">:</span><span class="n">request</span> <span class="nf">completion</span><span class="p">:</span><span class="o">^</span><span class="p">(</span><span class="n">ChartboostMediationFullscreenAdLoadResult</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">ad</span> <span class="o">!=</span> <span class="nb">nil</span><span class="p">)</span> <span class="p">{</span>
        <span class="c1">// The ad is ready to show</span>
    <span class="p">}</span> <span class="k">else</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="p">}];</span>
</code></pre></div></div>
</li>
  
</ul>


### Ad Queueing
Ad queueing is a new feature for SDK 4.9.0+ that allows queueing up multiple fullscreen ads to show in succession. This can reduce and potentially eliminate latency for ad experiences that require showing fullscreen ads back to back.

Banners and adaptive banners cannot be queued.

<ul class="tab" data-tab="797a5bec-41ea-4bc2-b367-8668f9ad18f3" data-name="iosAdQueueing">
  
      <li class="active">
          <a href="#">Swift </a>
      </li>
  
</ul>
<ul class="tab-content" id="797a5bec-41ea-4bc2-b367-8668f9ad18f3" data-name="iosAdQueueing">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Define a delegate if you would like to be notified of ads being loaded/expiring</span>
<span class="kd">class</span> <span class="kt">QueueDelegate</span><span class="p">:</span> <span class="kt">FullscreenAdQueueDelegate</span> <span class="p">{</span>
    <span class="kd">func</span> <span class="nf">fullscreenAdQueue</span><span class="p">(</span>
        <span class="n">_</span> <span class="nv">adQueue</span><span class="p">:</span> <span class="kt">FullscreenAdQueue</span><span class="p">,</span>
        <span class="nv">didFinishLoadingWithResult</span><span class="p">:</span> <span class="kt">ChartboostMediationAdLoadResult</span><span class="p">,</span>
        <span class="nv">numberOfAdsReady</span><span class="p">:</span> <span class="kt">Int</span>
        <span class="p">)</span> <span class="p">{</span>
        <span class="nf">print</span><span class="p">(</span><span class="s">"Queue for </span><span class="se">\(</span><span class="n">adQueue</span><span class="o">.</span><span class="n">placement</span><span class="se">)</span><span class="s"> finished loading an ad."</span><span class="p">)</span>
        <span class="nf">print</span><span class="p">(</span><span class="s">"There are now </span><span class="se">\(</span><span class="n">numberOfAdsReady</span><span class="se">)</span><span class="s"> ads queued."</span><span class="p">)</span>
    <span class="p">}</span>

    <span class="kd">func</span> <span class="nf">fullscreenAdQueueDidRemoveExpiredAd</span><span class="p">(</span>
        <span class="n">_</span> <span class="nv">adQueue</span><span class="p">:</span> <span class="kt">FullscreenAdQueue</span><span class="p">,</span>
        <span class="nv">numberOfAdsReady</span><span class="p">:</span> <span class="kt">Int</span>
        <span class="p">)</span> <span class="p">{</span>
        <span class="nf">print</span><span class="p">(</span><span class="s">"Queue for </span><span class="se">\(</span><span class="n">adQueue</span><span class="o">.</span><span class="n">placement</span><span class="se">)</span><span class="s"> removed an expired ad."</span><span class="p">)</span>
        <span class="nf">print</span><span class="p">(</span><span class="s">"</span><span class="se">\(</span><span class="n">numberOfAdsReady</span><span class="se">)</span><span class="s"> ads remain queued."</span><span class="p">)</span>
    <span class="p">}</span>
<span class="p">}</span>

<span class="c1">// To get the queue for a specific placement</span>
<span class="k">let</span> <span class="nv">queue</span> <span class="o">=</span> <span class="kt">FullscreenAdQueue</span><span class="o">.</span><span class="nf">queue</span><span class="p">(</span><span class="nv">forPlacement</span><span class="p">:</span> <span class="s">"YourPlacementID"</span><span class="p">)</span>

<span class="c1">// Set the delegate</span>
<span class="k">let</span> <span class="nv">queueDelegate</span> <span class="o">=</span> <span class="kt">QueueDelegate</span><span class="p">()</span>
<span class="n">queue</span><span class="o">.</span><span class="n">delegate</span> <span class="o">=</span> <span class="n">queueDelegate</span>

<span class="c1">// To start queueing ads, use the `start()` method</span>
<span class="n">queue</span><span class="o">.</span><span class="nf">start</span><span class="p">()</span>

<span class="c1">// After some time has elapsed or the delegate has</span>
<span class="c1">// notified of ads loaded into the queue, </span>
<span class="c1">// use the `getNextAd()` method to get an ad from the queue</span>
<span class="k">if</span> <span class="k">let</span> <span class="nv">ad</span> <span class="o">=</span> <span class="n">queue</span><span class="o">.</span><span class="nf">getNextAd</span><span class="p">()</span> <span class="p">{</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="n">vc</span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="n">completion</span><span class="p">)</span>
<span class="p">}</span>

<span class="c1">// Keywords can be set at any time, whether the queue is stopped or running.</span>
<span class="c1">// The next ad request sent by the running queue will use the keywords set here.</span>
<span class="n">queue</span><span class="o">.</span><span class="n">keywords</span> <span class="o">=</span> <span class="p">[</span><span class="s">"key"</span><span class="p">:</span> <span class="s">"value"</span><span class="p">]</span>

<span class="c1">// The dashboard's queue size settings can be overridden at runtime.</span>
<span class="c1">// If this placement has a Queue Size setting of 2 and Max Queue Size</span>
<span class="c1">// is 4 or 5, this line of code will increase this queue's size to</span>
<span class="c1">// 4. But if Max Queue Size is smaller than the number passed to</span>
<span class="c1">// setQueueCapacity, the queue size will only be increased up to the</span>
<span class="c1">// allowed maximum. So if Max Queue Size is 3 then an error message</span>
<span class="c1">// will be logged and this queue's size will be changed to 3.</span>
<span class="n">queue</span><span class="o">.</span><span class="nf">setQueueCapacity</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>


<span class="c1">// A running queue stops loading ads once it is full, but</span>
<span class="c1">// will load more ads to replace those that are removed.</span>
<span class="c1">// To stop requesting new ads, call `.stop()`</span>
<span class="n">queue</span><span class="o">.</span><span class="nf">stop</span><span class="p">()</span>

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


## Banner Ads for SDK 4.6.0+
Mediation SDK 4.6.0 introduces a new [Adaptive Banner](/en/mediation/ad-types/#adaptive-banner/) ad format, capable of serving flexible and fixed sized ads in the placement. The new [Adaptive Banner](/en/mediation/ad-types/#adaptive-banner/) ad format has the following features:
- Publishers can choose whether to use Adaptive Ads or Fixed Ads in a given placement.
- Fixed Ads are supported in Adaptive Ad placements (backwards compatible).
- Publishers should know whether an ad is fixed or flexible and receive the dimensions of fixed ads.
- Publishers can align the ad horizontally and/or vertically.
- Publishers can resize the ad container to fit the ad or optionally discard oversized ads that are rendered in the container.
- The ad container can be in-line or on top of publisher content.

To use this new ad format, Publishers will need to create a new Adaptive Banner placement in their platform and integrate with the new Adaptive Banner APIs.

<div class="alert alert-warning" role="alert">
  <b>Caution:</b> Google Bidding does not support 0 height adaptive banner sizes and will result in no fill.
</div>


### Loading Banner ads

The API class `ChartboostMediationBannerSize` will support both fixed and adaptive banners:

|Field|Description|
|--|--|
|`static standard: ChartboostMediationBannerSize`|Static constant that returns a fixed `STANDARD` banner with a size of 320x50.|
|`static medium: ChartboostMediationBannerSize`|Static constant that returns a fixed MREC `MEDIUM` banner with a size of 300x250.|
|`static leaderboard: ChartboostMediationBannerSize`|Static constant that returns a fixed `LEADERBOARD` banner with a size of 728x90.|
|`let type: ChartboostMediationBannerType`|An enum specifying that the ad size is fixed (size cannot change), or adaptive (size can change but must maintain aspectRatio). This is an integer based enum.|
|`let size: CGSize`|The size of the ad.|
|`var aspectRatio: CGFloat`|The aspect ratio of the ad. This can be derived from the size. Will be 0 if either the width or the height are <= 0.|
|`static func adaptive(width: CGFloat)`|Creates a flexible/adaptive banner size with 0 height.|
|`static func adaptive(width: CGFloat, maxHeight: CGFloat)`|Creates a flexible/adaptive banner size with a width and max height. Used either when the height of an inline ad should be capped, or when requesting an anchored banner.|
|`<additional conveniences>` {::nomarkdown}<li><code>static func adaptive2x1(width: CGFloat) -> ChartboostMediationBannerSize</code></li><li><code>static func adaptive4x1(width: CGFloat) -> ChartboostMediationBannerSize</code></li><li><code>static func adaptive6x1(width: CGFloat) -> ChartboostMediationBannerSize</code></li><li><code>static func adaptive8x1(width: CGFloat) -> ChartboostMediationBannerSize</code></li><li><code>static func adaptive10x1(width: CGFloat) -> ChartboostMediationBannerSize</code></li><li><code>static func adaptive1x2(width: CGFloat) -> ChartboostMediationBannerSize</code></li><li><code>static func adaptive1x3(width: CGFloat) -> ChartboostMediationBannerSize</code></li><li><code>static func adaptive1x4(width: CGFloat) -> ChartboostMediationBannerSize</code></li><li><code>static func adaptive9x16(width: CGFloat) -> ChartboostMediationBannerSize</code></li><li><code>static func adaptive1x1(width: CGFloat) -> ChartboostMediationBannerSize</code></li> {:/} |This provides additional conveniences to create sizes based on the IAB ratios (e.g. 6:1, 1:1) with a width. For example, using the 6:1 convenience with a 600 width would return a size of 600x100. Note that these are max sizes, therefore smaller sizes or other aspect ratios may be served.|



<ul class="tab" data-tab="db3d3603-0700-4137-b323-6380750917d1" data-name="ios460LoadingBannerAds">
  
      <li class="active">
          <a href="#">SWIFT </a>
      </li>
  
</ul>
<ul class="tab-content" id="db3d3603-0700-4137-b323-6380750917d1" data-name="ios460LoadingBannerAds">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">let</span> <span class="nv">banner</span> <span class="o">=</span> <span class="kt">ChartboostMediationBannerView</span><span class="p">()</span>
<span class="n">banner</span><span class="o">.</span><span class="n">delegate</span> <span class="o">=</span> <span class="k">self</span>


<span class="c1">// Determine the max size of ad to load.</span>
<span class="k">let</span> <span class="nv">size</span> <span class="o">=</span> <span class="kt">ChartboostMediationBannerSize</span><span class="o">.</span><span class="nf">adaptive</span><span class="p">(</span><span class="nv">width</span><span class="p">:</span> <span class="o">&lt;</span><span class="kt">MAX_WIDTH</span><span class="o">&gt;</span><span class="p">,</span> <span class="nv">maxHeight</span><span class="p">:</span> <span class="o">&lt;</span><span class="kt">MAX_HEIGHT</span><span class="o">&gt;</span><span class="p">)</span>

<span class="c1">// Create a request with the size and your placement name.</span>
<span class="k">let</span> <span class="nv">request</span> <span class="o">=</span> <span class="kt">ChartboostMediationBannerLoadRequest</span><span class="p">(</span>
<span class="nv">placement</span><span class="p">:</span> <span class="s">"&lt;PLACEMENT_NAME&gt;"</span><span class="p">,</span>
<span class="nv">size</span><span class="p">:</span> <span class="n">size</span>
<span class="p">)</span>

<span class="c1">// Load the banner ad.        </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="n">request</span><span class="p">,</span> <span class="nv">viewController</span><span class="p">:</span> <span class="k">self</span><span class="p">)</span> <span class="p">{</span> <span class="p">[</span><span class="k">weak</span> <span class="k">self</span><span class="p">]</span> <span class="n">result</span> <span class="k">in</span>
<span class="c1">// Handle result</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


To receive the creative size of successfully loaded ads, call the following. If the returned size is -1, then it is a flexible width returned by the partner.

<ul class="tab" data-tab="43e24468-cc0d-4c8a-afaf-3c0e052dddb7" data-name="iOSAdaptiveLoadCallback">
  
      <li class="active">
          <a href="#">SWIFT </a>
      </li>
  
</ul>
<ul class="tab-content" id="43e24468-cc0d-4c8a-afaf-3c0e052dddb7" data-name="iOSAdaptiveLoadCallback">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">bannerAd</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="n">request</span><span class="p">,</span> <span class="nv">viewController</span><span class="p">:</span> <span class="k">self</span><span class="p">)</span> <span class="p">{</span> <span class="p">[</span><span class="k">weak</span> <span class="k">self</span><span class="p">]</span> <span class="n">result</span> <span class="k">in</span>
    <span class="k">let</span> <span class="nv">size</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">size</span>
    <span class="c1">// Do something with the size</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>


### Resizing Adaptive Banner Container

<ul class="tab" data-tab="0036252a-69bc-4a6c-9dc9-afc20de331c8" data-name="ios460resizingadaptivebanner">
  
      <li class="active">
          <a href="#">SWIFT </a>
      </li>
  
</ul>
<ul class="tab-content" id="0036252a-69bc-4a6c-9dc9-afc20de331c8" data-name="ios460resizingadaptivebanner">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">func</span> <span class="nf">willAppear</span><span class="p">(</span><span class="nv">bannerView</span><span class="p">:</span> <span class="kt">ChartboostMediationBannerView</span><span class="p">)</span> <span class="p">{</span>
<span class="c1">// Manual layout</span>
<span class="n">bannerView</span><span class="o">.</span><span class="n">frame</span><span class="o">.</span><span class="n">size</span> <span class="o">=</span> <span class="n">bannerView</span><span class="o">.</span><span class="n">size</span><span class="p">?</span><span class="o">.</span><span class="n">size</span> <span class="p">??</span> <span class="o">.</span><span class="n">zero</span>

<span class="c1">// The alignment of the ad can be changed if the frame of the bannerView is larger than the ad.</span>
<span class="n">bannerView</span><span class="o">.</span><span class="n">horizontalAlignment</span> <span class="o">=</span> <span class="o">.</span><span class="n">left</span>
<span class="n">bannerView</span><span class="o">.</span><span class="n">verticalAlignment</span> <span class="o">=</span> <span class="o">.</span><span class="n">top</span>

    <span class="c1">// Auto-layout will automatically resize the bannerView based on the set constraints.</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>



## Banner Ads for SDK 4.5.x and prior

<div class="alert alert-warning" role="alert">
  <b>Caution:</b> The following are deprecated in SDK 4.6.0 but will continue to be supported for SDK  4.5.x and prior. We recommend staying up to date with the latest SDK for continued feature support.
</div>

### Creating Banner Ads

To show a banner ad, declare a variable to hold a reference to the **Banner Mediation Ad** and supply the corresponding **Placement Name** and **Banner Size**.

<ul class="tab" data-tab="9f9656cc-a48c-40c6-a947-ecc6963cddb5" data-name="createBannerAd">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="9f9656cc-a48c-40c6-a947-ecc6963cddb5" data-name="createBannerAd">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">var</span> <span class="nv">bannerAd</span><span class="p">:</span> <span class="kt">HeliumBannerView</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">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">MediationBannerView</span> <span class="o">*</span><span class="n">bannerAd</span><span class="p">;</span>
</code></pre></div></div>
</li>
  
</ul>


| Banner Enum | Dimensions (Width x Height) |
| :---------- | :-------------------------- |
| Standard    | (320 x 50)                  |
| Medium      | (300 x 250)                 |
| Leaderboard | (728 x 90)                  |


<ul class="tab" data-tab="c5cb54ad-cdba-41a0-9025-c91c6de6dbb4" data-name="bannerEnum">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="c5cb54ad-cdba-41a0-9025-c91c6de6dbb4" data-name="bannerEnum">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/*
     The following Banner enum Sizes can be passed down:
      .standard
      .medium
      .leaderboard
*/</span>

<span class="c1">/// Mediation banner ad instance must be retained for the lifetime of the ad.</span>
<span class="k">var</span> <span class="nv">bannerAd</span><span class="p">:</span> <span class="kt">HeliumBannerView</span><span class="p">?</span>

<span class="k">if</span> <span class="n">bannerAd</span> <span class="o">==</span> <span class="kc">nil</span> <span class="p">{</span>
    <span class="k">let</span> <span class="nv">bannerSize</span> <span class="o">=</span> <span class="kt">CHBHBannerSize</span><span class="o">.</span><span class="n">standard</span>
    <span class="k">self</span><span class="o">.</span><span class="n">bannerAd</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">"MY_BANNER_PLACEMENT"</span><span class="p">,</span> <span class="nv">andSize</span><span class="p">:</span> <span class="n">bannerSize</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="cm">/*
     The following Banner enum Sizes can be passed down:
      CHBHBannerSize_Standard
      CHBHBannerSize_Medium
      CHBHBannerSize_Leaderboard
*/</span>

<span class="c1">/// Helium banner ad instance must be retained for the lifetime of the ad.</span>
<span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">strong</span><span class="p">)</span> <span class="n">HeliumBannerView</span> <span class="o">*</span><span class="n">bannerAd</span><span class="p">;</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="o">==</span> <span class="nb">nil</span><span class="p">)</span> <span class="p">{</span>
  <span class="n">CHBHBannerSize</span> <span class="n">bannerSize</span> <span class="o">=</span> <span class="n">CHBHBannerSize_Standard</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="p">[</span><span class="n">HeliumSdk</span><span class="p">.</span><span class="n">sharedHelium</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">@"MY_BANNER_PLACEMENT"</span> <span class="n">andSize</span><span class="o">:</span><span class="n">bannerSize</span><span class="p">];</span>
<span class="p">}</span>

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



### Loading Banner Ads

To create an instance for each **Placement Name** you want to use make the following call to load the ad:

<ul class="tab" data-tab="80b0bde9-a154-4e1b-9e82-b3e9745dab83" data-name="loadBannerAd">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="80b0bde9-a154-4e1b-9e82-b3e9745dab83" data-name="loadBannerAd">
  
      <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">bannerAd</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="n">viewControllerForModalContent</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="k">if</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="p">{</span>
  <span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">bannerAd</span> <span class="nf">loadAdWithViewController</span><span class="p">:</span><span class="n">viewControllerForModalContent</span><span class="p">];</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>




## Clearing Loaded Ads

Clearing loaded ads may be necessary on existing placements to request another ad (i.e. for an in-house programmatic auction). 

### Clearing Interstitial and Rewarded Ads

<ul class="tab" data-tab="936e0681-538f-4fe1-9f97-e669824203fa" data-name="clearLoadedAd">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="936e0681-538f-4fe1-9f97-e669824203fa" data-name="clearLoadedAd">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">interstitialAd</span><span class="p">?</span><span class="o">.</span><span class="nf">clearLoadedAd</span><span class="p">()</span>
<span class="n">rewardedAd</span><span class="p">?</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="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">interstitialAd</span> <span class="nf">clearLoadedAd</span><span class="p">];</span>
<span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">rewardedAd</span> <span class="nf">clearLoadedAd</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>


### Clearing Banner Ads

This will clear the currently displayed ad and any cached ad loaded for an auto refresh.

<ul class="tab" data-tab="ea35eba2-e9b5-474f-8dcb-c1a400d077e7" data-name="clearBannerAd">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="ea35eba2-e9b5-474f-8dcb-c1a400d077e7" data-name="clearBannerAd">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">bannerAd</span><span class="p">?</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="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">bannerAd</span> <span class="nf">clearAd</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>



