在iPhone程式中整合廣告,管他能不能賺錢,不放上一個iAd就心有不甘。
參考了下面這篇文章:
http://bees4honey.com/blog/tutorial/how-to-add-iad-banner-in-iphoneipad-app/
還參考這個Integrating iAds into an iOS 4 iPad App (Xcode 4)教程。
(1)加上iAd架構
在項目設定裡的Build Phases的Link Binary With Libraries,加上iAd.Framework。
(2)
在xib介面裡拖入一個ADBannerView
(3)修改ViewController的.h檔案
#import <iAd/iAd.h>
加上委託
@interface myViewController : UIViewController <ADBannerViewDelegate>
加上輸出口
IBOutlet ADBannerView *adView;
BOOL bannerIsVisible;
@property (nonatomic, retain) ADBannerView *adView;
@property (nonatomic, assign) BOOL bannerIsVisible;
(4)修改ViewController的.m檔案
在viewDidLoad方法裡:
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
adView.delegate = self;
在viewDidUnload方法裡:
adView.delegate = nil;
另外:
為了防止iPhone網路異常時,iAd顯示不出來時是一個空白區,可以在這2個方法再做點工作。
-(void) bannerViewDidLoadAd:(ADBannerView *)banner
{
if(!self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, -100);
[UIView commitAnimations];
self.bannerIsVisible = YES;
}
}
-(void) bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
if(self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, 100);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
}