AdWhirlでRotation (備忘録)

久しぶりにAdWhirlを経由した広告モデルのアプリを書いています。
以前のiRulerはLandscapeのみのUIでしたが今回のアプリではPortraitもサポートしてRotationを前提としています。
AdWhirlのAPIとしてはRotationした場合には下記のAPIを呼ぶ事になっています。


[AdWhirlView rotateToOrientation:(UIInterfaceOrientation)orientation]

iAdは全然大丈夫なのですが、その他の広告を表示しようとするとRotationが上手く行かない場合があります。

調べてみたのですが単純でした。
このメソッドは各ネットワークアダプタの同名のメソッドを呼ぶのですが、例えばAdMob用のネットワークアダプタはこのメソッドが実装されておらず、親クラスの何もしないメソッドが呼ばれていました。

ですので解決策としてはAdMob用のネットワークアダプタでメソッドをオーバラードしてやれば良いだけです。

AdWhirlAdapterGoogleAdMobAds.m

-(void)rotateToOrientation:(UIInterfaceOrientation)orientation {

    GADBannerView* adMobView;
    adMobView = (GADBannerView*)adNetworkView;

    switch (orientation) {
        case UIInterfaceOrientationPortrait:
        case UIInterfaceOrientationPortraitUpsideDown:
            adMobView.adSize = kGADAdSizeSmartBannerPortrait;
            break;
        case UIInterfaceOrientationLandscapeLeft:
        case UIInterfaceOrientationLandscapeRight:
            adMobView.adSize = kGADAdSizeSmartBannerLandscape;
            break;
        default:
            break;
    }
}

One Response to 'AdWhirlでRotation (備忘録)'

  1. Stanton says:

    Really liked what you had to say in your post, AdWhirlでRotation (備忘録) – FuturesVision, thanks for the good read!
    — Stanton

    http://www.terrazoa.com

Leave a Reply

Your email address will not be published. Required fields are marked *

*

CAPTCHA


WP-SpamFree by Pole Position Marketing