# Migration from Helium 3.X to Chartboost Mediation 4.X

## Artifactory

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

### Chartboost Mediation SDK

| Helium 3.X            | Chartboost Mediation 4.0.0              |
| :-------------------- | :-------------------------------------- |
| com.chartboost:helium | com.chartboost:chartboost-mediation-sdk |

### Partner Adapters

Beginning with Chartboost Mediation SDK 4.0.0, the partner network adapters will no longer be bundled with the main Chartboost Mediation SDK distribution. This decoupling of the Helium SDK releases from the partner network adapter releases will allow for more rapid iterations of the adapters as the adapters will reside in their own open-source repositories.


| Partner Network           | Helium 3.X                          | Chartboost Mediation 4.0.0                                            |
| :------------------------ | :---------------------------------- | :-------------------------------------------------------------------- |
| AdMob                     | com.chartboost:helium-admob         | com.chartboost:chartboost-mediation-adapter-admob                     |
| Amazon Publisher Services | com.chartboost:helium-aps           | com.chartboost:chartboost-mediation-adapter-amazon-publisher-services |
| AppLovin                  | com.chartboost:helium-applovin      | com.chartboost:chartboost-mediation-adapter-applovin                  |
| Chartboost                | com.chartboost:helium-chartboost    | com.chartboost:chartboost-mediation-adapter-chartboost                |
| Digital Turbine Exchange  | com.chartboost:helium-fyber         | com.chartboost:chartboost-mediation-adapter-digital-turbine-exchange  |
| Google Bidding            | com.chartboost:helium-googlebidding | com.chartboost:chartboost-mediation-adapter-google-bidding            |
| InMobi                    | com.chartboost:helium-inmobi        | com.chartboost:chartboost-mediation-adapter-inmobi                    |
| IronSource                | com.chartboost:helium-ironsource    | com.chartboost:chartboost-mediation-adapter-ironsource                |
| Meta Audience Network     | com.chartboost:helium-facebook      | com.chartboost:chartboost-mediation-adapter-meta-audience-network     |
| Mintegral                 | com.chartboost:helium-mintegral     | com.chartboost:chartboost-mediation-adapter-mintegral                 |
| Pangle                    | com.chartboost:helium-pangle        | com.chartboost:chartboost-mediation-adapter-pangle                    |
| Unity Ads                 | com.chartboost:helium-unityads      | com.chartboost:chartboost-mediation-adapter-unity-ads                 |
| Vungle                    | com.chartboost:helium-vungle        | com.chartboost:chartboost-mediation-adapter-vungle                    |

### Partner Adapter Repositories


| Partner Network           | Android Repository                                                                             |
| :------------------------ | :--------------------------------------------------------------------------------------------- |
| AdMob                     | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-admob>                     |
| Amazon Publisher Services | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-amazon-publisher-services> |
| AppLovin                  | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-applovin>                  |
| Chartboost                | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-chartboost>                |
| Digital Turbine Exchange  | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-digital-turbine-exchange>  |
| Google Bidding            | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-google-bidding>            |
| HyprMX                    | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-hyprmx>                    |
| InMobi                    | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-inmobi>                    |
| IronSource                | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-ironsource>                |
| Meta Audience Network     | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-meta-audience-network>     |
| Mintegral                 | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-mintegral>                 |
| Pangle                    | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-pangle>                    |
| Unity Ads                 | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-unity-ads>                 |
| Vungle                    | <https://github.com/ChartBoost/chartboost-mediation-android-adapter-vungle>                    |


### Adapter Versioning Scheme

With Chartboost Mediation 4.X+, the partner adapter versions uses floating pegs and are formatted as follows:

