「Banner」修訂間的差異

出自TAMedia
跳至導覽 跳至搜尋
imported>Wikiuser
(新頁面: 橫幅廣告只占螢幕的一小部分,使用者點擊後可以有全螢幕的瀏覽體驗,簡單的建立方式讓開發者輕鬆置入廣告 == Banners 大小種類 == {...)
 
imported>Wikiuser
行 3: 行 3:




== Banners 大小種類 ==
== Banners 大小種類 ==
           
{| class="wikitable"
{| class="wikitable"
|-
|-
行 33: 行 33:


==== BannerViewController.h ====
==== BannerViewController.h ====
  '''// 匯入TADBannerView.h'''
  // 匯入 TAMedia SDK 定義
  #import "TADBannerView.h"
  #import "TADBannerView.h"
  #import "TADBannerViewDelegate.h"
  #import "TADBannerViewDelegate.h"
   
   
  @interface BannerViewController : UIViewController <TADBannerViewDelegate>{
  @interface BannerViewController : UIViewController <TADBannerViewDelegate>
     '''// 宣告 bannerView 為 instance variable'''
{
     // 以 instant variable 的方式, 宣告 bannerView 物件
     TADBannerView *bannerView;
     TADBannerView *bannerView;
  }
  }
  @end
  @end


行 48: 行 50:
  @implementation BannerViewController
  @implementation BannerViewController
   
   
  - (void)viewDidLoad {
  - (void)viewDidLoad
[super viewDidLoad];
{
// Do any additional setup after loading the view, typically from a nib.
    [super viewDidLoad];
    // Do any additional setup after loading the view.
'''// 建立新的橫幅在螢幕上方, Adsize 定義在TADAdsize.h中'''
    self.view.backgroundColor = [UIColor whiteColor];
bannerView = [[TADBannerView alloc] initWithAdSize:kTADAdSizeBanner];
    self.title = @"TAMedia Banner";
'''// 指定廣告Unit ID'''
   
bannerView.adUnitID = MY_BANNER_UNIT_ID;
    UIButton *fireButton1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
'''// 指定detegate'''
    fireButton1.frame = CGRectMake(10, 120, 200, 40);
bannerView.delegate = self;
    fireButton1.backgroundColor = [UIColor colorWithRed:239/255.0 green:239/255.0 blue:239/255.0 alpha:1.0];
'''// 指定rootViewController'''
    [fireButton1 setTitle:@"Banner Ad" forState:UIControlStateNormal];
bannerView.rootViewController = self;  
    [fireButton1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
'''// 將廣告view 加入self.view並請求廣告'''
    [fireButton1 addTarget:self action:@selector(requestAd1) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_bannerView];  
    [self.view addSubview:fireButton1];
[bannerView loadRequest: [TADRequest request]];
  }
  }
- (void)requestAd1
{
    TADRequest *request = [TADRequest request];
   
    // Type: TADGender
    request.gender = [_GENDER_];
   
    // Set birthday
    [request setBirthdayWithYear:[_YEAR_] month:[_MONTH_] day:[_DAY_]];
   
    // Set location
    [request setLocationWithLatitude:[_LATITUDE_] longitude:[_LONGITUDE_] accuracy:[_ACCURACY_]];
   
    // bannerView 物件初始化, 帶入自訂的origin
    if (!bannerView) {
        bannerView = [[TADBannerView alloc] initWithAdSize:kTADAdSizeBanner origin:CGPointMake(0, self.view.frame.size.height - 50)];
    }
   
    // 必須要設定delegate
    bannerView.delegate = self;
   
    // 設定 AD Unit ID
    bannerView.adUnitID = [_YOUR_AD_UNIT_ID_];
   
    // 設定 rootViewController
    bannerView.rootViewController = self;
   
    // 載入廣告
    [bannerView loadRequest:request];
}
   
   
  @end
  @end
行 74: 行 106:


  - (void)viewWillDisappear:(BOOL)animated {
  - (void)viewWillDisappear:(BOOL)animated {
  '''// view消失前, 必須要將bannerView物件及delegate設為nil'''
    // viewController 的 view 消失前, 必須將 bannerView 及其 delegate 設為 nil
  bannerView.delegate = nil;
    if (bannerView != nil) {
  bannerView = 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)];





於 2014年7月10日 (四) 10:33 的修訂

橫幅廣告只占螢幕的一小部分,使用者點擊後可以有全螢幕的瀏覽體驗,簡單的建立方式讓開發者輕鬆置入廣告


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

// 匯入 TAMedia SDK 定義
#import "TADBannerView.h"
#import "TADBannerViewDelegate.h"

@interface BannerViewController : UIViewController <TADBannerViewDelegate>
{
    // 以 instant variable 的方式, 宣告 bannerView 物件
    TADBannerView *bannerView;
}

@end

BannerViewController.m

#import " BannerViewController.h"

@implementation BannerViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor whiteColor];
    self.title = @"TAMedia Banner";
    
    UIButton *fireButton1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    fireButton1.frame = CGRectMake(10, 120, 200, 40);
    fireButton1.backgroundColor = [UIColor colorWithRed:239/255.0 green:239/255.0 blue:239/255.0 alpha:1.0];
    [fireButton1 setTitle:@"Banner Ad" forState:UIControlStateNormal];
    [fireButton1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [fireButton1 addTarget:self action:@selector(requestAd1) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:fireButton1];
}
- (void)requestAd1
{
    TADRequest *request = [TADRequest request];
    
    // Type: TADGender
    request.gender = [_GENDER_];
    
    // Set birthday
    [request setBirthdayWithYear:[_YEAR_] month:[_MONTH_] day:[_DAY_]];
    
    // Set location
    [request setLocationWithLatitude:[_LATITUDE_] longitude:[_LONGITUDE_] accuracy:[_ACCURACY_]];
    
    // bannerView 物件初始化, 帶入自訂的origin
    if (!bannerView) {
        bannerView = [[TADBannerView alloc] initWithAdSize:kTADAdSizeBanner origin:CGPointMake(0, self.view.frame.size.height - 50)];
    }
    
    // 必須要設定delegate
    bannerView.delegate = self;
    
    // 設定 AD Unit ID
    bannerView.adUnitID = [_YOUR_AD_UNIT_ID_];
    
    // 設定 rootViewController
    bannerView.rootViewController = self;
    
    // 載入廣告
    [bannerView loadRequest:request];

}

@end



特別注意

在 ViewController 的 view 即將消失前, 必須要將 bannerView 本身以及其 delegate 設定為 nil

- (void)viewWillDisappear:(BOOL)animated {
    // viewController 的 view 消失前, 必須將 bannerView 及其 delegate 設為 nil
    if (bannerView != nil) {
        bannerView.delegate = nil;
        bannerView = nil;
    }
}



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