Kobold2d は、cocos2d for iPhoneをラップして簡単にアプリ開発が
できるフレームワークです。
広告は、iAdとAdMobに対応してたのですが、
Kobold2d version2.1.0から、AdMobのバージョンアップについていけないと書いてありました。
Xcodeのバージョンアップにも、自分はついていけてないのでさっぱりです。
ですが、自分が持っているアカウントはAdMobに対応させたいので、
作成したプロジェクトに直接追加しました。
■設定
•AdMobのダウンロード
ここからダウンロード
•AdMob導入
Google AdMob Ads iOS(初級)
※ここに記載されている手順では、エラーが発生します。
•GADBannerView.h file not found
ビルドのパスが足りてない
Xcodeでプロジェクトを選択し、TARGETを選択 → Build Settings → Serch Paths → Library Search Paths → "$(SRCROOT)/GoogleAdMobAdsSDK" を追加
※パスは、適宜修正してください。
•
TARGETS → Build Phases → Link Binary With Libraries に libGoogleAdMobAds.a
を追加
•
TARGETS → Build Phases → Link Binary With Libraries に AdSupport.framework
を追加
これは、Optionalで設定しなければiOS5でエラーとなるようです。
•undefined symbols for architecture armv7s
Xcodeでプロジェクトを選択し、TARGETを選択 → Build Settings → Linking → Other Linker Flags
DebugとReleaseの値のところをクリック → + → -ObjC を追加
■実装
•GameLayer.h修正
#import "GADBannerView.h"
#define MY_BANNER_UNIT_ID @"AdMob管理画面で発行したパブリッシャー ID"
•GameLayer.m修正
-(id) init メソッドに
[self performSelector:@selector(startAd) withObject:self];を追加
以下のメソッドを定義
-(void) startAd { KKAppDelegate* appDelegate = (KKAppDelegate*)[UIApplication sharedApplication].delegate; bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0.0, appDelegate.rootViewController.view.frame.size.height - GAD_SIZE_320x50.height, GAD_SIZE_320x50.width, GAD_SIZE_320x50.height)]; // 広告の「ユニット ID」を指定する。これは AdMob パブリッシャー ID です。 bannerView_.adUnitID = MY_BANNER_UNIT_ID; // ユーザーに広告を表示した場所に後で復元する UIViewController をランタイムに知らせて // ビュー階層に追加する。 bannerView_.rootViewController = appDelegate.rootViewController; [appDelegate.rootViewController.view addSubview:bannerView_]; // 一般的なリクエストを行って広告を読み込む。 [bannerView_ loadRequest:[GADRequest request]]; }
これでOK
•Kobold2dは、ARCがデフォルトでONになっているため、
deallocでbannerView_のreleaseは必要ないかなー!?
#ifndef KK_ARC_ENABLED -(void)dealloc { [bannerView_ release]; [super dealloc]; } #endif
0 件のコメント:
コメントを投稿