酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Google AdMob for iOSを導入したが広告が表示されず困った件について

かなり簡単に導入できた。

広告が表示されなかったので注意点。

GADBannerView * bannerView_ = [[GADBannerView alloc]
    initWithFrame:CGRectMake(0.0, 0.0, GAD_SIZE_320x50.width, GAD_SIZE_320x50.height)];

配置する場所に気をつける。サンプルコードのままだと画面の一番下に表示されることになる。適切に広告が表示されるかどうかを確認したい場合は、(0,0)の位置に配置して試してみよう。

// 広告のIDを設定する(AdMob Publisher ID)
bannerView_.adUnitID = @"a14f4353abXXXXX";

AdMob Publisher IDを設定しておきます。ここを設定しておかないと沢山タップしてもらってもお金が発生せず、悲しみにあけくれることになる。

// 広告が取れなかった場合にイベントを受け取るdelegateを設定する
[bannerView_ setRootViewController:viewController];

ハマりどころ。setRootViewController:メソッドで、ルートのViewController(もしくはTabBarController等)ではなく、nilを設定すると広告が表示されない。

nil以外であれば表示される。広告を表示されるかどうかを確認したい場合は適当なオブジェクトを渡すと良い(但し、別のところでクラッシュすると思うが……)。