Expandable

出自TAMedia
於 2014年6月24日 (二) 06:34 由 imported>Wikiuser 所做的修訂 (新頁面: 擴張式廣告結合了橫幅及插頁式廣告, 讓橫幅廣告被點擊後先不會因打開瀏覽器app而離開廣告所在的app, 讓使用者可以在同一個app裡全版面的...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳至導覽 跳至搜尋

擴張式廣告結合了橫幅及插頁式廣告, 讓橫幅廣告被點擊後先不會因打開瀏覽器app而離開廣告所在的app, 讓使用者可以在同一個app裡全版面的豐富體驗


加入 ExpandableView

Expandable廣告使用 TADBannerView class 來實現擴張的行為 以 TADBannerView 的加入方法來加入

ExpandableViewController.h

// 匯入TADBannerView.h
#import "TADBannerView.h"
#import "TADBannerViewDelegate.h"

@interface BannerViewController : UIViewController <TADBannerViewDelegate>{
    // 宣告 bannerView 為 instance variable
    TADBannerView *bannerView;
}
@end

ExpandableViewController.m

#import " ExpandableViewController.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;
}

若要將Expandable的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

應用程式及將改在背景執行或中止運作前被呼叫



Back