Admob横幅更改框架为不同的屏幕尺寸

时间:2015-06-11 00:01:40

标签: objective-c admob

我试图让我的Admob广告在Apple提供的所有不同iPhone屏幕尺寸之间进行调整,但我无法弄清楚如何让它自动调整或使用不同的代码。

在我的viewdidload

bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0, 430, 320, 50)];
bannerView_.adUnitID = @"";
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];
GADRequest *request = [GADRequest request];
request.testDevices = [NSArray arrayWithObjects:@"", nil ];

2 个答案:

答案 0 :(得分:2)

您需要将adSize属性设置为Google的设置横幅尺寸kGADAdSizeBanner。然后,相对于GADBannerView设置frame的{​​{1}}。以下代码将view放在GADBannerView的底部。

view
  • admobBannerView.adSize = kGADAdSizeBanner; admobBannerView.frame = CGRectMake(0, self.view.frame.size.height - admobBannerView.frame.size.height , self.view.frame.size.width, admobBannerView.frame.size.height); - 设置为x
  • 的来源
  • 0 - 将原点设置为y的高度。但这会使它显示在屏幕的底部。因此,我们必须减去view的高度,将其移到屏幕上:GADBannerView
  • self.view.frame.size.height - admobBannerView.frame.size.height - 将其设置为width的宽度:view
  • self.view.frame.size.width - 将其设置为heightGADBannerView
  • 的高度

Banner Ad Customization

答案 1 :(得分:0)

由于您是以编程方式而不是使用Storyboard创建横幅,因此我会检查以查找屏幕的高度。我使用以下代码来确定某人的电话。

CGFloat greaterPixelDimension = (CGFloat) fmaxf(((float)[[UIScreen mainScreen]bounds].size.height), ((float)[[UIScreen mainScreen]bounds].size.width));

然后我会在代码中创建bannerview:

if (greaterPixelDimension == 736) {  //6 plus
    bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0, ###, 4--, 50)];
}
else if (greaterPixelDimension == 667){  // 6
     bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0, ###, 3--, 50)];
}
else if(greaterPixelDimension == 568){  // 5
     bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0, 430, 320, 50)];
}

等。 (显然用相应的点替换###和3--,我忘记了我头顶的数字)