除了标准广告单元之外,Google Ad Manager 允许您在应用中投放任意尺寸的广告单元。为广告请求设定的广告尺寸(宽度、高度)应与应用中展示的广告视图 (GAMBannerView) 的尺寸相匹配。要设置自定义尺寸,请使用 GADAdSizeFromCGSize。
Swift
// Define custom GADAdSize of 250x250 for GAMBannerView.letcustomAdSize=adSizeFor(cgSize:CGSize(width:250,height:250))bannerView=GAMBannerView(adSize:customAdSize)
Objective-C
// Define custom GADAdSize of 250x250 for GAMBannerViewGADAdSizecustomAdSize=GADAdSizeFromCGSize(CGSizeMake(250,250));self.bannerView=[[GAMBannerViewalloc]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)))];
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-09-02。"],[[["\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\nGoogle 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)"]]