```
<chartboost_mediation_sdk_major_version>.<partner_sdk_version>.<adapter_revision>
```
- **Chartboost Mediation SDK Major Version**: This is the major version of the Chartboost Mediation SDK that the adapter is compatible with.
- **Partner SDK Version**: This is the full partner SDK version that the adapter is compatible with. Note that this could be the traditional `major.minor.patch` version scheme, but there are some partners that have a `major.minor.patch.revision` version scheme.
- **Adapter Revision**: This is the full partner SDK version that the adapter is compatible with. Note that this could be the traditional `major.minor.patch` version scheme, but there are some partners that have a `major.minor.patch.revision` version scheme.

The following are some examples of adapter versions for Chartboost Mediation SDK 4.0.0.

| Partner    | Adapter Version | Chartboost Mediation SDK Major Version | Compatible Partner SDK Version | Adapter Revision |
| :--------- | :-------------- | :------------------------------------- | :----------------------------- | :--------------- |
| AdMob   | 4.21.5.0.2      | 4                                      | 21.5.0                          | 2                |
| IronSource | 4.7.2.5.1.0     | 4                                      | 7.2.5.1                        | 0                |

#### Adding Ad Network SDKs

To integrate other ad networks via Mediation, you will need to include the Mediation adapters:

Please check each respective repository or refer to our [Chartboost Mediation Adapters](https://adapters.chartboost.com/){:target="_blank"} for ad network versions. Chartboost Mediation SDK 4.x series is compatible with any adapter also in the 4.x series. 

The following are only the initial adapters released with version 4.0.0.

```groovy
implementation 'com.chartboost:chartboost-mediation-adapter-admob:4.21.3.0.0'
implementation 'com.chartboost:chartboost-mediation-adapter-amazon-publisher-services:4.9.6.2.0'
implementation 'com.chartboost:chartboost-mediation-adapter-applovin:4.11.5.5.0'
implementation 'com.chartboost:chartboost-mediation-adapter-chartboost:4.9.2.0.0'
implementation 'com.chartboost:chartboost-mediation-adapter-digital-turbine-exchange:4.8.2.1.0'
implementation 'com.chartboost:chartboost-mediation-adapter-google-bidding:4.21.3.0.0'
implementation 'com.chartboost:chartboost-mediation-adapter-hyprmx:4.6.0.3.0'
implementation 'com.chartboost:chartboost-mediation-adapter-inmobi:4.10.1.1.0'
implementation 'com.chartboost:chartboost-mediation-adapter-ironsource:4.7.2.5.0.0'
implementation 'com.chartboost:chartboost-mediation-adapter-meta-audience-network:4.6.12.0.0'
implementation 'com.chartboost:chartboost-mediation-adapter-mintegral:4.16.0.31.0'
implementation 'com.chartboost:chartboost-mediation-adapter-pangle:4.4.3.0.4.0'
implementation 'com.chartboost:chartboost-mediation-adapter-unity-ads:4.4.4.1.0'
implementation 'com.chartboost:chartboost-mediation-adapter-vungle:4.6.12.0.0'
```


## Public API

### Helium Name

The HeliumSdk name will currently stay for the duration of 4.x. We will deprecate this during the 4.x series and provide migration docs when we move over to the new Chartboost Mediation APIs.

### Constructors

#### Interstitial

The constructor for `HeliumInterstitialAd` has been changed to include `Context` as the first parameter. The placement name param (String) is now the second parameter.

Helium 3.x
<ul class="tab" data-tab="29fbb720-56c2-431a-8eb8-2ec3e68b4511" data-name="constructorInterstitial3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="29fbb720-56c2-431a-8eb8-2ec3e68b4511" data-name="constructorInterstitial3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumInterstitialAd</span><span class="p">(</span><span class="nc">String</span><span class="p">,</span> <span class="nc">HeliumInterstitialAdListener</span><span class="p">)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumInterstitialAd</span><span class="o">(</span><span class="nd">@NonNull</span> <span class="nc">String</span><span class="o">,</span> <span class="nd">@Nullable</span> <span class="nc">HeliumInterstitialAdListener</span><span class="o">)</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="a1aea749-527b-4718-ae1b-6a3e65ee01fb" data-name="constructorInterstitial4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="a1aea749-527b-4718-ae1b-6a3e65ee01fb" data-name="constructorInterstitial4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumInterstitialAd</span><span class="p">(</span><span class="nc">Context</span><span class="p">,</span> <span class="nc">String</span><span class="p">,</span> <span class="nc">HeliumFullscreenAdListener</span><span class="p">?)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumInterstitialAd</span><span class="o">(</span><span class="nd">@NonNull</span> <span class="nc">Context</span><span class="o">,</span> <span class="nd">@NonNull</span> <span class="nc">String</span><span class="o">,</span> <span class="nd">@Nullable</span> <span class="nc">HeliumFullscreenAdListener</span><span class="o">)</span>
</code></pre></div></div>
</li>
  
</ul>


#### Rewarded

The constructor for `HeliumRewardedAd` has been changed to include `Context` as the first parameter. The placement name param (String) is now the second parameter.

Helium 3.x
<ul class="tab" data-tab="31c5efa3-4467-4f76-afcf-16fb95bffd31" data-name="constructorRewarded3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="31c5efa3-4467-4f76-afcf-16fb95bffd31" data-name="constructorRewarded3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumRewardedAd</span><span class="p">(</span><span class="nc">String</span><span class="p">,</span> <span class="nc">HeliumRewardedAdListener</span><span class="p">)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumRewardedAd</span><span class="o">(</span><span class="nd">@NonNull</span> <span class="nc">String</span><span class="o">,</span> <span class="nd">@Nullable</span> <span class="nc">HeliumRewardedAdListener</span><span class="o">)</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="bdfaffbb-6eb5-485c-a205-4f90adf7c31c" data-name="constructorRewarded4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="bdfaffbb-6eb5-485c-a205-4f90adf7c31c" data-name="constructorRewarded4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumRewardedAd</span><span class="p">(</span><span class="nc">Context</span><span class="p">,</span> <span class="nc">String</span><span class="p">,</span> <span class="nc">HeliumFullscreenAdListener</span><span class="p">?)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumRewardedAd</span><span class="o">(</span><span class="nd">@NonNull</span> <span class="nc">Context</span><span class="o">,</span> <span class="nd">@NonNull</span> <span class="nc">String</span><span class="o">,</span> <span class="nd">@Nullable</span> <span class="nc">HeliumFullscreenAdListener</span><span class="o">)</span>
</code></pre></div></div>
</li>
  
</ul>


### Load Request Identifier

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

#### Banner

Helium 3.x
<ul class="tab" data-tab="7f5dd786-bee8-47cf-852f-ef1ab7ddb226" data-name="androidloadBanner3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="7f5dd786-bee8-47cf-852f-ef1ab7ddb226" data-name="androidloadBanner3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">val</span> <span class="py">banner</span> <span class="p">=</span> <span class="nc">HeliumBannerAd</span><span class="p">([</span><span class="n">params</span><span class="p">])</span>
<span class="kd">val</span> <span class="py">loadId</span> <span class="p">=</span> <span class="n">banner</span><span class="p">.</span><span class="nf">load</span><span class="p">()</span>
<span class="c1">// loadId holds the request identifier</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumBannerAd</span> <span class="n">banner</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HeliumBannerAd</span><span class="o">([</span><span class="n">params</span><span class="o">])</span>
<span class="nc">String</span> <span class="n">loadId</span> <span class="o">=</span> <span class="n">banner</span><span class="o">.</span><span class="na">load</span><span class="o">()</span>
<span class="c1">// loadId holds the request identifier</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="53ac5c97-eb40-4369-a5f8-c26f14d0aa75" data-name="androidloadBanner4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="53ac5c97-eb40-4369-a5f8-c26f14d0aa75" data-name="androidloadBanner4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumBannerAdListener</span>
<span class="k">fun</span> <span class="nf">onAdCached</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">loadId</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">winningBidInfo</span><span class="p">:</span> <span class="nc">Map</span><span class="p">&lt;</span><span class="nc">String</span><span class="p">,</span> <span class="nc">String</span><span class="p">&gt;,</span> <span class="n">error</span><span class="p">:</span> <span class="nc">ChartboostMediationAdException</span><span class="p">?)</span> <span class="p">{</span>
    <span class="c1">// loadId holds the request identifier</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumBannerAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">onAdCached</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">loadId</span><span class="o">,</span> <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">winningBidInfo</span><span class="o">,</span> <span class="nc">ChartboostMediationAdException</span> <span class="n">error</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// loadId holds the request identifier</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>


#### Interstitial

Helium 3.x
<ul class="tab" data-tab="1ef4cf36-7be4-44e8-a0dc-7902fc17901c" data-name="androidloadInterstitial3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="1ef4cf36-7be4-44e8-a0dc-7902fc17901c" data-name="androidloadInterstitial3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">val</span> <span class="py">interstitial</span> <span class="p">=</span> <span class="nc">HeliumInterstitialAd</span><span class="p">([</span><span class="n">params</span><span class="p">])</span>
<span class="kd">val</span> <span class="py">loadId</span> <span class="p">=</span> <span class="n">interstitial</span><span class="p">.</span><span class="nf">load</span><span class="p">()</span>
<span class="c1">// loadId holds the request identifier</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumInterstitialAd</span> <span class="n">interstitial</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HeliumInterstitialAd</span><span class="o">([</span><span class="n">params</span><span class="o">]);</span>
<span class="nc">String</span> <span class="n">loadId</span> <span class="o">=</span> <span class="n">interstitial</span><span class="o">.</span><span class="na">load</span><span class="o">();</span>
<span class="c1">// loadId holds the request identifier</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="dc827666-cc1a-45d2-979c-307098cc2386" data-name="androidloadInterstitial4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="dc827666-cc1a-45d2-979c-307098cc2386" data-name="androidloadInterstitial4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="k">fun</span> <span class="nf">onAdCached</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">loadId</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">winningBidInfo</span><span class="p">:</span> <span class="nc">Map</span><span class="p">&lt;</span><span class="nc">String</span><span class="p">,</span> <span class="nc">String</span><span class="p">&gt;,</span> <span class="n">error</span><span class="p">:</span> <span class="nc">ChartboostMediationAdException</span><span class="p">?)</span> <span class="p">{</span>
    <span class="c1">// loadId holds the request identifier</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">onAdCached</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">loadId</span><span class="o">,</span> <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">winningBidInfo</span><span class="o">,</span> <span class="nc">ChartboostMediationAdException</span> <span class="n">error</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// loadId holds the request identifier</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>


#### Rewarded

Helium 3.x
<ul class="tab" data-tab="392d3f2e-5933-4326-967c-06b57fb9e28a" data-name="androidloadRewarded3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="392d3f2e-5933-4326-967c-06b57fb9e28a" data-name="androidloadRewarded3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">val</span> <span class="py">rewardedAd</span> <span class="p">=</span> <span class="nc">HeliumRewardedAd</span><span class="p">([</span><span class="n">params</span><span class="p">])</span>
<span class="kd">val</span> <span class="py">loadId</span> <span class="p">=</span> <span class="n">rewardedAd</span><span class="p">.</span><span class="nf">load</span><span class="p">()</span>
<span class="c1">// loadId holds the request identifier</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nc">HeliumRewardedAd</span> <span class="n">rewardedAd</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HeliumRewardedAd</span><span class="o">([</span><span class="n">params</span><span class="o">]);</span>
<span class="nc">String</span> <span class="n">loadId</span> <span class="o">=</span> <span class="n">rewardedAd</span><span class="o">.</span><span class="na">load</span><span class="o">();</span>
<span class="c1">// loadId holds the request identifier</span>
</code></pre></div></div>
</li>
  
</ul>



Mediation 4.x
<ul class="tab" data-tab="2a363da2-54b3-4199-a6a9-eecf09bce838" data-name="androidloadRewarded4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="2a363da2-54b3-4199-a6a9-eecf09bce838" data-name="androidloadRewarded4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="k">fun</span> <span class="nf">onAdCached</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">loadId</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">winningBidInfo</span><span class="p">:</span> <span class="nc">Map</span><span class="p">&lt;</span><span class="nc">String</span><span class="p">,</span> <span class="nc">String</span><span class="p">&gt;,</span> <span class="n">error</span><span class="p">:</span> <span class="nc">ChartboostMediationAdException</span><span class="p">?)</span> <span class="p">{</span>
    <span class="c1">// loadId holds the request identifier</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">onAdCached</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">loadId</span><span class="o">,</span> <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">winningBidInfo</span><span class="o">,</span> <span class="nc">ChartboostMediationAdException</span> <span class="n">error</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// loadId holds the request identifier</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>



### Clear Loaded Ad

#### Banner

Helium 3.x
<ul class="tab" data-tab="eadc6156-5068-4ac2-abe4-a334fc79582e" data-name="clearLoadBanner3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="eadc6156-5068-4ac2-abe4-a334fc79582e" data-name="clearLoadBanner3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">val</span> <span class="py">success</span> <span class="p">=</span> <span class="n">banner</span><span class="p">.</span><span class="nf">clearAd</span><span class="p">()</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">boolean</span> <span class="n">success</span> <span class="o">=</span> <span class="n">banner</span><span class="o">.</span><span class="na">clearAd</span><span class="o">();</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="566ec852-4a52-4606-9d32-6fa1e42a7566" data-name="clearLoadBanner4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="566ec852-4a52-4606-9d32-6fa1e42a7566" data-name="clearLoadBanner4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// The result of `clearAd()` is assumed to succeed.</span>
<span class="n">banner</span><span class="p">.</span><span class="nf">clearAd</span><span class="p">()</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// The result of `clearAd()` is assumed to succeed.</span>
<span class="n">banner</span><span class="o">.</span><span class="na">clearAd</span><span class="o">();</span>
</code></pre></div></div>
</li>
  
</ul>



#### Interstitial

Helium 3.x
<ul class="tab" data-tab="57093c3b-b4b3-4f44-9d00-4e3f4a18d014" data-name="clearLoadedInterstitial3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="57093c3b-b4b3-4f44-9d00-4e3f4a18d014" data-name="clearLoadedInterstitial3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">val</span> <span class="py">success</span> <span class="p">=</span> <span class="n">interstitial</span><span class="p">.</span><span class="nf">clearLoaded</span><span class="p">()</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">boolean</span> <span class="n">success</span> <span class="o">=</span> <span class="n">interstitial</span><span class="o">.</span><span class="na">clearLoaded</span><span class="o">();</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="e8191937-61cc-4165-a535-edebe5496421" data-name="clearLoadedInterstitial4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="e8191937-61cc-4165-a535-edebe5496421" data-name="clearLoadedInterstitial4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// The result of `clearLoaded()` is assumed to succeed.</span>
<span class="n">interstitial</span><span class="p">.</span><span class="nf">clearLoadedAd</span><span class="p">()</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// The result of `clearLoaded()` is assumed to succeed.</span>
<span class="n">interstitial</span><span class="o">.</span><span class="na">clearLoaded</span><span class="o">();</span>
</code></pre></div></div>
</li>
  
</ul>



#### Rewarded

Helium 3.x
<ul class="tab" data-tab="5860532e-d357-4b4f-aad9-3c32d0719673" data-name="clearLoadedRewarded3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="5860532e-d357-4b4f-aad9-3c32d0719673" data-name="clearLoadedRewarded3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">val</span> <span class="py">success</span> <span class="p">=</span> <span class="n">rewardedAd</span><span class="p">.</span><span class="nf">clearLoaded</span><span class="p">()</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">boolean</span> <span class="n">success</span> <span class="o">=</span> <span class="n">rewardedAd</span><span class="o">.</span><span class="na">clearLoaded</span><span class="o">();</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="aae163f8-fea0-4683-8384-0764aee3d8c8" data-name="clearLoadedRewarded4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="aae163f8-fea0-4683-8384-0764aee3d8c8" data-name="clearLoadedRewarded4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// The result of `clearLoaded()` is assumed to succeed.</span>
<span class="n">rewarded</span><span class="p">.</span><span class="nf">clearLoaded</span><span class="p">()</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// The result of `clearLoaded()` is assumed to succeed.</span>
<span class="n">rewardedAd</span><span class="o">.</span><span class="na">clearLoaded</span><span class="o">();</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="cfe1140d-ea2c-4beb-870d-9f2a94cff11f" data-name="winningBidBanner3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="cfe1140d-ea2c-4beb-870d-9f2a94cff11f" data-name="winningBidBanner3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumBannerAdListener</span>
<span class="k">fun</span> <span class="nf">didReceiveWinningBid</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">bidInfo</span><span class="p">:</span> <span class="nc">HashMap</span><span class="p">&lt;</span><span class="nc">String</span><span class="p">,</span> <span class="nc">String</span><span class="p">&gt;)</span> <span class="p">{</span>
    <span class="c1">// handle bidInfo</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumBannerAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">didReceiveWinningBid</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">HashMap</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">bidInfo</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// handle bidInfo</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="57272520-225a-4b70-90de-0fbc220f04f4" data-name="winningBidBanner4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="57272520-225a-4b70-90de-0fbc220f04f4" data-name="winningBidBanner4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumBannerAdListener</span>
<span class="k">fun</span> <span class="nf">onAdCached</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">loadId</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">winningBidInfo</span><span class="p">:</span> <span class="nc">Map</span><span class="p">&lt;</span><span class="nc">String</span><span class="p">,</span> <span class="nc">String</span><span class="p">&gt;,</span> <span class="n">error</span><span class="p">:</span> <span class="nc">ChartboostMediationAdException</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-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumBannerAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">onAdCached</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">loadId</span><span class="o">,</span> <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">winningBidInfo</span><span class="o">,</span> <span class="nc">ChartboostMediationAdException</span> <span class="n">error</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// handle winningBidInfo</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>



#### Interstitial

Helium 3.x
<ul class="tab" data-tab="7b28e953-9fad-40ce-bf87-4b197b97ad83" data-name="winningBidInterstitial3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="7b28e953-9fad-40ce-bf87-4b197b97ad83" data-name="winningBidInterstitial3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumInterstitialAdListener</span>
<span class="k">fun</span> <span class="nf">didReceiveWinningBid</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">bidInfo</span><span class="p">:</span> <span class="nc">HashMap</span><span class="p">&lt;</span><span class="nc">String</span><span class="p">,</span> <span class="nc">String</span><span class="p">&gt;)</span> <span class="p">{</span>
    <span class="c1">// handle bidInfo</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumInterstitialAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">didReceiveWinningBid</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">HashMap</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">bidInfo</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// handle bidInfo</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="905a62e2-3bef-47db-a9c6-15babe6f2721" data-name="winningBidInterstitial4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="905a62e2-3bef-47db-a9c6-15babe6f2721" data-name="winningBidInterstitial4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="k">fun</span> <span class="nf">onAdCached</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">loadId</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">winningBidInfo</span><span class="p">:</span> <span class="nc">Map</span><span class="p">&lt;</span><span class="nc">String</span><span class="p">,</span> <span class="nc">String</span><span class="p">&gt;,</span> <span class="n">error</span><span class="p">:</span> <span class="nc">ChartboostMediationAdException</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-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">onAdCached</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">loadId</span><span class="o">,</span> <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">winningBidInfo</span><span class="o">,</span> <span class="nc">ChartboostMediationAdException</span> <span class="n">error</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// handle winningBidInfo</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>


#### Rewarded

Helium 3.x
<ul class="tab" data-tab="982f65f3-4a10-41ef-9e6c-11fc2a824717" data-name="winningBidRewarded3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="982f65f3-4a10-41ef-9e6c-11fc2a824717" data-name="winningBidRewarded3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumRewardedAdListener</span>
<span class="k">fun</span> <span class="nf">didReceiveWinningBid</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">bidInfo</span><span class="p">:</span> <span class="nc">HashMap</span><span class="p">&lt;</span><span class="nc">String</span><span class="p">,</span> <span class="nc">String</span><span class="p">&gt;)</span> <span class="p">{</span>
    <span class="c1">// handle bidInfo</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumRewardedAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">didReceiveWinningBid</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">HashMap</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">bidInfo</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// handle bidInfo</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="2a703c5e-c5ef-45f2-858d-104f252381e6" data-name="winningBidRewarded4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="2a703c5e-c5ef-45f2-858d-104f252381e6" data-name="winningBidRewarded4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="k">fun</span> <span class="nf">onAdCached</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">loadId</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">winningBidInfo</span><span class="p">:</span> <span class="nc">Map</span><span class="p">&lt;</span><span class="nc">String</span><span class="p">,</span> <span class="nc">String</span><span class="p">&gt;,</span> <span class="n">error</span><span class="p">:</span> <span class="nc">ChartboostMediationAdException</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-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">onAdCached</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">loadId</span><span class="o">,</span> <span class="nc">Map</span><span class="o">&lt;</span><span class="nc">String</span><span class="o">,</span> <span class="nc">String</span><span class="o">&gt;</span> <span class="n">winningBidInfo</span><span class="o">,</span> <span class="nc">ChartboostMediationAdException</span> <span class="n">error</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// handle winningBidInfo</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>



### New Rewarded Callback

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

#### Rewarded

Helium 3.x
<ul class="tab" data-tab="e373564c-7f24-43aa-a984-a6d009d7e788" data-name="androidcallbackRewarded3x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="e373564c-7f24-43aa-a984-a6d009d7e788" data-name="androidcallbackRewarded3x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumRewardedAdListener</span>
<span class="k">fun</span> <span class="nf">didReceiveReward</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">String</span><span class="p">,</span> <span class="n">reward</span><span class="p">:</span> <span class="nc">String</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// Old reward was a String and never provided useful information</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">didReceiveReward</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">,</span> <span class="nc">String</span> <span class="n">reward</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// Old reward was a String and never provided useful information</span>
<span class="o">}</span>
</code></pre></div></div>
</li>
  
</ul>


Mediation 4.x
<ul class="tab" data-tab="0f2f5e7d-e4f5-454c-8429-ceaeebc9f2c5" data-name="androidcallbackRewarded4x">
  
      <li class="active">
          <a href="#">Kotlin </a>
      </li>
  
      <li>
          <a href="#">Java </a>
      </li>
  
</ul>
<ul class="tab-content" id="0f2f5e7d-e4f5-454c-8429-ceaeebc9f2c5" data-name="androidcallbackRewarded4x">
  
      <li class="active">
<div class="language-kotlin highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="k">fun</span> <span class="nf">onAdRewarded</span><span class="p">(</span><span class="n">placementName</span><span class="p">:</span> <span class="nc">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-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// in HeliumFullscreenAdListener</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">onAdRewarded</span><span class="o">(</span><span class="nc">String</span> <span class="n">placementName</span><span class="o">)</span> <span class="o">{</span>
    <span class="c1">// Rewarding was successful</span>
<span class="o">}</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/android/error-codes/) for more information.


