Interstitial Ads

出自TAMedia
跳至導覽 跳至搜尋

Interstitial廣告可以在app啟動, 視頻載入期間或遊戲暫停的時候,呈現內容豐富的HTML5網頁或Web App。。
以下將告訴您如何讓您的app顯示Interstitial廣告。

增加TWMTAMediaInterstitialView

TWMTAMediaInterstitialView是NSObject的子類別,透過以下步驟可以很簡單的將Interstitial廣告加入App中:

  • Import TWMTAMediaInterstitialView.h
  • 宣告一個TWMTAMediaInterstitialView的實體在顯示Interstitial廣告的UIViewController
  • alloc & init TWMTAMediaInterstitialView
  • 載入廣告
#import "TWMTAMediaViewController.h"

#import "TWMTAMediaView.h"
#import "TWMTAMediaInterstitialView.h"

@interface TWMTAMediaViewController () <TWMTAMediaViewDelegate, TWMTAMediaInterstitialViewDelegate>
{
    TWMTAMediaView *_adView;
    TWMTAMediaInterstitialView *_interstitialView;
}
@end

@implementation TWMTAMediaViewController

//@synthesize _adView;

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
	
	CGRect frame = CGRectMake(0, 0, [UIScreen mainScreen].applicationFrame.size.width, [UIScreen mainScreen].applicationFrame.size.height);
    _interstitialView = [[TWMTAMediaInterstitialView alloc] initWithFrame:frame
                                                                   slotId:@"h0Lz1374718054864uDt"
                                                              developerID:@""
                                                               gpsEnabled:YES
                                                                 testMode:NO];
    [_interstitialView receiveAd];
    
}

@end

當Interstitial廣告載入完成且要呈現時才需要呼叫showAd:方法

[_interstitialView showAd:self.view];

TWMTAMediaInterstitialViewDelegate

你可以選擇透過實現全部或部分的TWMTAMediaInterstitialViewDelegate方法來追踪Interstitial廣告的生命週期

@protocol TWMTAMediaInterstitialViewDelegate <NSObject>
@optional

- (void)interstitialViewWillLoadAd:(TWMTAMediaInterstitialView *)view;

- (void)interstitialViewDidLoadAd:(TWMTAMediaInterstitialView *)view;

- (void)interstitialView:(TWMTAMediaInterstitialView *)view didFailToReceiveAdWithError:(NSError *)error;

- (BOOL)interstitialViewActionShouldBegin:(TWMTAMediaInterstitialView *)view willLeaveApplication:(BOOL)willLeave;

- (void)interstitialViewWillDisappear:(TWMTAMediaInterstitialView *)view;

- (void)interstitialViewDidDisappear:(TWMTAMediaInterstitialView *)view;

@end

你可以在UIViewController中實現TWMTAMediaInterstitialViewDelegate方法

#import "TWMTAMediaViewController.h"

#import "TWMTAMediaInterstitialView.h"

@interface TWMTAMediaViewController () <TWMTAMediaInterstitialViewDelegate>
{
}
@end

並且透過TWMTAMediaInterstitialView的setDelegate:方法來指定實現TWMTAMediaInterstitialViewDelegate的對象

[_interstitialView setDelegate:self];

請注意,如果你有實現TWMTAMediaInterstitialViewDelegate,當TWMTAMediaInterstitialView不再被使用時,必須將delegate設定為nil

- (void)dealloc
{
    _interstitialView.delegate = nil;
    
    // Don't release the _adView if you are using ARC in your project
    [_interstitialView release];
    
    _interstitialView = nil;
}

- (void)interstitialViewWillLoadAd:(TWMTAMediaInterstitialView *)view

TWMTAMediaInterstitialView開始載入廣告前會先呼叫這個方法

- (void)interstitialViewWillLoadAd:(TWMTAMediaInterstitialView *)view
{
    NSLog(@"%@ interstitialViewWillLoadAd", view);
}

- (void)interstitialViewDidLoadAd:(TWMTAMediaInterstitialView *)view

你可以在確定廣告已經載入後才將TWMTAMediaInterstitialView加入UI

- (void)interstitialViewDidLoadAd:(TWMTAMediaInterstitialView *)view
{
    NSLog(@"%@ interstitialViewDidLoadAd", view);
    [_interstitialView showAd:self.view];
}

- (void)interstitialView:(TWMTAMediaInterstitialView *)view didFailToReceiveAdWithError:(NSError *)error

你可以在這裡的得知載入廣告過程中發生的何異常

- (void)interstitialView:(TWMTAMediaInterstitialView *)view didFailToReceiveAdWithError:(NSError *)error
{
     NSLog(@"%@ interstitialViewdidFailToReceiveAdWithError:%@", view, error.description);
}

- (BOOL)interstitialViewActionShouldBegin:(TWMTAMediaInterstitialView *)view willLeaveApplication:(BOOL)willLeave

當使用者點擊廣告後,TWMTAMediaView在開啟網頁或App Store前會先通知你

- (BOOL)interstitialViewActionShouldBegin:(TWMTAMediaInterstitialView *)view willLeaveApplication:(BOOL)willLeave
{
    NSLog(@"%@ interstitialViewwillLeaveApplication:%i", view, willLeave);
    return YES;
}