Stay organized with collections
Save and categorize content based on your preferences.
GADCustomEventBannerDelegate
Deprecated
Use GADMediationBannerAdEventDelegate instead.
@protocol GADCustomEventBannerDelegate <NSObject>
Call back to this delegate in your custom event. You must call customEventBanner:didReceiveAd:
when there is an ad to show, or customEventBanner:didFailAd: when there is no ad to show.
Otherwise, if enough time passed (several seconds) after the SDK called the requestBannerAd:
method of your custom event, the mediation SDK will consider the request timed out, and move on
to the next ad network.
Your Custom Event object must call this when it fails to receive or create the ad view. Pass
along any error object sent from the ad network’s SDK, or an NSError describing the error. Pass
nil if not available.
Declaration
Swift
func customEventBanner(_ customEvent: any GADCustomEventBanner, didFailAd error: (any Error)?)
Your Custom Event object should call this when the user touches or “clicks” the ad to initiate
an action. When the SDK receives this callback, it reports the click back to the mediation
server.
[[["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\u003eGADCustomEventBannerDelegate\u003c/code\u003e is deprecated and developers should use \u003ccode\u003eGADMediationBannerAdEventDelegate\u003c/code\u003e instead.\u003c/p\u003e\n"],["\u003cp\u003eThis delegate handles callbacks for custom event banners, including ad loading success (\u003ccode\u003edidReceiveAd\u003c/code\u003e), ad loading failure (\u003ccode\u003edidFailAd\u003c/code\u003e), and clicks (\u003ccode\u003ecustomEventBannerWasClicked\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to manage the presentation and dismissal of modal views triggered by ad interactions (\u003ccode\u003ecustomEventBannerWillPresentModal\u003c/code\u003e, \u003ccode\u003ecustomEventBannerWillDismissModal\u003c/code\u003e, \u003ccode\u003ecustomEventBannerDidDismissModal\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eviewControllerForPresentingModalView\u003c/code\u003e property helps in presenting modal views related to the ad.\u003c/p\u003e\n"],["\u003cp\u003eSome methods like \u003ccode\u003ecustomEventBanner:clickDidOccurInAd:\u003c/code\u003e and \u003ccode\u003ecustomEventBannerWillLeaveApplication:\u003c/code\u003e are also deprecated with either replacements or no alternatives.\u003c/p\u003e\n"]]],[],null,["# GoogleMobileAds Framework Reference\n\nGADCustomEventBannerDelegate\n============================\n\nDeprecated\n\nUse GADMediationBannerAdEventDelegate instead. \n\n @protocol GADCustomEventBannerDelegate \u003cNSObject\u003e\n\nCall back to this delegate in your custom event. You must call customEventBanner:didReceiveAd:\nwhen there is an ad to show, or customEventBanner:didFailAd: when there is no ad to show.\nOtherwise, if enough time passed (several seconds) after the SDK called the requestBannerAd:\nmethod of your custom event, the mediation SDK will consider the request timed out, and move on\nto the next ad network.\n- `\n ``\n ``\n `\n\n ### [-customEventBanner:didReceiveAd:](#/c:objc(pl)GADCustomEventBannerDelegate(im)customEventBanner:didReceiveAd:)\n\n `\n ` \n Deprecated\n\n Use GADMediationBannerAdEventDelegate instead. \n Your Custom Event object must call this when it receives or creates an ad view. \n\n #### Declaration\n\n Swift \n\n func customEventBanner(_ customEvent: any ../Protocols/GADCustomEventBanner.html, didReceiveAd view: UIView)\n\n Objective-C \n\n - (void)customEventBanner:(nonnull id\u003c../Protocols/GADCustomEventBanner.html\u003e)customEvent\n didReceiveAd:(nonnull UIView *)view;\n\n- `\n ``\n ``\n `\n\n ### [-customEventBanner:didFailAd:](#/c:objc(pl)GADCustomEventBannerDelegate(im)customEventBanner:didFailAd:)\n\n `\n ` \n Deprecated\n\n Use GADMediationBannerAdEventDelegate instead. \n Your Custom Event object must call this when it fails to receive or create the ad view. Pass\n along any error object sent from the ad network's SDK, or an NSError describing the error. Pass\n nil if not available. \n\n #### Declaration\n\n Swift \n\n func customEventBanner(_ customEvent: any ../Protocols/GADCustomEventBanner.html, didFailAd error: (any Error)?)\n\n Objective-C \n\n - (void)customEventBanner:(nonnull id\u003c../Protocols/GADCustomEventBanner.html\u003e)customEvent\n didFailAd:(nullable NSError *)error;\n\n- `\n ``\n ``\n `\n\n ### [-customEventBannerWasClicked:](#/c:objc(pl)GADCustomEventBannerDelegate(im)customEventBannerWasClicked:)\n\n `\n ` \n Deprecated\n\n Use GADMediationBannerAdEventDelegate instead. \n Your Custom Event object should call this when the user touches or \"clicks\" the ad to initiate\n an action. When the SDK receives this callback, it reports the click back to the mediation\n server. \n\n #### Declaration\n\n Swift \n\n func customEventBannerWasClicked(_ customEvent: any ../Protocols/GADCustomEventBanner.html)\n\n Objective-C \n\n - (void)customEventBannerWasClicked:\n (nonnull id\u003c../Protocols/GADCustomEventBanner.html\u003e)customEvent;\n\n- `\n ``\n ``\n `\n\n ### [viewControllerForPresentingModalView](#/c:objc(pl)GADCustomEventBannerDelegate(py)viewControllerForPresentingModalView)\n\n `\n ` \n Deprecated\n\n Use GADMediationBannerAdEventDelegate instead. \n The rootViewController that you set in GADBannerView. Use this UIViewController to show a modal\n view when a user taps on the ad. \n\n #### Declaration\n\n Swift \n\n var viewControllerForPresentingModalView: UIViewController { get }\n\n Objective-C \n\n @property (nonatomic, readonly, nonnull) UIViewController *viewControllerForPresentingModalView;\n\n- `\n ``\n ``\n `\n\n ### [-customEventBannerWillPresentModal:](#/c:objc(pl)GADCustomEventBannerDelegate(im)customEventBannerWillPresentModal:)\n\n `\n ` \n Deprecated\n\n Use GADMediationBannerAdEventDelegate instead. \n Your Custom Event should call this when the user taps an ad and a modal view appears. \n\n #### Declaration\n\n Swift \n\n func customEventBannerWillPresentModal(_ customEvent: any ../Protocols/GADCustomEventBanner.html)\n\n Objective-C \n\n - (void)customEventBannerWillPresentModal:\n (nonnull id\u003c../Protocols/GADCustomEventBanner.html\u003e)customEvent;\n\n- `\n ``\n ``\n `\n\n ### [-customEventBannerWillDismissModal:](#/c:objc(pl)GADCustomEventBannerDelegate(im)customEventBannerWillDismissModal:)\n\n `\n ` \n Deprecated\n\n Use GADMediationBannerAdEventDelegate instead. \n Your Custom Event should call this when the user dismisses the modal view and the modal view is\n about to go away. \n\n #### Declaration\n\n Swift \n\n func customEventBannerWillDismissModal(_ customEvent: any ../Protocols/GADCustomEventBanner.html)\n\n Objective-C \n\n - (void)customEventBannerWillDismissModal:\n (nonnull id\u003c../Protocols/GADCustomEventBanner.html\u003e)customEvent;\n\n- `\n ``\n ``\n `\n\n ### [-customEventBannerDidDismissModal:](#/c:objc(pl)GADCustomEventBannerDelegate(im)customEventBannerDidDismissModal:)\n\n `\n ` \n Deprecated\n\n Use GADMediationBannerAdEventDelegate instead. \n Your Custom Event should call this when the user dismisses the modal view and the modal view has\n gone away. \n\n #### Declaration\n\n Swift \n\n func customEventBannerDidDismissModal(_ customEvent: any ../Protocols/GADCustomEventBanner.html)\n\n Objective-C \n\n - (void)customEventBannerDidDismissModal:\n (nonnull id\u003c../Protocols/GADCustomEventBanner.html\u003e)customEvent;\n\n[Deprecated\n----------](#/Deprecated)\n\n- `\n ``\n ``\n `\n\n ### [-customEventBanner:clickDidOccurInAd:](#/c:objc(pl)GADCustomEventBannerDelegate(im)customEventBanner:clickDidOccurInAd:)\n\n `\n ` \n Deprecated\n\n Use GADMediationBannerAdEventDelegate instead. \n Deprecated. Use customEventBannerWasClicked:. \n\n #### Declaration\n\n Swift \n\n func customEventBanner(_ customEvent: any ../Protocols/GADCustomEventBanner.html, clickDidOccurInAd view: UIView)\n\n Objective-C \n\n - (void)customEventBanner:(nonnull id\u003c../Protocols/GADCustomEventBanner.html\u003e)customEvent\n clickDidOccurInAd:(nonnull UIView *)view;\n\n- `\n ``\n ``\n `\n\n ### [-customEventBannerWillLeaveApplication:](#/c:objc(pl)GADCustomEventBannerDelegate(im)customEventBannerWillLeaveApplication:)\n\n `\n ` \n Deprecated\n\n Use GADMediationBannerAdEventDelegate instead. \n Deprecated. No replacement. \n\n #### Declaration\n\n Swift \n\n func customEventBannerWillLeaveApplication(_ customEvent: any ../Protocols/GADCustomEventBanner.html)\n\n Objective-C \n\n - (void)customEventBannerWillLeaveApplication:\n (nonnull id\u003c../Protocols/GADCustomEventBanner.html\u003e)customEvent;"]]