iOSでCocos2dxを使ったアプリへのAdmobの組み込み

2013-09-09

iOSへのAdmobの組み込みは、Google AdMob Ads iOS(初級) - Google Mobile Ads SDK — Google Developersのように、UIViewControllerに組み込んでやればいいのだけど、Cocos2dxを使ったアプリへの組み込みにちょっと手間取った。

iOSでCocos2dx(2.1.5)を使ったアプリに組み込もうと思い、自動生成されるソースのプロジェクトのiosディレクトリ内にRootViewController.hとmmという、UIViewControllerを継承したクラスがあるので、そこに追加すればいいんだろと思いやってみたが表示されない。そもそもviewDidLoad()が呼び出されていない。supportedInterfaceOrientations()shouldAutorotate()は呼び出されているのに…

いいのかよくわからんけども、AppControllerのapplication#didFinishLaunchingWithOptions()に突っ込んでやったら一応動いた。

注意点として、Objective-C++(.mmファイル)からAdmobを呼び出す場合、インクルードするヘッダファイルをextern "C"で囲まないと、リンク時にエラーが出る。

extern "C" {
#include "GADBannerView.h"
} // extern "C"