|
#import "GADBannerView.h" |
|
|
|
@interface AdmobBannerExampleViewController : UIViewController |
|
{ |
|
// インスタンスのバリューとして宣言 |
|
GADBannerView *bannerView_; |
|
|
|
} |
|
|
|
... |
|
|
|
#pragma mark - |
|
#pragma mark GADBannerViewDelegate Method |
|
|
|
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView |
|
{ |
|
|
|
// スタティック変数を宣言 |
|
static BOOL adViewDidReceiveAdLoaded; |
|
|
|
// 念のため動いているか確認 |
|
NSLog(@"%s %d", __PRETTY_FUNCTION__, adViewDidReceiveAdLoaded); |
|
|
|
// 一度ロードされたら再度ロードされないようにする |
|
if (!adViewDidReceiveAdLoaded) { |
|
|
|
//フラグをたてる |
|
adViewDidReceiveAdLoaded = YES; |
|
|
|
//banner を表示させる為の view を予め容易しておく(余白の背景色を調整するため) |
|
//kGADAdSizeMediumRectangle banner なので、 横幅が 300px なので余白がでる |
|
UIView *backgroundView = [[UIView alloc] init]; |
|
|
|
//bannerView.frame から backgroundView の大きさ調整 |
|
//バナーのサイズを取得 |
|
CGRect rect = bannerView.frame; |
|
|
|
//横幅を self.view の横幅に変更する |
|
rect.size.width = self.view.frame.size.width; |
|
|
|
//backgroundView に高さが banner と等しく、幅が self.view と同等にする |
|
backgroundView.frame = rect; |
|
|
|
//bannerView.frame の幅の余白調整 |
|
rect = bannerView.frame; |
|
|
|
//幅余白分を調整 |
|
rect.origin.x = (backgroundView.frame.size.width - bannerView.frame.size.width) / 2; |
|
|
|
//origin.x に左の余白をつくったので、それを bannerView に再度セットする |
|
bannerView.frame = rect; |
|
|
|
//backgroundView に bannerView を追加 |
|
[backgroundView addSubview:bannerView]; |
|
|
|
//bannerView_ が宣言されていたときに 0.0f していたので、1.0f にセットして表示させる |
|
bannerView.alpha = 1.0f; |
|
|
|
//tableFooterView に適応させると最終的に自動で |
|
//backgroundView の位置・サイズを調整してくれる(多分、どなたか突っ込みを) |
|
self.tableView.tableFooterView = backgroundView; |
|
|
|
} |
|
|
|
} |
|
|
|
... |
|
|
|
- (void)viewDidLoad { |
|
|
|
//footer なので、ミディアムレクタングルを使ってみる |
|
//320x50 Standard Banner Phones and Tablet kGADAdSizeBanner |
|
//300x250 IAB Medium Rectangle Phones and Tablet kGADAdSizeMediumRectangle |
|
//bannerView_ をセットする |
|
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeMediumRectangle]; |
|
|
|
//tableFooterView にセットするところで表示させる |
|
bannerView_.alpha = 0.0f; |
|
|
|
//広告ユニットIDをセット |
|
bannerView_.adUnitID = @"広告のID"; |
|
|
|
//root view controller の準備 |
|
bannerView_.rootViewController = self; |
|
|
|
//デリゲートの準備 |
|
bannerView_.delegate = self; |
|
|
|
//バーナーをロードの準備 |
|
GADRequest *request = [GADRequest request]; |
|
|
|
//テストの場合 |
|
request.testing = YES; |
|
|
|
//バナーをロード |
|
[bannerView_ loadRequest:request]; |
|
} |