1. AdMobにユーザ登録する。
http://jp.admob.com/
2. AdMobにログインし、SDKをダウンロードしてプロジェクトに取り込む。
利用手順(日本語解説)
http://developer.admob.com/wiki/JP
上記AdMobの解説や、ダウンロードしたSDKに含まれる英文のREADMEの記載には誤りがある。
iPhoneOS 3.x対応アプリで表示させる場合(というか現在は3.x対応しかAppleの審査に通らないので、これをやるのは必須)、
(1) ダウンロードしたSDKのAdMobフォルダをプロジェクトにそのまま追加する。
(2) 旧バージョン(iSDK-20091119)
(a) ダウンロードしたSDKのextrasフォルダのlibAdMobDevice3_0.aとlibAdMobSimulator3_0.aをプロジェクトに追加する。
(b) (a)で追加したAdMobグループのlibAdMobDevice.aとlibAdMobSimulator.aの「参照」を削除する。
(オリジナルファイルは消さないこと)
(3) 新バージョン(iSDK-20100412)
(a) ダウンロードしたSDKのTouchJSONをプロジェクトに追加する。
新バージョンSDKをダウンロード時に、PDF(英文)がダウンロードできるので、こちらも参照必須。
(4) AdMob利用に必要なフレームワークを追加する。下記参考記事、上記AdMobデベロッパ向けドキュメントを参照。
(5) UITableViewにAdMobを表示させる場合。
5.1. ヘッダファイルで、
#import "AdMobDelegateProtocol.h"を記述。
Delegateに
AdMobDelegateを適用。
5.2. メソッドファイルで、
#import "AdMobView.h"をインポートする。
5.3 メソッドファイルで、ダウンロードしたファイル(sample_projects/AdMobSampleAds)のTableViewAdViewController.mの
"#pragma mark AdMobDelegate methods"以下をまるごとコピーする。
publisherIdはアプリ毎に異なるので変更しないこと。
5.4 セルの1行目はAdMobを表示するようにコードを変更する。
ポイント:
・numberOfRowsInSectionで設定するアイテムの数は、TableViewのアイテム数+1
・cellForRowAtIndexPathはindexPath.rowが0のときは、AdMobを表示する。
・heightForRowAtIndexPathのセルの高さは、AdMob表示((indexPath.section == 0) && (indexPath.row == 0))のときは48.0とする。
・didSelectRowAtIndexPathは、AdMob表示セルが選択されたときは
[tableView deselectRowAtIndexPath:indexPath animated:YES];にする。
(6) 下記フレームワークを追加する。
AddressBook.framework
AudioToolbox.framework
CoreLocation.framework
MediaPlayer.framework
MessageUI.framework
QuartzCore.framework
※旧バージョン(iSDK-20091119)を利用する場合、ダウンロードしたSDKに含まれる英文のREADMEの記載には、「libAdMobDevice3_0.aとlibAdMobSimulator3_0.aの"3_0"をとってリネームする」と書かれているが、これをやるとアプリが落ちる。あるいはビルドが通らないなどの不具合がでる。
※AdMobの解説サイトには、「CoreLocation、CoreGraphics、QuartzCore、AddressBookフレームワークをプロジェクトに追加します」との記載があるが、これだけではビルド時にエラーとなる。
■参考記事
http://d.hatena.ne.jp/yang_kee/20091103/1257255140
http://d.hatena.ne.jp/tomute/20091219/1261288453
タグ:iPhone