iAd广告是苹果官方广告平台,我们可以在iOS平台上放置iAd广告。对于在iAd中投放广告的商家有很高的门 ??制,不过相对而言对开发者的回报??较好,???的是,iAd广告?持的国家很少?。
?广告?????一样?在屏幕上,在屏幕中?一位置?有部分?间。?点???广告时,导航到另外的
一个应用或者?出模态??以?现广告的细节。点?关?广告按钮,可以回到原?的屏幕。
*无论?屏还是?屏的情况,??广告在不同iOS设备中的???是?定的,具体如下所示。
? *在iPhone 4以及之前设备和iPod touch第4代以及设备?屏的情况下,??广告的??是480×32。 ? 在iPhone 5和iPod touch第5代?屏的情况下,??广告的??是568×32。
? *在iPhone和iPod touch?屏的情况下,??广告的??是320×50。
? *在iPad?屏的情况下,??广告的??是1024×66。
? *在iPad?屏的情况下,??广告的??是768×66。
那么下面就是使用ADBannerView的几个步骤:
1、在使用iAd之前,?需要引入iAd 框架 (iAd.framework):
2、初始化ADBannerView方法:
self.bannerView=[[ADBannerView alloc] initWithFrame:CGRectZero];
self.bannerView.currentContentSizeIdentifier=ADBannerContentSizeIdentifierPortrait;//目前的banner类型
self.bannerView.delegate=self;
//在父窗口下方显示
self.bannerView.frame=CGRectOffset(self.bannerView.frame, 0, 0);
[self.view addSubview:self.bannerView];
别忘了ADBannerView有自己的协议方法需要实现。
@interface ViewController : UIViewController<UIScrollViewDelegate,ADBannerViewDelegate>
3、创建动画的方法:
- (void)layoutAnimated:(BOOL)animated
{
//在iOS 6中,广告栏是自动调整的
//为了支持iOS 5.0及以下版本,还需要设定currentContentSizeIdentifier
// #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0
// CGRect contentFrame = self.view.bounds;
// if (contentFrame.size.width < contentFrame.size.height) {
// self.bannerView.currentContentSizeIdentifier =
// ADBannerContentSizeIdentifierPortrait;
// } else {
// self.bannerView.currentContentSizeIdentifier =
// ADBannerContentSizeIdentifierLandscape;
// }
//#endif
CGRect bannerFrame=self.bannerView.frame;
// if(self.bannerView.userInteractionEnabled){//判断bannerView是否在画面内
// }
if (self.bannerView.bannerLoaded) {//判断ADBanner是否加载成功
//设置在屏幕上边
bannerFrame.origin.y=0;
}else{
//设置在屏幕外边,使之隐藏起来
bannerFrame.origin.y=-self.bannerView.frame.size.height;
}
[UIView animateWithDuration:animated?0.25:0.0 animations:^{
_bannerView.frame=bannerFrame;
}];
}
//#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0
//- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)
//interfaceOrientation
//{
// return YES;
//}
//#endif
4、实现ADBannerView和UIScrollerView的协议
-(void)bannerViewDidLoadAd:(ADBannerView *)banner{
NSLog(@"广告加载成功");
[self layoutAnimated:YES];
}
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{
NSLog(@"广告加载失败");
[self layoutAnimated:YES];
}
-(void)bannerViewActionDidFinish:(ADBannerView *)banner{
NSLog(@"广告关闭");
[self layoutAnimated:YES];
}
#pragma mark UIScrollerView
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
int page=scrollView.contentOffset.x/scrollView.frame.size.width;
self.pageController.currentPage=page;
}
那么ADBannerView广告横幅就基本完成,最后附上一张效果图: