Skip to content

Instantly share code, notes, and snippets.

@JFK
Created April 23, 2014 01:26
Show Gist options
  • Save JFK/11199996 to your computer and use it in GitHub Desktop.
Save JFK/11199996 to your computer and use it in GitHub Desktop.
初めて Admob を試した時のメモ:Admob を self.tableView.tableFooterView にセットしてみた ref: http://qiita.com/kiyotaman/items/cc75a57ac51e77f30395
#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];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment