質問: 環境: Xcode7.1,AdMob7.5.2/iOS9.1, AdMob Mediationで、AdMobとiAdの広告2本立て iOS Simulator.iPhone App. simulator環境では、iAdは、テスト用の広告。AdMobでは、実際の広告を出すことが出来ます。 banner size は、kGADBannerSizeを指定。 この時、simulatorで、対象モデルをiPhoneシリーズで、変更しても、iAdのダミー広告は、破綻がありません。しかし、AdMob側では、iPhone4Sでは、破綻がありませんが、iPhone5以降では、明らかに、表示領域より大きなイメージが、AdMob サーバーから降ってきていて、右側と下側が欠ける表示が出ますけど、これは、AdMobのバグなんでしょうか? BannerのUIViewは、IBで、貼付け、制約子は、縦50で、幅は指定なしで、leadingとtrailingは、それぞれSuperviewのそれぞれとequalです。これが、まずいのですかね。
回答: 結局、わかったのは 1. AdMobの場合、Simulatorで、テスト広告設定をしたときと、そうでない設定では、サイズが、kGADSizeBannerのとき、振舞いが異なる。 2. テスト広告設定の場合(シミュレータID使用時)は、320x50のダミー広告が表示される。表示領域が広い場合は、左右に余白がでる。 3. テスト広告設定でない場合、シミュレータでも本物の広告が降ってくるが、これは、表示領域の広さによって、320x50でないことがある。その為、iPhone6以降だと、下か右端が欠ける表示になる。もともと、Googleは、シミュレータでは、ダミー広告を使え、といっているので、これは、目的外使用であるが。 4. iAdは、AdMob側の指定がなんであろうと、縦50,幅一杯の、広告が降ってくる。 5. AdMob側のスマートバナーは、幅は、iAdと同じく、通しであるが、縦サイズは、スクリーンの縦サイズによって、変化する。現在でているiPhoneでは、iPhone6+ iphone6s+では、iAdと縦サイズが異なる縦90の指定になる。すなわち、iAd広告表示の時には、かなり目に付く余白ができる。 6. AdMob MediationのAPIには、これから出す広告ネットワークがどのネットワークから来ているのか、知る術はないので、プログラムで、表示領域のサイズをダイナミックに変更は出来そうもない。 ということで、AdMob/iAd両対応を、すべてのiPhoneモデルで、余白がでないように表示するのは、いまのところ出来ないようです。