Hatena::ブログ(Diary)

Debian GNU/Linux 3.1 on PowerMac G4 このページをアンテナに追加 RSSフィード Twitter

2010-08-03 iPhone アプリに AdMob をくっ付けてみる

iPhone のアプリケーションに AdMob をくっ付けてみたらあっけない程に簡単だったので、メモ。あ、やったのは Interface Builder を使った方法ね。

2011/3/22 Updated : SDK が新しくなったのでこちらで再度 AdMob をアプリにくっ付けてみてます。

[][][]AdMob のアカウントをゲット 02:32 AdMob のアカウントをゲットを含むブックマーク AdMob のアカウントをゲットのブックマークコメント

AdMob にアクセスしてアカウント作成。

次に「サイト/アプリケーションの追加」でアプリケーションを「iPhoneアプリケーション」で登録して SDK(admob_iphone_sdk)をダウンロード。

[][][]admob_iphone_sdk の README に従えば超簡単! 02:32 admob_iphone_sdk の README に従えば超簡単!を含むブックマーク admob_iphone_sdk の README に従えば超簡単!のブックマークコメント

admob_iphone_sdk の中には README.pdf が入っていて、これを読めば簡単に AdMob を iPhone アプリケーションにくっ付ける事ができる。ココの内容とはちょっと違ってるので注意。ダウンロードしてきた sdk に入ってる README を見ながらやるのが吉。

f:id:paraches:20100804015923p:image


Step.1

まずはダウンロードしてきた admob_iphone_sdk の中の AdMob フォルダーに入っている

  • AdMobDelegateProtocol.h
  • AdMobView.h
  • libAdMob.a

をプロジェクトに加える。

admob_iphone_sdk の中の AdMob フォルダーを Xcode のプロジェクトウィンドウにドラッグ&ドロップするのが簡単。その際に表示されるダイアログではコピーをチェックしておく。

で、コピーしたフォルダの中には必要のないファイル AdMobInterstitialAd.h と AdMobInterstitialDelegateProtocol.h も入っているので削除しておく。


Step.2

プロジェクトウィンドウの Frameworks フォルダーを Control+Click して、「追加…」「既存のフレームワーク…」で以下の5つのフレームワークをプロジェクトに加える

  • AudioToolbox
  • CoreGraphics
  • MediaPlayer
  • MessageUI
  • QuartzCore

Step.3

TouchJSON のコードをプロジェクトに加える。これもダウンロードしてきた admob_iphone_sdk フォルダに入っている TouchJSON フォルダをそのまま Xcode のプロジェクトウィンドウにドラッグ&ドロップで OK。表示されるダイアログではコピーにしておく。


Step.4

パブリッシャーID を AdMob.com からゲットする。とあるけど、アプリケーションを登録してダウンロードしてきた admob_iphone_sdk の中に既にパブリッシャーIDが入っているので特に必要はない。


Step.5(iPhone)

Interface Builder で AdMob 用の UIView を貼付ける方法

  • ダウンロードしてきた admob_iphone_sdk フォルダの中に入っている IBSupport フォルダをプロジェクトウィンドウにドラッグ&ドロップしてプロジェクトに加える。IBSupport フォルダの中には AdViewController.h と AdViewController.m が入ってる。
  • Interface Builder を開いて、広告を表示したい場所に 320x48 のサイズの AdMob 用 UIView を貼付ける。
  • Interface Builder で開いた .xib ウィンドウに Library から Object を加えて、command+I の Attribute で Type を AdViewController にする。
  • AdViewController の view Outlet を AdMob 用の UIView へ繋げる。
  • AdViewController の currentViewController Outlet を AdMob 用の UIView を貼付けた View の ViewController へ繋げる。
  • Xcode のプロジェクトに加えた AdViwController.m の中に書き込まれているパブリッシャーID が正しいかどうか確認。

以上で設置は完了。

Xcode の「グループとプロファイル」はこんな感じ。フォルダを増やしたくなかったので、IBSupport フォルダの中身(AdViewController.h と AdViewController.m)を AdMob フォルダに移動して IBSupport フォルダは消してあります。

f:id:paraches:20100804021741p:image


この状態で実機を使ってアプリケーションを起動すれば、320x48 の UIView を追加した場所に広告が表示されます。ただし、本当の広告が表示されてしまいますし、シミュレータで起動した場合は広告の取得に失敗します。

テスト時にはテスト用の広告を受け取る為に AdViewController.m の中の -(NSArray *)testDevices のコメントを外して、そこにデバイスID を加えます。

- (NSArray *)testDevices {
  return [NSArray arrayWithObjects: ADMOB_SIMULATOR_ID,					
	@"8cf09e81ef3ec5418c3450f7954e0e95db8ab200",	// Test iPhone 4
	@"28ab37c3902621dd572509110745071f0101b124",	// Test iPhone 3G
	nil];
}

f:id:paraches:20100804023121p:image

デバイスID はデバイスを接続して Xcode のオーガナイザ画面でデバイスの名前のコンテキストメニュー内にある Copy Device Identifier でコピーする事ができます。

以上、こんなに簡単だとは思わなかった。