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

Admob banner change frame for different screen dimensions

我正在尝试让我的 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 ];

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

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

然后我会在代码中创建横幅视图,如下所示:

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--,我忘记了我脑子里的数字)

您需要将 adSize 属性 设置为 Google 的设置横幅大小 kGADAdSizeBanner。然后你设置 GADBannerViewframe 相对于 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
  • height - 将其设置为我们 GADBannerView 的高度:admobBannerView.frame.size.height

Banner Ad Customization