【iPhoneアプリ制作】Admobのインタースティシャル広告でハマったので、その時の原因と処方法

どうも、Averageです。

iPhone/iPadアプリの制作をしていて、Admobの広告を使っています。
Admobには主に2つの広告があり、バナー(Banner)広告とインタースティシャル(Interstitial)広告の2種類があります。

今回、トラブルが起きたのがインタースティシャル広告の方です。こちらは日本語での情報も少なくて解決するのに少し時間がかかりました・・・。

Cocos2d for iPhoneで開発しているアプリにインタースティシャル広告を表示しようと試みたのですが、なぜか起動時にアプリがクラッシュしてしまう・・・(起動時に広告が表示される仕様にしています)

そこで、簡単なサンプルプログラムを作って、インタースティシャル広告を導入してみると表示される・・・。なんでだろうとここで結構つまずきました。
けど、答えは結構簡単な事でした。

Admobのインタースティシャル広告は、横向き(Landscape)で起動するアプリではクラッシュするということです。
ですが、私が今開発しているアプリは横向きで起動するので、どうしようか悩んだ末に起動時だけは縦でも横でもいい!という処理にして解決しました。

解決方法

Admobインタースティシャル広告横向き

Xcodeのプロジェクトの“General”“Device Orientation”の部分に横向きのアプリの場合は、“Landscape Left”“Landscape Right”にチェックが入っていると思います。

このチェックを外して、

Admobインタースティシャル広告チェック外す

全て未チェックにしておきます。これで起動するとクラッシュせずに広告が表示されるようになりました。横向き起動でダメなんて・・・SDK側でなんとかしてほしかったですが、しょうがないですね。
アプリの起動終了後は、横向きのアプリの場合は横向きに表示されるようにしておきましょう。(cocos2dだと標準で横向きになるので気にしなくても大丈夫ですが)

Admobインタースティシャル広告縦向き

なお縦向き(Portait)の場合ですと問題なく起動出来ました。やはり横向きの起動だとうまくいかないみたいです。
ひょっとしたらプログラムをうまくいじれば横向きでも起動できるのかもしれませんが、私が探した情報ではありませんでした。

というようりもインタースティシャル広告の情報はかなり少ないみたいですね。
バナー広告に関してはたくさん情報があったのですが・・・。

あまり皆さんインタースティシャル広告は使わないんですかね。

同じようにインタースティシャル広告でつまずいた人の助けになれば幸いです。