忍者ブログ

Home > > IB不使用&オープンソースなiPadアプリ(テキストエディタ)を作る 第7回:AdMob

[PR]

  • 2024-04-20

Share on Tumblr このエントリーをはてなブックマークに追加

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Comments:

Trackback+Pingback:

Listed below are links to weblogs that reference
[PR] from Born Neet

Home > > IB不使用&オープンソースなiPadアプリ(テキストエディタ)を作る 第7回:AdMob

Home > Edhita > IB不使用&オープンソースなiPadアプリ(テキストエディタ)を作る 第7回:AdMob

IB不使用&オープンソースなiPadアプリ(テキストエディタ)を作る 第7回:AdMob

Share on Tumblr このエントリーをはてなブックマークに追加

第7回。

今回は無料アプリの宿命(?)である
お金の問題を解決してくれるかもしれない広告についてです。

まぁお金が欲しければ有料化すればいい話なのですが、
そんな勇気もない僕のような開発者には強い味方ですね。

それでは始めます。

なお、AppleのiAdはまだ日本では表示されないので、
GoogleのAdMobを使います。

参考

参考文献は第1回参照

素材

引き続き、Soft * Accessory様の素材をお借りしています。

1. AdMob登録

まずはAdMobに登録しないと始まりません。

AdMobのサイトにアクセスし、
今すぐスタートから新規登録を行ないます。

ちなみに必要な情報は以下のとおり。
僕はオプションの電話・会社以外ちゃんと入力しました。

  • 電話(オプション)
  • 会社(オプション)
  • 住所
  • 市区町村
  • 郵便番号
  • 言語

必要な情報を入力し「submit」すると、「AdMobアカウントの登録」メールが来ます。
その中のリンクをクリックすると「お客様のアカウントが有効になりました」画面が表示され、
登録は完了です。

2. AdMob SDKへの取得

次にAdMobのSDKをダウンロードします。

ログインするか、ログイン後画面右上のメールアドレスをクリックして、
アカウント画面に行きます。

「サイト及びアプリケーション」内の「サイト/アプリケーションの追加」を
クリックすると、サイト情報の入力画面になります。
「iPadアプリケーション」を選択し、必要な情報を入力します。
※ アプリURLは入力しなくても大丈夫です。

次に進むと「サイト コードを取得」画面が出てくるので、
「AdMob iPad/iPhone SDKをダウンロード」からSDK(admob_iphone_sdk_20100818.tar.gz)を、
「SDK の説明書をPDF 文書でダウンロードしてください。」からPDF(AdMob_iPad_SDK_Instructions.pdf)を
ダウンロードします。

3. プロジェクトへの導入

ダウンロードしたSDKをプロジェクトに組み込みます。
PDFファイルに沿ってやればOKですが、英語なので一応流れを書いておきます。

Step1

SDK内の以下のファイルをAdMobフォルダごと、
プロジェクト直下にコピーします。

  • AdMob/
    • AdMobDelegateProtocol.h
    • AdMobView.h
    • libAdMob.a

Step2

「Frameworksを右クリック→追加→既存のフレームワーク」から、
以下を追加します。

  • AudioToolbox
  • CoreGraphics
  • MediaPlayer
  • MessageUI
  • QuartzCore

Step3

SDK内のTouchJSONフォルダをまるごとプロジェクト直下にコピーします。

Step4

publisher IDはSDK内に記載されているので問題なしです。

Step5(iPad)

実装です。次節で説明します。

4. 広告表示

やっとコーディングです。
お金がからむと前作業が長いですね^^

ここもPDF内のStep5に従うだけですが、量もそんなに多く無いので、
今回コードに加えた変更を全部載せておきます。

といっても、
「admob_iphone_sdk/sample_projects/AdMobSampleAdsiPad/Classes」内の
「EarthquakeListViewController.h, m」にPublisher ID含め全部書いてあるので、
コピーするだけなんですが。

AdMobDelegate

AdMobからのdelegateを受けるクラスを実装します。
今回はRootViewControllerにその機能を持たせています。

// RootViewController.h

#import "AdMobDelegateProtocol.h"
#import "AdMobView.h"

@interface RootViewController : UITableViewController <AdMobDelegate> {
// RootViewController.m

#pragma mark -
#pragma mark AdMobDelegate methods

- (NSString *)publisherIdForAd:(AdMobView *)adView {
    return @"publisher ID"; // this should be prefilled; if not, get it from www.admob.com
}

- (UIViewController *)currentViewControllerForAd:(AdMobView *)adView {
    // Return the top level view controller if possible. In this case, it is
    // the split view controller
    return self.splitViewController;
//    return self.navigationController.parentViewController;
}

- (void)willPresentFullScreenModalFromAd:(AdMobView *)adView {
    // IMPORTANT!!! IMPORTANT!!!
    // If we are about to get a full screen modal and we have a popover controller, dimiss it.
    // Otherwise, you may see the popover on top of the landing page.
    if (detailViewController.popoverController && detailViewController.popoverController.popoverVisible) {
        [detailViewController.popoverController dismissPopoverAnimated:YES];
    }
}

- (NSArray *)testDevices {
	return [NSArray arrayWithObjects: ADMOB_SIMULATOR_ID, nil];
}

プライベート指定解除

delegate内から使うDetailViewControllerのプロパティがプライペート化されちゃってるので、それを解除します。

// DetailViewController.h

@property (nonatomic, retain) UIPopoverController *popoverController;
// DetailViewController.m

@interface DetailViewController ()
//プライベートメソッドの解除(AdMobから使うので)
//@property (nonatomic, retain) UIPopoverController *popoverController;
- (void)configureView;
@end

AdMobViewの追加

最後に広告Viewを表示します。
今回はTableViewのFooterに表示するので、
RootViewControllerのinitWithPath内で行います。

        AdMobView *adMobView = [AdMobView requestAdOfSize:ADMOB_SIZE_320x270 withDelegate:self];
//        AdMobView *adMobView = [AdMobView requestAdOfSize:ADMOB_SIZE_320x48 withDelegate:self];
        self.tableView.tableFooterView = adMobView;

[完成]

広告とはいえ、画像が入ると見た目が良くなっていいですね。
AdMob導入

[まとめ]

AdMobは現状審査もないらしく、
非常に簡単な印象を受けました。

あとはどれくらいのお小遣いになるかですが、
もうちょっとでEdhitaをリリースしてみる予定なので、
そこで試してみようと思います。

それでは。

[コード]

今回のコードは「Edhita7.zip」に入っています。
GitHubのdownloadページからダウンロードして下さい。

Downloads for tnantoka's Edhita - GitHub

おまけと謝罪

今までgitのリポジトリにほとんどのファイルがコミットできていませんでした。
(git add .等をしていなかったので、新規ファイルが管理されていなかったのです。)

たまたま毎回ダウンロード用のファイルを用意していなので、少しは救われましたが、
試行錯誤の痕跡がなくなってしまってかなりショックです。

リポジトリをチェックアウトされた方々にもご迷惑をお掛けしました。

凹んでてもしょうがないので気を取り直して頑張ります。

PR

Comments:0

Comment Form

Trackback+Pingback:

TrackBack URL for this entry
Listed below are links to weblogs that reference
IB不使用&オープンソースなiPadアプリ(テキストエディタ)を作る 第7回:AdMob from Born Neet

Home > Edhita > IB不使用&オープンソースなiPadアプリ(テキストエディタ)を作る 第7回:AdMob

Search
Loading
Feeds
Links
スポンサードリンク

Page Top