固定尺寸的横幅广告
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Google 移动广告 SDK 支持固定尺寸的广告,适用于自适应横幅广告无法满足需求的场景。
下表列出了标准横幅广告尺寸。
尺寸(宽 x 高,以 dp 为单位) |
说明 |
适用范围 |
AdSize 常量 |
320x50 |
横幅广告 |
手机和平板电脑 |
GADAdSizeBanner |
320x100 |
大型横幅广告 |
手机和平板电脑 |
GADAdSizeLargeBanner |
300x250 |
IAB 中矩形 |
手机和平板电脑 |
GADAdSizeMediumRectangle |
468x60 |
IAB 全尺寸横幅广告 |
平板电脑 |
GADAdSizeFullBanner |
728x90 |
IAB 页首横幅广告 |
平板电脑 |
GADAdSizeLeaderboard |
如需自定义横幅广告尺寸,请使用 GADAdSizeFromCGSize
设置尺寸:
Swift
let adSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))
Objective-C
GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(250, 250));
固定尺寸的横幅广告示例
Swift
Objective-C
自定义广告尺寸
除了标准广告单元之外,Google Ad Manager 允许您在应用中投放任意尺寸的广告单元。为广告请求设定的广告尺寸(宽度、高度)应与应用中展示的广告视图 (GAMBannerView
) 的尺寸相匹配。要设置自定义尺寸,请使用 GADAdSizeFromCGSize
。
Swift
// Define custom GADAdSize of 250x250 for GAMBannerView.
let customAdSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))
bannerView = GAMBannerView(adSize: customAdSize)
Objective-C
// Define custom GADAdSize of 250x250 for GAMBannerView
GADAdSize customAdSize = GADAdSizeFromCGSize(CGSizeMake(250, 250));
self.bannerView = [[GAMBannerView alloc] initWithAdSize:customAdSize];
多个广告尺寸
Ad Manager 允许指定多个可在 GAMBannerView
中投放的广告尺寸。使用此功能需要执行以下三个步骤:
在 Ad Manager 界面中,创建一个订单项,并定位到多个不同尺寸广告素材所关联的同一个广告单元。
在您应用中的 GAMBannerView
上设置 validAdSizes
属性:
Swift
// Define an optional array of GADAdSize to specify all valid sizes that are appropriate
// for this slot. Never create your own GADAdSize directly. Use one of the
// predefined standard ad sizes (such as GADAdSizeBanner), or create one using
// the GADAdSizeFromCGSize method.
//
// Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note
// that all desired sizes should be included in the validAdSizes array.
bannerView.validAdSizes = [NSValueFromGADAdSize(AdSizeBanner),
NSValueFromGADAdSize(AdSizeMediumRectangle),
NSValueFromGADAdSize(adSizeFor(cgSize: CGSize(width: 120, height: 20)))]
Objective-C
// Define an optional array of GADAdSize to specify all valid sizes that are appropriate
// for this slot. Never create your own GADAdSize directly. Use one of the
// predefined standard ad sizes (such as GADAdSizeBanner), or create one using
// the GADAdSizeFromCGSize method.
//
// Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note
// that all desired sizes should be included in the validAdSizes array.
self.bannerView.validAdSizes = @[
NSValueFromGADAdSize(GADAdSizeBanner),
NSValueFromGADAdSize(GADAdSizeMediumRectangle),
NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSizeMake(120, 20)))
];
实现 GADAdSizeDelegate
方法,以检测广告尺寸更改。
Swift
public func bannerView(_ bannerView: BannerView, willChangeAdSizeTo size: AdSize)
Objective-C
- (void)bannerView:(GAMBannerView *)view willChangeAdSizeTo:(GADAdSize)size;
在发出广告请求前,请务必先设置代理:
Swift
bannerView.adSizeDelegate = self
Objective-C
self.bannerView.adSizeDelegate = self;
指定多个广告尺寸的示例
Swift
Objective-C
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-25。
[null,null,["最后更新时间 (UTC):2025-08-25。"],[[["\u003cp\u003eThe Google Mobile Ads SDK offers fixed ad sizes as an alternative to adaptive banners, including standard options like Banner (320x50) and Leaderboard (728x90).\u003c/p\u003e\n"],["\u003cp\u003eYou can define custom banner sizes using \u003ccode\u003eGADAdSizeFromCGSize\u003c/code\u003e by specifying the desired width and height.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Ad Manager supports serving multiple ad sizes to a single ad unit by configuring valid sizes in your app and creating corresponding line items in Ad Manager.\u003c/p\u003e\n"],["\u003cp\u003eTo handle ad size changes dynamically, implement the \u003ccode\u003eGADAdSizeDelegate\u003c/code\u003e and its \u003ccode\u003ebannerView(_:willChangeAdSizeTo:)\u003c/code\u003e method.\u003c/p\u003e\n"]]],[],null,["Select platform: [Android](/ad-manager/mobile-ads-sdk/android/banner/fixed-size \"View this page for the Android platform docs.\") [iOS](/ad-manager/mobile-ads-sdk/ios/banner/fixed-size \"View this page for the iOS platform docs.\") [Flutter](/ad-manager/mobile-ads-sdk/flutter/banner/fixed-size \"View this page for the Flutter platform docs.\")\n\n\u003cbr /\u003e\n\nThe Google Mobile Ads SDK supports fixed ad sizes for situations where adaptive\nbanners ads don't meet your needs.\n\nThe following table lists the standard banner sizes.\n\n| Size in dp (WxH) | Description | Availability | AdSize constant |\n|------------------|----------------------|--------------------|----------------------------|\n| 320x50 | Banner | Phones and tablets | `GADAdSizeBanner` |\n| 320x100 | Large banner | Phones and tablets | `GADAdSizeLargeBanner` |\n| 300x250 | IAB medium rectangle | Phones and tablets | `GADAdSizeMediumRectangle` |\n| 468x60 | IAB full-size banner | Tablets | `GADAdSizeFullBanner` |\n| 728x90 | IAB leaderboard | Tablets | `GADAdSizeLeaderboard` |\n\nTo define a custom banner size, set your size using [`GADAdSizeFromCGSize`](/ad-manager/mobile-ads-sdk/ios/api/reference/Functions): \n\nSwift \n\n let adSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))\n\nObjective-C \n\n GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(250, 250));\n\nFixed size banner ads example\n\n[Swift](//github.com/googleads/googleads-mobile-ios-examples/blob/main/Swift/advanced/APIDemo/APIDemo/AdMobBannerSizesViewController.swift)\n[Objective-C](//github.com/googleads/googleads-mobile-ios-examples/blob/main/Objective-C/advanced/APIDemo/APIDemo/AdMobBannerSizesViewController.m)\n\nCustom ad size\n\nIn addition to the standard ad units, Google Ad Manager lets you serve any sized\nad unit into an app. The ad size (width, height) defined for an ad request\nshould match the dimensions of the ad view (`GAMBannerView`) displayed on the\napp. To set a custom size, use [`GADAdSizeFromCGSize`](/ad-manager/mobile-ads-sdk/ios/api/reference/Functions#/c:@F@CGSizeFromGADAdSize). \n\nSwift \n\n // Define custom GADAdSize of 250x250 for GAMBannerView.\n let customAdSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))\n bannerView = GAMBannerView(adSize: customAdSize)\n\nObjective-C \n\n // Define custom GADAdSize of 250x250 for GAMBannerView\n GADAdSize customAdSize = GADAdSizeFromCGSize(CGSizeMake(250, 250));\n self.bannerView = [[GAMBannerView alloc] initWithAdSize:customAdSize];\n\nMultiple ad sizes\n\nAd Manager lets you specify multiple ad sizes which could be eligible to serve\ninto a `GAMBannerView`. There are three steps needed in order to use this\nfeature:\n\n1. In the Ad Manager UI, create a line item targeting the same ad unit that is\n associated with different size creatives.\n\n2. In your app, set the `validAdSizes` property on `GAMBannerView`:\n\n Swift \n\n // Define an optional array of GADAdSize to specify all valid sizes that are appropriate\n // for this slot. Never create your own GADAdSize directly. Use one of the\n // predefined standard ad sizes (such as GADAdSizeBanner), or create one using\n // the GADAdSizeFromCGSize method.\n //\n // Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note\n // that all desired sizes should be included in the validAdSizes array.\n bannerView.validAdSizes = [NSValueFromGADAdSize(AdSizeBanner),\n NSValueFromGADAdSize(AdSizeMediumRectangle),\n NSValueFromGADAdSize(adSizeFor(cgSize: CGSize(width: 120, height: 20)))]\n\n Objective-C \n\n // Define an optional array of GADAdSize to specify all valid sizes that are appropriate\n // for this slot. Never create your own GADAdSize directly. Use one of the\n // predefined standard ad sizes (such as GADAdSizeBanner), or create one using\n // the GADAdSizeFromCGSize method.\n //\n // Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note\n // that all desired sizes should be included in the validAdSizes array.\n self.bannerView.validAdSizes = @[\n NSValueFromGADAdSize(GADAdSizeBanner),\n NSValueFromGADAdSize(GADAdSizeMediumRectangle),\n NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSizeMake(120, 20)))\n ];\n\n3. Implement the `GADAdSizeDelegate` method to detect an ad size change.\n\n Swift \n\n public func bannerView(_ bannerView: BannerView, willChangeAdSizeTo size: AdSize)\n\n Objective-C \n\n - (void)bannerView:(GAMBannerView *)view willChangeAdSizeTo:(GADAdSize)size;\n\n Remember to set the delegate before making the request for an ad. \n\n Swift \n\n bannerView.adSizeDelegate = self\n\n Objective-C \n\n self.bannerView.adSizeDelegate = self;\n\nMultiple ad sizes example\n\n[Swift](//github.com/googleads/googleads-mobile-ios-examples/blob/main/Swift/advanced/APIDemo/APIDemo/AdManagerMultipleAdSizesViewController.swift)\n[Objective-C](//github.com/googleads/googleads-mobile-ios-examples/blob/main/Objective-C/advanced/APIDemo/APIDemo/GAMMultipleAdSizesViewController.m)"]]