Để thảo luận và đưa ra ý kiến phản hồi về các sản phẩm của chúng tôi, hãy tham gia kênh Discord chính thức của Ad Manager trong máy chủ Cộng đồng quảng cáo và đo lường của Google.
Quảng cáo biểu ngữ có thể thu gọn là quảng cáo biểu ngữ ban đầu được trình bày dưới dạng một lớp phủ lớn hơn, có nút để thu gọn về kích thước biểu ngữ được yêu cầu ban đầu.
Quảng cáo biểu ngữ có thể thu gọn được thiết kế để cải thiện hiệu suất của quảng cáo cố định có kích thước nhỏ hơn. Hướng dẫn này trình bày cách bật quảng cáo biểu ngữ có thể thu gọn cho các vị trí đặt biểu ngữ hiện có.
Đảm bảo rằng chế độ xem biểu ngữ của bạn được xác định bằng kích thước mà bạn muốn người dùng nhìn thấy ở trạng thái biểu ngữ thông thường (đã được thu gọn). Đưa một thông số bổ sung vào yêu cầu quảng cáo với collapsible làm khoá và vị trí của quảng cáo làm giá trị.
Vị trí có thể thu gọn xác định cách vùng mở rộng liên kết với quảng cáo biểu ngữ.
Giá trị Placement
Hành vi
Trường hợp sử dụng dự kiến
top
Đầu quảng cáo mở rộng sẽ căn chỉnh với đầu quảng cáo thu gọn.
Quảng cáo nằm ở đầu màn hình.
bottom
Phần dưới cùng của quảng cáo được mở rộng sẽ căn chỉnh với phần dưới cùng của quảng cáo bị thu gọn.
Quảng cáo nằm ở cuối màn hình.
Nếu quảng cáo được tải là biểu ngữ có thể thu gọn, thì biểu ngữ sẽ hiển thị lớp phủ có thể thu gọn ngay sau khi được đặt trong hệ phân cấp khung hiển thị.
Swift
funcloadBannerAd(){bannerView.adUnitID="ca-app-pub-3940256099942544/8388050270"bannerView.rootViewController=selfletviewWidth=FRAME_WIDTHbannerView.adSize=currentOrientationAnchoredAdaptiveBanner(width:viewWidth)letrequest=AdManagerRequest// Create an extra parameter that aligns the bottom of the expanded ad to// the bottom of the bannerView.letextras=Extras()extras.additionalParameters=["collapsible":"bottom"]request.register(extras)bannerView.load(request)}
Objective-C
-(void)loadBannerAd{self.bannerView.adUnitID=@"ca-app-pub-3940256099942544/8388050270";CGFloatviewWidth=FRAME_WIDTH;self.bannerView.adSize=GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth);GADRequest*request=[GADRequestrequest];// Create an extra parameter that aligns the bottom of the expanded ad to the// bottom of the bannerView.GADExtras*extras=[[GADExtrasalloc]init];extras.additionalParameters=@{@"collapsible":@"bottom"};[requestregisterAdNetworkExtras:extras];
[self.bannerViewloadRequest:request];}
Hành vi làm mới quảng cáo
Đối với những ứng dụng định cấu hình tính năng tự động làm mới cho quảng cáo biểu ngữ trong giao diện web Ad Manager, khi một quảng cáo biểu ngữ có thể thu gọn được yêu cầu cho một vùng quảng cáo biểu ngữ, thì các lượt làm mới quảng cáo tiếp theo sẽ không yêu cầu quảng cáo biểu ngữ có thể thu gọn. Lý do là vì việc hiển thị biểu ngữ có thể thu gọn trên mỗi lần làm mới có thể ảnh hưởng tiêu cực đến trải nghiệm người dùng.
Nếu muốn tải một quảng cáo biểu ngữ có thể thu gọn khác vào lúc khác trong phiên, bạn có thể tải quảng cáo theo cách thủ công bằng một yêu cầu chứa thông số có thể thu gọn.
Kiểm tra xem quảng cáo đã tải có thể thu gọn hay không
Quảng cáo biểu ngữ không thể thu gọn đủ điều kiện để trả về cho các yêu cầu về biểu ngữ có thể thu gọn nhằm tối đa hoá hiệu suất. Gọi isCollapsible để kiểm tra xem biểu ngữ được tải gần đây nhất có thể thu gọn hay không. Nếu yêu cầu không tải được và biểu ngữ trước đó có thể thu gọn, thì API sẽ trả về giá trị true.
Swift
funcbannerViewDidReceiveAd(_bannerView:BannerView){print("The last loaded banner is \(bannerView.isCollapsible?"":"not") collapsible.")}
Objective-C
-(void)bannerViewDidReceiveAd:(GADBannerView*)bannerView{NSLog(@"The last loaded banner is %@collapsible.",(bannerView.isCollapsible?@"":@"not "));}
Dàn xếp
Quảng cáo biểu ngữ có thể thu gọn chỉ dành cho nhu cầu của Google. Quảng cáo được phân phát thông qua hoạt động dàn xếp sẽ hiển thị dưới dạng quảng cáo biểu ngữ thông thường, không thể thu gọn.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-09-02 UTC."],[[["\u003cp\u003eCollapsible banner ads start as larger overlays and can be collapsed to a standard banner size, improving performance for smaller anchored ads.\u003c/p\u003e\n"],["\u003cp\u003eTo implement, define the banner view's collapsed size and include an extras parameter in the ad request specifying the placement (\u003ccode\u003etop\u003c/code\u003e or \u003ccode\u003ebottom\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eWhile auto-refresh is enabled, subsequent refreshes after a collapsible banner won't request another collapsible banner to avoid impacting user experience.\u003c/p\u003e\n"],["\u003cp\u003eYou can verify if a loaded ad is collapsible by calling \u003ccode\u003eisCollapsible\u003c/code\u003e on the banner view.\u003c/p\u003e\n"],["\u003cp\u003eDuring the beta period, collapsible banner ads are only supported for Google demand and not for ads served through mediation.\u003c/p\u003e\n"]]],[],null,["Select platform: [Android](/ad-manager/mobile-ads-sdk/android/banner/collapsible \"View this page for the Android platform docs.\") [iOS](/ad-manager/mobile-ads-sdk/ios/banner/collapsible \"View this page for the iOS platform docs.\") [Unity](/ad-manager/mobile-ads-sdk/unity/banner/collapsible \"View this page for the Unity platform docs.\") [Flutter](/ad-manager/mobile-ads-sdk/flutter/banner/collapsible \"View this page for the Flutter platform docs.\")\n\n\u003cbr /\u003e\n\nCollapsible banner ads are banner ads that are initially presented as a larger\noverlay, with a button to collapse them to the originally requested banner size.\nCollapsible banner ads are intended to improve performance of anchored ads that\nare otherwise a smaller size. This guide shows how to turn on collapsible banner\nads for existing banner placements.\n\nPrerequisites\n\n- Complete the [banner ads get started guide](/ad-manager/mobile-ads-sdk/ios/banner).\n\nImplementation\n\nMake sure your banner view is defined with the size you would like users to see\nin the regular (collapsed) banner state. Include an extras parameter in the ad\nrequest with `collapsible` as the key and the placement of the ad as the value.\n\nThe collapsible placement defines how the expanded region anchors to the banner\nad.\n\n| `Placement` value | Behavior | Intended use case |\n|-------------------|-------------------------------------------------------------------------|-----------------------------------------------|\n| `top` | The top of the expanded ad aligns to the top of the collapsed ad. | The ad is placed at the top of the screen. |\n| `bottom` | The bottom of the expanded ad aligns to the bottom of the collapsed ad. | The ad is placed at the bottom of the screen. |\n\nIf the loaded ad is a collapsible banner, the banner shows the collapsible\noverlay immediately once it's placed in the view hierarchy.\n\nSwift \n\n func loadBannerAd() {\n bannerView.adUnitID = \"ca-app-pub-3940256099942544/8388050270\"\n bannerView.rootViewController = self\n let viewWidth = FRAME_WIDTH\n bannerView.adSize = currentOrientationAnchoredAdaptiveBanner(width: viewWidth)\n\n let request = AdManagerRequest\n\n // Create an extra parameter that aligns the bottom of the expanded ad to\n // the bottom of the bannerView.\n let extras = Extras()\n extras.additionalParameters = \\[\"collapsible\" : \"bottom\"\\]\n request.register(extras)\n\n bannerView.load(request)\n }\n\nObjective-C \n\n - (void)loadBannerAd {\n self.bannerView.adUnitID = @\"ca-app-pub-3940256099942544/8388050270\";\n CGFloat viewWidth = FRAME_WIDTH;\n self.bannerView.adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(viewWidth);\n\n GADRequest *request = [GADRequest request];\n\n // Create an extra parameter that aligns the bottom of the expanded ad to the\n // bottom of the bannerView.\n GADExtras \\*extras = \\[\\[GADExtras alloc\\] init\\];\n extras.additionalParameters = @{@\"collapsible\" : @\"bottom\"};\n \\[request registerAdNetworkExtras:extras\\];\n\n [self.bannerView loadRequest:request];\n }\n\n\u003cbr /\u003e\n\nAds refreshing behavior\n\nFor apps that configure auto-refresh for banner ads in the\nAd Manager web interface, when a collapsible banner ad\nis requested for a banner slot, subsequent ad refreshes won't request\ncollapsible banner ads. This is because showing a collapsible banner on every\nrefresh could have a negative impact on user experience.\n\nIf you want to load another collapsible banner ad later in the session, you can\nload an ad manually with a request containing the collapsible parameter.\n\nCheck if a loaded ad is collapsible\n\nNon-collapsible banner ads are eligible to return for collapsible banner\nrequests to maximize performance. Call `isCollapsible` to check if the last\nbanner loaded is collapsible. If the request fails to load and the previous\nbanner is collapsible, the API returns true. \n\nSwift \n\n func bannerViewDidReceiveAd(_ bannerView: BannerView) {\n print(\"The last loaded banner is \\(bannerView.isCollapsible ? \"\" : \"not\") collapsible.\")\n }\n\nObjective-C \n\n - (void)bannerViewDidReceiveAd:(GADBannerView *)bannerView {\n NSLog(@\"The last loaded banner is %@collapsible.\", (bannerView.isCollapsible ? @\"\" : @\"not \"));\n }\n\n\u003cbr /\u003e\n\nMediation\n\nCollapsible banner ads are only available for Google demand. Ads served through\nmediation show as normal, non-collapsible banner ads."]]