Tells the delegate that an ad request successfully received an ad. The delegate may want to add
the banner view to the view hierarchy if it hasn’t been added yet.
Tells the delegate that a full screen view will be presented in response to the user clicking on
an ad. The delegate may want to pause animations and time sensitive interactions.
Tells the delegate that the full screen view has been dismissed. The delegate should restart
anything paused while handling bannerViewWillPresentScreen:.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[[["\u003cp\u003e\u003ccode\u003eGADBannerViewDelegate\u003c/code\u003e provides methods to handle \u003ccode\u003eGADBannerView\u003c/code\u003e state changes, including ad requests, impressions, and clicks.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can use delegate methods to respond to ad request successes or failures, like adding the banner to the view hierarchy or handling errors.\u003c/p\u003e\n"],["\u003cp\u003eDelegate methods track ad impressions and clicks, allowing developers to monitor ad performance.\u003c/p\u003e\n"],["\u003cp\u003eClick-time lifecycle notifications provide signals when a full-screen ad is presented or dismissed, enabling developers to manage user experience during these transitions.\u003c/p\u003e\n"]]],["The `GADBannerViewDelegate` protocol handles messages about `GADBannerView` state changes. Key actions include informing the delegate when an ad is successfully received (`bannerViewDidReceiveAd`), or failed to load (`bannerView:didFailToReceiveAdWithError:`). It also notifies when an impression (`bannerViewDidRecordImpression`) or a click (`bannerViewDidRecordClick`) is recorded. The protocol also manages fullscreen ad presentation, signaling when a full screen is about to be shown (`bannerViewWillPresentScreen`), will be dismissed (`bannerViewWillDismissScreen`), and has been dismissed (`bannerViewDidDismissScreen`).\n"],null,["# GoogleMobileAds Framework Reference\n\nGADBannerViewDelegate\n=====================\n\n @protocol GADBannerViewDelegate \u003cNSObject\u003e\n\nDelegate methods for receiving GADBannerView state change messages such as ad request status\nand ad click lifecycle.\n[Ad Request Lifecycle Notifications\n----------------------------------](#/Ad-Request-Lifecycle-Notifications)\n\n- `\n ``\n ``\n `\n\n ### [-bannerViewDidReceiveAd:](#/c:objc(pl)GADBannerViewDelegate(im)bannerViewDidReceiveAd:)\n\n `\n ` \n Tells the delegate that an ad request successfully received an ad. The delegate may want to add\n the banner view to the view hierarchy if it hasn't been added yet. \n\n #### Declaration\n\n Swift \n\n @MainActor optional func bannerViewDidReceiveAd(_ bannerView: ../Classes/GADBannerView.html)\n\n Objective-C \n\n - (void)bannerViewDidReceiveAd:(nonnull ../Classes/GADBannerView.html *)bannerView;\n\n- `\n ``\n ``\n `\n\n ### [-bannerView:didFailToReceiveAdWithError:](#/c:objc(pl)GADBannerViewDelegate(im)bannerView:didFailToReceiveAdWithError:)\n\n `\n ` \n Tells the delegate that an ad request failed. The failure is normally due to network\n connectivity or ad availability (for example, no fill). \n\n #### Declaration\n\n Swift \n\n @MainActor optional func bannerView(_ bannerView: ../Classes/GADBannerView.html, didFailToReceiveAdWithError error: any Error)\n\n Objective-C \n\n - (void)bannerView:(nonnull ../Classes/GADBannerView.html *)bannerView\n didFailToReceiveAdWithError:(nonnull NSError *)error;\n\n- `\n ``\n ``\n `\n\n ### [-bannerViewDidRecordImpression:](#/c:objc(pl)GADBannerViewDelegate(im)bannerViewDidRecordImpression:)\n\n `\n ` \n Tells the delegate that an impression has been recorded for an ad. \n\n #### Declaration\n\n Swift \n\n @MainActor optional func bannerViewDidRecordImpression(_ bannerView: ../Classes/GADBannerView.html)\n\n Objective-C \n\n - (void)bannerViewDidRecordImpression:(nonnull ../Classes/GADBannerView.html *)bannerView;\n\n- `\n ``\n ``\n `\n\n ### [-bannerViewDidRecordClick:](#/c:objc(pl)GADBannerViewDelegate(im)bannerViewDidRecordClick:)\n\n `\n ` \n Tells the delegate that a click has been recorded for the ad. \n\n #### Declaration\n\n Swift \n\n @MainActor optional func bannerViewDidRecordClick(_ bannerView: ../Classes/GADBannerView.html)\n\n Objective-C \n\n - (void)bannerViewDidRecordClick:(nonnull ../Classes/GADBannerView.html *)bannerView;\n\n[Click-Time Lifecycle Notifications\n----------------------------------](#/Click-Time-Lifecycle-Notifications)\n\n- `\n ``\n ``\n `\n\n ### [-bannerViewWillPresentScreen:](#/c:objc(pl)GADBannerViewDelegate(im)bannerViewWillPresentScreen:)\n\n `\n ` \n Tells the delegate that a full screen view will be presented in response to the user clicking on\n an ad. The delegate may want to pause animations and time sensitive interactions. \n\n #### Declaration\n\n Swift \n\n @MainActor optional func bannerViewWillPresentScreen(_ bannerView: ../Classes/GADBannerView.html)\n\n Objective-C \n\n - (void)bannerViewWillPresentScreen:(nonnull ../Classes/GADBannerView.html *)bannerView;\n\n- `\n ``\n ``\n `\n\n ### [-bannerViewWillDismissScreen:](#/c:objc(pl)GADBannerViewDelegate(im)bannerViewWillDismissScreen:)\n\n `\n ` \n Tells the delegate that the full screen view will be dismissed. \n\n #### Declaration\n\n Swift \n\n @MainActor optional func bannerViewWillDismissScreen(_ bannerView: ../Classes/GADBannerView.html)\n\n Objective-C \n\n - (void)bannerViewWillDismissScreen:(nonnull ../Classes/GADBannerView.html *)bannerView;\n\n- `\n ``\n ``\n `\n\n ### [-bannerViewDidDismissScreen:](#/c:objc(pl)GADBannerViewDelegate(im)bannerViewDidDismissScreen:)\n\n `\n ` \n Tells the delegate that the full screen view has been dismissed. The delegate should restart\n anything paused while handling bannerViewWillPresentScreen:. \n\n #### Declaration\n\n Swift \n\n @MainActor optional func bannerViewDidDismissScreen(_ bannerView: ../Classes/GADBannerView.html)\n\n Objective-C \n\n - (void)bannerViewDidDismissScreen:(nonnull ../Classes/GADBannerView.html *)bannerView;"]]