2014年12月31日水曜日

AdMob対応とAppStoreへの提出

エスパー発見!(Look for espser!)をiPhone、AutoLayout、SizeClassesに対応させたついでに、iAdが表示されない時に表示するGoogleの広告AdMobにも対応させた。

Google AdSenseのアカウントをすでに持っていたので、登録とインストールは簡単だった。(Googleのサイトに載ってる手順通りにframeworkをプロジェクトに追加して、#importしてコードをちょちょいと追加するだけ)

iAdが表示できる時はiAd優先。表示できない時はAdMobを表示するという非常に簡単なコード。
AdMobは以前は広告サイズを指定してやる必要があったようだが、今は
adMobBanner = [[GADBannerView alloc]initWithAdSize:kGADAdSizeSmartBannerPortrait];
とスマートバナーを指定してやれば、画面の横幅に合わせて最大の広告を表示してくれるようになった。便利。
レイアウトの都合でもっと小さいバナーを表示したい場合とかは、今までのやり方で小さいバナーを選べばいいのだろう。

さて、iPhoneに対応したところ、Images.xcassetsにiPhone用アイコン以外にもCarPlay用120ptのアイコンを追加する枠が出てきた。
まじめに120ptのアイコンを作って追加したんだけど、いざアプリを審査に出すべくArchiveしてたら、
operation failed invalid image pathとエラーメッセージが出た。どうもそのアイコンへのpathがおかしいとか、ないとか、そんなメッセージ。
ネットで調べてもわかんなかったので、CarPlayなんて知らんわ! と思って、アイコン削除したらエラーも消えて、すんなり審査に出せてしまった(笑)
CarPlayって横画面だけだと思うし、エスパー発見!は縦画面だけなので、そもそも要らなかったのかな? よくわかんない。


審査に出す段階で、AdverTising Identifierの確認がある。ターゲティング広告についての確認だ。iAdの時は「いいえ」にしてたけど、AdMobを追加したのでどうなるかわからない。
ネットで調べたら、「はい」にしておいた方が良さそうだったので、そうした。
「下記目的でAdverTising Identifierを使用します」の選択もよくわかんないので、一番上の「App内で広告を出す」だけをチェック。
これでめでたくレビュー待ち状態になってくれたので、あとは2週間ばかりまた待ってみる。

Frameworkインポート時の注意

AdMobライブラリをインポートする際にコピーせずに参照をしていたのだが、その後参照元フォルダの位置を変えたところ、(当然だが)参照できないとエラーに。
あらためてコピーでインポートしたが、
ld: warning: directory not found for option '-L/〜〜〜'
などとWarningが出る始末。
調べたところ、Library Search Pathsという項目に古いパスが残ってしまっているためだった。これを消してやって再ビルドしたところWarningが消えてくれた。(念のためプロジェクトのクリーンも行ったが)
インポートし直したらパスも更新されればいいのに。(ーεー;)


0 件のコメント:

コメントを投稿