Banner - Atmosplay/AtmosplayAds-iOS GitHub Wiki
Create a AtmosplayBanner
A AtmosplayBanner
can be instantiated directly.
Here's an example of how to create a AtmosplayBanner
, with a banner size of 320x50:
#import <AtmosplayAds/AtmosplayBanner.h>
@interface AtmosplayBannerViewController () <AtmosplayBannerDelegate>
@property (nonatomic) AtmosplayBanner *bannerView;
@end
@implementation AtmosplayBannerViewController
- (void)initBanner {
self.bannerView =
[[AtmosplayBanner alloc] initWithAppID:@"YOUR_App_ID" adUnitID:@"YOUR_AdUnitID" rootViewController:self];
self.bannerView.delegate = self;
self.bannerView.bannerSize = kAtmosplayBanner320x50;
}
@end
Banner Size
/// Represents the fixed banner ad size
typedef NS_ENUM(NSUInteger, AtmosplayBannerSize) {
/// iPhone and iPod Touch ad size. Typically 320x50.
kAtmosplayBanner320x50 = 1 << 0,
/// Leaderboard size for the iPad. Typically 728x90.
kAtmosplayBanner728x90 = 1 << 1,
/// An ad size that spans the full width of the application in portrait orientation. The height is
/// typically 50 pixels on an iPhone/iPod UI, and 90 pixels tall on an iPad UI.
kAtmosplaySmartBannerPortrait = 1 << 3,
/// An ad size that spans the full width of the application in landscape orientation. The height is
/// typically 32 pixels on an iPhone/iPod UI, and 90 pixels tall on an iPad UI.
kAtmosplaySmartBannerLandscape = 1 << 4
};
Request Banner
- (void)requestBanner {
if (!self.bannerView) {
return;
}
[self.bannerView loadAd];
}
Implementing banner events
/// Tells the delegate that an ad has been successfully loaded.
- (void)AtmosplayBannerViewDidLoad:(AtmosplayBanner *)bannerView {
dispatch_async(dispatch_get_main_queue(), ^{
CGFloat y = self.view.frame.size.height - (bannerView.frame.size.height / 2);
if (@available(iOS 11, *)) {
y -= self.view.safeAreaInsets.bottom;
}
bannerView.center = CGPointMake(self.view.frame.size.width / 2, y);
[self.view addSubview:bannerView];
});
}
/// Tells the delegate that a request failed.
- (void)AtmosplayBannerView:(AtmosplayBanner *)bannerView didFailWithError:(NSError *)error {
}
/// Tells the delegate that the banner view has been clicked.
- (void)AtmosplayBannerViewDidClick:(AtmosplayBanner *)bannerView {
}
Destroy Banner
- (void)destroyBanner {
self.bannerView.delegate = nil;
[self.bannerView removeFromSuperview];
self.bannerView = nil;
}