「Banner」修訂間的差異

出自TAMedia
跳至導覽 跳至搜尋
imported>Wikiuser
imported>Wikiuser
 
(未顯示同一使用者於中間所作的 9 次修訂)
行 1: 行 1:
橫幅廣告只占螢幕的一小部分,使用者點擊後可以有全螢幕的瀏覽體驗,簡單的建立方式讓開發者輕鬆置入廣告
橫幅廣告只占螢幕的一小部分,使用者點擊後可以有全螢幕的瀏覽體驗,簡單的建立方式讓開發者輕鬆置入廣告<br><br>


[[IOS SDK Developer Guide v2|回 iOS首頁]]<br>




行 23: 行 24:
TADBannerView 物件是 UIView 的 subclass, 呈現html5橫幅廣告
TADBannerView 物件是 UIView 的 subclass, 呈現html5橫幅廣告
加入橫幅廣告的簡單七步驟, 建議在viewController裡執行
加入橫幅廣告的簡單七步驟, 建議在viewController裡執行
:* 匯入 TADBannerView.h
:* 匯入 #import <TAMediaAdsFramework/TAMediaAdsFramework.h>
:* 在 UIViewController裡宣告 TADBannerView 變數
:* 在 UIViewController裡宣告 TADBannerView 變數
:* 建立橫幅廣告
:* 建立橫幅廣告
行 31: 行 32:
:* 請求廣告
:* 請求廣告


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


==== BannerViewController.m ====
'''// BannerViewController.m'''
#import " BannerViewController.h"
@implementation BannerViewController
   
   
  - (void)viewDidLoad
  - (void)viewDidLoad
  {
  {
     [super viewDidLoad];
     [super viewDidLoad];
     // Do any additional setup after loading the view.
     '''// Do any additional setup after loading the view.'''
     self.view.backgroundColor = [UIColor whiteColor];
     self.view.backgroundColor = [UIColor whiteColor];
     self.title = @"TAMedia Banner";
     self.title = @"TAMedia Banner";
行 65: 行 63:
     [self.view addSubview:fireButton1];
     [self.view addSubview:fireButton1];
  }
  }
 
  - (void)requestAd1
  - (void)requestAd1
  {
  {
     TADRequest *request = [TADRequest request];
     TADRequest *request = [TADRequest request];
    '''// 顯示log'''   
    request.showLog = YES;
      
      
     // Type: TADGender
     '''// Type: TADGender'''
     request.gender = [_GENDER_];
     request.gender = [_GENDER_];
      
      
     // Set birthday
     '''// Set birthday'''
     [request setBirthdayWithYear:[_YEAR_] month:[_MONTH_] day:[_DAY_]];
     [request setBirthdayWithYear:[_YEAR_] month:[_MONTH_] day:[_DAY_]];
      
      
     // Set location
     '''// Set location'''
     [request setLocationWithLatitude:[_LATITUDE_] longitude:[_LONGITUDE_] accuracy:[_ACCURACY_]];
     [request setLocationWithLatitude:[_LATITUDE_] longitude:[_LONGITUDE_] accuracy:[_ACCURACY_]];
      
      
     // bannerView 物件初始化, 帶入自訂的origin
     '''// bannerView 物件初始化, 帶入自訂的origin'''
     if (!bannerView) {
     if (!bannerView) {
         bannerView = [[TADBannerView alloc] initWithAdSize:kTADAdSizeBanner origin:CGPointMake(0, self.view.frame.size.height - 50)];
         bannerView = [[TADBannerView alloc] initWithAdSize:kTADAdSizeBanner origin:CGPointMake(0, self.view.frame.size.height - 50)];
     }
     }
      
      
     // 必須要設定delegate
     '''// 必須要設定delegate'''
     bannerView.delegate = self;
     bannerView.delegate = self;
   
    '''//是否使用麥克風廣告 default為Yes/依需求自行修改'''
    bannerView.turnOnMicrophone = NO;
      
      
     // 設定 AD Unit ID
     '''// 設定 AD Unit ID'''
     bannerView.adUnitID = [_YOUR_AD_UNIT_ID_];
     bannerView.adUnitID = [_YOUR_AD_UNIT_ID_];
      
      
     // 設定 rootViewController
     '''// 設定 rootViewController'''
     bannerView.rootViewController = self;
     bannerView.rootViewController = self;
      
      
     // 載入廣告
     '''// 載入廣告'''
     [bannerView loadRequest:request];
     [bannerView loadRequest:request];
}
}
@end
 
 
 


