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
應用程式及將改在背景執行或中止運作前被呼叫