6
6

More than 5 years have passed since last update.

《iOS》AdMobSDKでメディエーションが上手く行かなかった話【バナー】

Last updated at Posted at 2015-03-16

iOSでAdmobSDKを実装したものの国内の特定のアドネットワークだけ上手く表示されなかったりして困っていました。
それでいろいろテストしてみたらAdmobの特徴がすこしわかった話。

当初の実装(AdmobのSDKは6.12.2とすこし古めです)

RootViewController
GADBannerView* banner = [[GADBannerView alloc] initWithAdSize: GADAdSizeFullWidthPortraitWithHeight(GAD_SIZE_320x50.height)];

これだと一部のアドネットワークの広告が表示されないようで困っていたのでとりあえず

RootViewController
GADBannerView* banner = [[GADBannerView alloc]init];

とサイズを指定せずに実装。しかしこれだと次のようなエラーが発生します。

 "Request Error: No ads to show"

Admobはサイズを適切に設定してやらないと表示されないという特徴がありました。

iOS SDK7.0.0(2015年3月時点で最新版)では先ほどの

GADAdSizeFullWidthPortraitWithHeight(GAD_SIZE_320x50.height)

のメソッドは消されていてDeprecatedなメソッドだったぽいので次のように書き換えたら上手くいきました。

RootViewController
GADBannerView* banner = [[GADBannerView alloc] initWithAdSize:kGADSizeBanner];

// iPadならkGADSizeFullBannerになります。

アドネットワーク各社さんにご迷惑をおかけしてしまいましたが、AdmobのSDKにはこのような特徴があるため
適切なサイズの設定をしてあげなければなりません。

次のパターンにはまったらこの解決法で上手くいくかもしれません
・AdUnitID設定したのに表示されない
・アドネットワークの設定が適切なのに表示されない
・ちゃんとViewControllerにaddSubViewしてRequest出してるのに表示されない

[追記 2015/03/24]
iAdについて
iAdはデフォルトでスマートバナーといって

GADAdSizeFullWidthPortraitWithHeight(GAD_SIZE_320x50.height)

のサイズでバナーを表示しようとするためサイズが見切れてしまうという現象が起こってしまいます。
通常のkGADAdSizeBannerだと(320 x 50)のサイズになってしまうためです。
したがってメディエーションについてはiAdはお勧めしません。onDidReceivedAd(delegateイベント)で
iAdの場合だけハンドリングしてうまくやれる方法があればいいのですが.....

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6