iOS Ad Formats

Banner Interstitial Rewarded Medium Rectangle

Banner Ads

After creating placements in the DT Console, add the following code snippets in the chosen context of your app. Access the Placement ID by using the copy button next to the placement name. For more information about creating placements in the DT Console, read here.


Banners are rectangle ads appearing either at the top or bottom of the screen when the user interacts with your app. The user can view them but cannot dismiss them. Banners are automatically refreshed by the DT FairBid SDK after 20 seconds.

The DT FairBid SDK refreshes banners automatically. To avoid discrepancies with Digital Turbine's and 3rd-party network's reporting, any automatic or manual banner refresh settings on 3rd-party network SDKs must be disabled.

Showing a Banner

Implement the code below to show a Banner:

#import <FairBidSDK/FairBid.h> 
      FYBBanner.delegate = [[MyBannerDelegate alloc] init]; 
      NSString *placementId = @"1234"; 
      FYBBannerOptions *bannerOptions = [[FYBBannerOptions alloc] init]; 
bannerOptions.placementId = placementId; [FYBBanner showBannerInView:self.view position:FYBBannerAdViewPositionBottom options:bannerOptions];
FYBBanner.delegate = MyBannerDelegate() 
    let placementId = "1234" 
    let bannerOptions = FYBBannerOptions() 
    bannerOptions.placementId = placementId as NSString self.view, position: .bottom, options: bannerOptions)

Hiding the Banner

If you want to hide the banner temporarily, implement the code below:

NSString *placementId = @"1234"; [FYBBanner hide:placementId];
let placementId = "1234" FYBBanner.hide(placementId)

Destroying the Banner

Once you have decided that you no longer want to use the banner, you must destroy it.

To destroy the banner, implement the code below:

NSString *placementId = @"1234"; [FYBBanner destroy:placementId];
let placementId = "1234" FYBBanner.destroy(placementId)


Adaptive Banners

By enabling the adaptive banner feature, you can receive the best banner size based on the ad width and screen size. This feature is currently supported by Google AdMob, Google Bidding, and Google Ad Manager only. This feature is disabled by default.

Networks that support adaptive banners will return ads with the best-fit height based on your banner size. Other networks will continue to deliver banners according to the specified ad size.

To use this feature, add the "adaptive" flag when defining your banner size using the code below:

NSString *placementId = @"12345";
FYBBannerOptions *options = [[FYBBannerOptions alloc] initWithPlacementId:placementId position:FYBBannerAdViewPositionTop];
options.adaptive = YES;
[FYBBanner showBannerInView:view options:options];
let view: UIView = parent!.navigationController!.tabBarController!.view
let placementId = "12345"
let options = FYBBannerOptions(placementId: placementId, position: .bottom)
options.adaptive = true view, options: options)


Adding Callbacks

The callback code below is required for the SDK to properly track the activity of your ad.

#import <FairBidSDK/FairBid.h> 

@interface MyBannerDelegate : NSObject

@implementation MyBannerDelegate
- (void)bannerDidLoad:(FYBBannerAdView *)banner impressionData:(FYBImpressionData *)impressionData {
// Called when an ad is loaded }
- (void)bannerDidFailToLoad:(NSString *)placementId withError:(NSError *)error {
// Called when an error arises when loading an ad }
- (void)bannerDidShow:(FYBBannerAdView *)banner impressionData:(FYBImpressionData *)impressionData { // Called when banner shows up }
- (void)bannerDidClick:(FYBBannerAdView *)banner { // Called when banner is clicked }
- (void)bannerWillPresentModalView:(FYBBannerAdView *)banner { // Called when banner presents modal view
- (void)bannerDidDismissModalView:(FYBBannerAdView *)banner { // Called when banner hides presented modal view }
- (void)bannerWillLeaveApplication:(FYBBannerAdView *)banner { // Called after banner redirects to other application }
- (void)banner:(FYBBannerAdView *)banner didResizeToFrame:(CGRect)frame { // Called after banner changes its size to desired frame }
- (void)bannerWillRequest:(NSString *)placementId withRequestId:(NSString *)requestId {
// Called when a banner is going to be requested. }
class MyBannerDelegate: NSObject, FYBBannerDelegate { 
    func bannerDidLoad(_ banner: FYBBannerAdView, impressionData: FYBImpressionData) {} 
    func bannerDidFail(toLoad placementId: String, 
withError error: Error) {} func bannerDidShow(_ banner: FYBBannerAdView, impressionData: FYBImpressionData) {} func bannerDidClick(_ banner: FYBBannerAdView){} func bannerWillPresentModalView(_ banner: FYBBannerAdView) {} func bannerDidDismissModalView(_ banner: FYBBannerAdView) {} func bannerWillLeaveApplication(_ banner: FYBBannerAdView) {} func banner(_ banner: FYBBannerAdView, didResizeToFrame frame: CGRect) {} func bannerWillRequest(_ placementId: String, withRequestId requestId: String) {}

Back to Top ⇧