== 特別注意 ==
== 特別注意 ==
在 ViewController 的 view 即將消失前, 必須要將 bannerView 本身以及其 delegate 設定為 nil
'''// BannerViewController.m'''
 
  - (void)viewWillDisappear:(BOOL)animated {
  - (void)viewWillDisappear:(BOOL)animated {
     // viewController 的 view 消失前, 必須將 bannerView 及其 delegate 設為 nil
     '''// viewController 的 view 消失前, 必須將 bannerView 及其 delegate 設為 nil'''
     if (bannerView != nil) {
     if (bannerView != nil) {
         bannerView.delegate = nil;
         bannerView.delegate = nil;
行 119: 行 117:
  @protocol TADBannerViewDelegate <NSObject>
  @protocol TADBannerViewDelegate <NSObject>
  @optional
  @optional
  // Ad Request Lifecycle Notifications
   
'''// Ad Request Lifecycle Notifications'''
'''// 廣告載入成功後被呼叫, 可以在這裡呈現廣告'''
  - (void)adViewDidReceiveAd:(TADBannerView *)view;
  - (void)adViewDidReceiveAd:(TADBannerView *)view;
'''// 廣告載入失敗後被呼叫'''
  - (void)adView:(TADBannerView *)view didFailToReceiveAdWithError:(TADRequestError *)error;
  - (void)adView:(TADBannerView *)view didFailToReceiveAdWithError:(TADRequestError *)error;
   
   
  // Click-Time Lifecycle Notifications
   
'''// Click-Time Lifecycle Notifications'''
'''// 廣告即將被呈現之前被呼叫'''
  - (void)adViewWillPresentScreen:(TADBannerView *)adView;
  - (void)adViewWillPresentScreen:(TADBannerView *)adView;
'''// 廣告即將被關閉之前被呼叫'''
  - (void)adViewWillDismissScreen:(TADBannerView *)adView;
  - (void)adViewWillDismissScreen:(TADBannerView *)adView;
'''// 廣告被關閉之後被呼叫'''
  - (void)adViewDidDismissScreen:(TADBannerView *)adView;
  - (void)adViewDidDismissScreen:(TADBannerView *)adView;
'''// 應用程式及將改在背景執行或中止運作前被呼叫'''
  - (void)adViewWillLeaveApplication:(TADBannerView *)adView;
  - (void)adViewWillLeaveApplication:(TADBannerView *)adView;
   
   
  @end
  @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 ====
應用程式及將改在背景執行或中止運作前被呼叫








[[IOS SDK 2.0 Developer Guide|Back]]
[[IOS SDK 2.0 Developer Guide|回 iOS首頁]]

於 2018年6月21日 (四) 03:43 的最新修訂

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

回 iOS首頁


Banners 大小種類

BANNER IAB_MRECT IAB_BANNER IAB_LEADERBOARD
320x50 300x250 468x60 728x90


加入 TADBannerView

TADBannerView 物件是 UIView 的 subclass, 呈現html5橫幅廣告 加入橫幅廣告的簡單七步驟, 建議在viewController裡執行

  • 匯入 #import <TAMediaAdsFramework/TAMediaAdsFramework.h>
  • 在 UIViewController裡宣告 TADBannerView 變數
  • 建立橫幅廣告
  • 設定Unit ID
  • 設定 rootViewController
  • 將橫幅廣告加入UI
  • 請求廣告
// BannerViewController.h

// 匯入 TAMedia SDK 定義
 #import <TAMediaAdsFramework/TAMediaAdsFramework.h>

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

@end
// BannerViewController.m

- (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];
    // 顯示log     
    request.showLog = YES;
    
    // 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;
   
    //是否使用麥克風廣告 default為Yes/依需求自行修改
    bannerView.turnOnMicrophone = NO;
    
    // 設定 AD Unit ID
    bannerView.adUnitID = [_YOUR_AD_UNIT_ID_];
    
    // 設定 rootViewController
    bannerView.rootViewController = self;
    
    // 載入廣告
    [bannerView loadRequest:request];
}

特別注意

// BannerViewController.m

- (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



回 iOS首頁