2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

初めて Admob を試した時のメモ:Admob を self.tableView.tableFooterView にセットしてみた

Posted at

これでよいのだろうか?

AdmobBannerExampleViewController.m
# 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];
}
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?