Banner
於 2014年6月24日 (二) 06:27 由 imported>Wikiuser 所做的修訂 (新頁面: 橫幅廣告只占螢幕的一小部分,使用者點擊後可以有全螢幕的瀏覽體驗,簡單的建立方式讓開發者輕鬆置入廣告 == Banners 大小種類 == {...)
橫幅廣告只占螢幕的一小部分,使用者點擊後可以有全螢幕的瀏覽體驗,簡單的建立方式讓開發者輕鬆置入廣告
Banners 大小種類
BANNER | IAB_MRECT | IAB_BANNER | IAB_LEADERBOARD |
---|---|---|---|
320x50 | 300x250 | 468x60 | 728x90 |
加入 TADBannerView
TADBannerView 物件是 UIView 的 subclass, 呈現html5橫幅廣告 加入橫幅廣告的簡單七步驟, 建議在viewController裡執行
- 匯入 TADBannerView.h
- 在 UIViewController裡宣告 TADBannerView 變數
- 建立橫幅廣告
- 設定Unit ID
- 設定 rootViewController
- 將橫幅廣告加入UI
- 請求廣告
BannerViewController.h
// 匯入TADBannerView.h #import "TADBannerView.h" #import "TADBannerViewDelegate.h" @interface BannerViewController : UIViewController <TADBannerViewDelegate>{ // 宣告 bannerView 為 instance variable TADBannerView *bannerView; } @end
BannerViewController.m
#import " BannerViewController.h" @implementation BannerViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // 建立新的橫幅在螢幕上方, Adsize 定義在TADAdsize.h中 bannerView = [[TADBannerView alloc] initWithAdSize:kTADAdSizeBanner]; // 指定廣告Unit ID bannerView.adUnitID = MY_BANNER_UNIT_ID; // 指定detegate bannerView.delegate = self; // 指定rootViewController bannerView.rootViewController = self; // 將廣告view 加入self.view並請求廣告 [self.view addSubview:_bannerView]; [bannerView loadRequest: [TADRequest request]]; } @end
特別注意
在 ViewController 的 view 即將消失前, 必須要將 bannerView 本身以及其 delegate 設定為 nil
- (void)viewWillDisappear:(BOOL)animated { // view消失前, 必須要將bannerView物件及delegate設為nil bannerView.delegate = nil; bannerView = nil; }
若要將Banner放在螢幕下方, 建立時可定義origin
// 建立新的橫幅在螢幕下方, Adsize 定義在TADAdsize.h中 bannerView = [[TADBannerView alloc] initWithAdSize:kTADAdSizeBanner origin:CGPointMake(0, self.view.frame.size.height - 50)];
TADBannerViewDelegate
@protocol TADBannerViewDelegate <NSObject> @optional // Ad Request Lifecycle Notifications - (void)adViewDidReceiveAd:(TADBannerView *)view; - (void)adView:(TADBannerView *)view didFailToReceiveAdWithError:(TADRequestError *)error; // Click-Time Lifecycle Notifications - (void)adViewWillPresentScreen:(TADBannerView *)adView; - (void)adViewWillDismissScreen:(TADBannerView *)adView; - (void)adViewDidDismissScreen:(TADBannerView *)adView; - (void)adViewWillLeaveApplication:(TADBannerView *)adView; @end
- (void)adViewDidReceiveAd:(TADBannerView *)view
廣告載入成功後被呼叫, 可以在這裡呈現廣告
- (void)adView:(TADBannerView *)view didFailToReceiveAdWithError:(TADRequestError *)error
廣告載入失敗後被呼叫
- (void)adViewWillPresentScreen:(TADBannerView *)adView
廣告即將被呈現之前被呼叫
- (void)adViewWillDismissScreen:(TADBannerView *)adView
廣告即將被關閉之前被呼叫
- (void)adViewDidDismissScreen:(TADBannerView *)adView
廣告被關閉之後被呼叫
- (void)adViewWillLeaveApplication:(TADBannerView *)adView
應用程式及將改在背景執行或中止運作前被呼叫