除了標準廣告單元外,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"]],["上次更新時間: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)"]]