Creating Interstitial & Rewarded Ads

To show an ad, create a variable to hold a reference to either the Interstitial or Rewarded Mediation Ad:

var interstitialAd: HeliumInterstitialAd?
var rewardedAd: HeliumRewardedAd?
@property (nonatomic) id<HeliumInterstialAd> interstitialAd;
@property (nonatomic) id<HeliumRewardedAd> rewardedAd;

Using the Placement Name you set up on your dashboard, get an instance of a Mediation Ad with the following:

self.interstitialAd = Helium.shared().interstitialAdProvider(with: self, andPlacementName: "MYMEDIATIONPLACEMENT1")
self.rewardedAd = Helium.shared().rewardedAdProvider(with: self, andPlacementName: "MYMEDIATIONPLACEMENT2")
self.interstitialAd = [[HeliumSdk sharedHelium] interstitialAdProviderWithDelegate:self andPlacementName:@"MYMEDIATIONPLACEMENT1"];
self.rewardedAd = [[HeliumSdk sharedHelium] rewardedAdProviderWithDelegate:self andPlacementName:@"MYMEDIATIONPLACEMENT2"];

Loading Interstitial & Rewarded Ads

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

interstitialAd?.load()
rewardedAd?.load()
[self.interstitialAd loadAd];
[self.rewardedAd loadAd];

You can implement CHBHeliumInterstitialAdDelegate or CHBHeliumRewardedAdDelegate in your class to receive notifications about the success or failure of the ad loading process. See iOS Delegate Usage for more details.

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.

var bannerAd: HeliumBannerView?
@property (nonatomic) MediationBannerView *bannerAd;
Banner EnumDimensions (Width x Height)
Standard(320 x 50)
Medium(300 x 250)
Leaderboard(728 x 90)
/*
     The following Banner enum Sizes can be passed down:
      .standard
      .medium
      .leaderboard
*/

/// Mediation banner ad instance must be retained for the lifetime of the ad.
var bannerAd: HeliumBannerView?

if bannerAd == nil {
    let bannerSize = CHBHBannerSize.standard
    self.bannerAd = Helium.shared().bannerProvider(with: self, andPlacementName: "MY_BANNER_PLACEMENT", andSize: bannerSize)
}
/*
     The following Banner enum Sizes can be passed down:
      CHBHBannerSize_Standard
      CHBHBannerSize_Medium
      CHBHBannerSize_Leaderboard
*/

/// Helium banner ad instance must be retained for the lifetime of the ad.
@property (nonatomic, strong) HeliumBannerView *bannerAd;

if (self.bannerAd == nil) {
  CHBHBannerSize bannerSize = CHBHBannerSize_Standard;
  self.bannerAd = [HeliumSdk.sharedHelium bannerProviderWithDelegate:self andPlacementName:@"MY_BANNER_PLACEMENT" andSize:bannerSize];
}

Loading Banner Ads

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

if let bannerAd = bannerAd {
    bannerAd.load(with: viewControllerForModalContent)
}

if (self.bannerAd != nil) {
  [self.bannerAd loadAdWithViewController:viewControllerForModalContent];
}

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

interstitialAd?.clearLoadedAd()
rewardedAd?.clearLoadedAd()
[self.interstitialAd clearLoadedAd];
[self.rewardedAd clearLoadedAd];

Clearing Banner Ads

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

bannerAd?.clear()
[self.bannerAd clearAd];