@@ -5,6 +5,7 @@ var utils = require("utils/utils");
55var types = require ( "utils/types" ) ;
66var frame = require ( "ui/frame" ) ;
77var platform = require ( "platform" ) ;
8+ var DeviceType = require ( "ui/enums" ) . DeviceType ;
89
910firebase . _messagingConnected = null ;
1011firebase . _pendingNotifications = [ ] ;
@@ -574,8 +575,11 @@ firebase.admob.showBanner = function (arg) {
574575 var view = settings . view ;
575576 var bannerType = firebase . admob . _getBannerType ( settings . size ) ;
576577
577- var originX = ( view . frame . size . width - bannerType . size . width ) / 2 ;
578- var originY = settings . margins . top > - 1 ? settings . margins . top : ( settings . margins . bottom > - 1 ? view . frame . size . height - bannerType . size . height - settings . margins . bottom : 0.0 ) ;
578+ var adWidth = bannerType . size . width === 0 ? view . frame . size . width : bannerType . size . width ;
579+ var adHeight = bannerType . size . smartHeight ? bannerType . size . smartHeight : bannerType . size . height ;
580+
581+ var originX = ( view . frame . size . width - adWidth ) / 2 ;
582+ var originY = settings . margins . top > - 1 ? settings . margins . top : ( settings . margins . bottom > - 1 ? view . frame . size . height - adHeight - settings . margins . bottom : 0.0 ) ;
579583 var origin = CGPointMake ( originX , originY ) ;
580584 firebase . admob . adView = GADBannerView . alloc ( ) . initWithAdSizeOrigin ( bannerType , origin ) ;
581585
@@ -698,12 +702,13 @@ firebase.admob._getBannerType = function(size) {
698702 return { "size" :{ "width" :120 , "height" :600 } , "flags" :0 } ;
699703 } else if ( size == firebase . admob . AD_SIZE . SMART_BANNER || size == firebase . admob . AD_SIZE . FLUID ) {
700704 var orientation = utils . ios . getter ( UIDevice , UIDevice . currentDevice ) . orientation ;
705+ var isIPad = platform . device . deviceType === DeviceType . Tablet ;
701706 if ( orientation == UIDeviceOrientation . UIDeviceOrientationPortrait || orientation == UIDeviceOrientation . UIDeviceOrientationPortraitUpsideDown ) {
702707 // return kGADAdSizeSmartBannerPortrait;
703- return { "size" :{ "width" :0 , "height" :0 } , "flags" :18 } ;
708+ return { "size" :{ "width" :0 , "height" :0 , "smartHeight" : isIPad ? 90 : 50 } , "flags" :18 } ;
704709 } else {
705710 // return kGADAdSizeSmartBannerLandscape;
706- return { "size" :{ "width" :0 , "height" :0 } , "flags" :26 } ;
711+ return { "size" :{ "width" :0 , "height" :0 , "smartHeight" : isIPad ? 90 : 32 } , "flags" :26 } ;
707712 }
708713 } else {
709714 // return kGADAdSizeInvalid;
0 commit comments