Hatena::ブログ(Diary)

おかひろの雑記 RSSフィード Twitter

2012-07-13

cocos2dでiAdとAdmobを表示

Cocos2dでiAdとAdmobを切り替えて表示するのはどうやるのかなと調べていたら、こんなものがありました。
GitHub - jandrad/AdRootViewController: RootViewController replacement for Cocos2d that supports iAds and AdMob.

簡単にできそうだったので、やってみました。

Admobの設定はこちらを参考に。
Page not found

iAdとAdmobに必要なライブラリを追加しておきます。
f:id:okahiro_p:20120713154738p:image

AdRootViewControllerをプロジェクトに追加
f:id:okahiro_p:20120713154739p:image

Admobのクラスをプロジェクトに追加
f:id:okahiro_p:20120713154740p:image

cocos2dのプロジェクトではRootViewControllerが自動的に作成されますが、これを
AdRootViewControllerに置き換えます。
AppDelegate.h

@class AdRootViewController;

@interface AppDelegate : NSObject <UIApplicationDelegate> {
	UIWindow			*window;
	AdRootViewController	*viewController;
}

@property (nonatomic, retain) UIWindow *window;
@property (nonatomic,retain) AdRootViewController *viewController;

@end

AppDelegate.m

#import "AdRootViewController.h"
...
@synthesize viewController;
...
viewController = [[AdRootViewController alloc] initWithNibName:nil bundle:nil];

AdmobのパブリッシャーIDを指定します。
AdRootViewController.m

#define ADMOB_PUBLISHER_ID @"XXXXXXXXXXXXXXX"

ここまでで準備は終了です。

実際に使うときは、CCLayerに表示させるのがいいのではないかと思います。

HelloLayer.m

		AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
		[appDelegate.viewController addBannerAd];

f:id:okahiro_p:20120713154742p:image
f:id:okahiro_p:20120713154741p:image
画面を回転させてもきちんと表示されます。

基本はiAdが優先で、広告取得しっぱいしたときはAdmobが表示されるようです。
シミュレーターで意図的にその状況を発生させるにはどうすればいいのだろう・・・)


2012/07/15 追記
動作確認したバージョン記載がありませんでした。
・cocos2d 1.0.1
・admob 6.0.3
Xcode 4.3.3
AdmobのパブリッシャーID指定が抜けていたので追加しました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/okahiro_p/20120713/1342179904
リンク元
Connection: close