Call back to this delegate in your custom event. You must call
customEventInterstitialDidReceiveAd: when there is an ad to show, or
customEventInterstitial:didFailAd: when there is no ad to show. Otherwise, if enough time passed
(several seconds) after the SDK called the requestInterstitialAdWithParameter: method of your
custom event, the mediation SDK will consider the request timed out, and move on to the next ad
network.
Use GADMediationInterstitialAdEventDelegate instead.
Your Custom Event object must call this when it fails to receive or create the ad. 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 customEventInterstitial(_ customEvent: any GADCustomEventInterstitial, didFailAd error: (any Error)?)
Use GADMediationInterstitialAdEventDelegate instead.
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\u003eGADCustomEventInterstitialDelegate\u003c/code\u003e is deprecated; use \u003ccode\u003eGADMediationInterstitialAdEventDelegate\u003c/code\u003e instead.\u003c/p\u003e\n"],["\u003cp\u003eThis delegate handles callbacks in your custom event for interstitial ads, including ad reception, failures, clicks, presentation, and dismissal.\u003c/p\u003e\n"],["\u003cp\u003eCustom events must call specific delegate methods like \u003ccode\u003ecustomEventInterstitialDidReceiveAd:\u003c/code\u003e upon receiving an ad or \u003ccode\u003ecustomEventInterstitial:didFailAd:\u003c/code\u003e if ad retrieval fails.\u003c/p\u003e\n"],["\u003cp\u003eDelegate methods provide signals for ad interactions such as clicks, presentation, and dismissal, enabling the SDK to track and manage the ad lifecycle.\u003c/p\u003e\n"],["\u003cp\u003eSome previously available methods within this delegate, such as \u003ccode\u003ecustomEventInterstitial:didReceiveAd:\u003c/code\u003e and \u003ccode\u003ecustomEventInterstitialWillLeaveApplication:\u003c/code\u003e, are now deprecated and have either replacements or no alternatives.\u003c/p\u003e\n"]]],[],null,["# GoogleMobileAds Framework Reference\n\nGADCustomEventInterstitialDelegate\n==================================\n\nDeprecated\n\nUse GADMediationInterstitialAdEventDelegate instead. \n\n @protocol GADCustomEventInterstitialDelegate \u003cNSObject\u003e\n\nCall back to this delegate in your custom event. You must call\ncustomEventInterstitialDidReceiveAd: when there is an ad to show, or\ncustomEventInterstitial:didFailAd: when there is no ad to show. Otherwise, if enough time passed\n(several seconds) after the SDK called the requestInterstitialAdWithParameter: method of your\ncustom event, the mediation SDK will consider the request timed out, and move on to the next ad\nnetwork.\n- `\n ``\n ``\n `\n\n ### [-customEventInterstitialDidReceiveAd:](#/c:objc(pl)GADCustomEventInterstitialDelegate(im)customEventInterstitialDidReceiveAd:)\n\n `\n ` \n Deprecated\n\n Use GADMediationInterstitialAdEventDelegate instead. \n Your Custom Event object must call this when it receives or creates an interstitial ad. \n\n #### Declaration\n\n Swift \n\n func customEventInterstitialDidReceiveAd(_ customEvent: any ../Protocols/GADCustomEventInterstitial.html)\n\n Objective-C \n\n - (void)customEventInterstitialDidReceiveAd:\n (nonnull id\u003c../Protocols/GADCustomEventInterstitial.html\u003e)customEvent;\n\n- `\n ``\n ``\n `\n\n ### [-customEventInterstitial:didFailAd:](#/c:objc(pl)GADCustomEventInterstitialDelegate(im)customEventInterstitial:didFailAd:)\n\n `\n ` \n Deprecated\n\n Use GADMediationInterstitialAdEventDelegate instead. \n Your Custom Event object must call this when it fails to receive or create the ad. Pass along\n any error object sent from the ad network's SDK, or an NSError describing the error. Pass nil if\n not available. \n\n #### Declaration\n\n Swift \n\n func customEventInterstitial(_ customEvent: any ../Protocols/GADCustomEventInterstitial.html, didFailAd error: (any Error)?)\n\n Objective-C \n\n - (void)customEventInterstitial:\n (nonnull id\u003c../Protocols/GADCustomEventInterstitial.html\u003e)customEvent\n didFailAd:(nullable NSError *)error;\n\n- `\n ``\n ``\n `\n\n ### [-customEventInterstitialWasClicked:](#/c:objc(pl)GADCustomEventInterstitialDelegate(im)customEventInterstitialWasClicked:)\n\n `\n ` \n Deprecated\n\n Use GADMediationInterstitialAdEventDelegate 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 customEventInterstitialWasClicked(_ customEvent: any ../Protocols/GADCustomEventInterstitial.html)\n\n Objective-C \n\n - (void)customEventInterstitialWasClicked:\n (nonnull id\u003c../Protocols/GADCustomEventInterstitial.html\u003e)customEvent;\n\n- `\n ``\n ``\n `\n\n ### [-customEventInterstitialWillPresent:](#/c:objc(pl)GADCustomEventInterstitialDelegate(im)customEventInterstitialWillPresent:)\n\n `\n ` \n Deprecated\n\n Use GADMediationInterstitialAdEventDelegate instead. \n Your Custom Event should call this when the interstitial is being displayed. \n\n #### Declaration\n\n Swift \n\n func customEventInterstitialWillPresent(_ customEvent: any ../Protocols/GADCustomEventInterstitial.html)\n\n Objective-C \n\n - (void)customEventInterstitialWillPresent:\n (nonnull id\u003c../Protocols/GADCustomEventInterstitial.html\u003e)customEvent;\n\n- `\n ``\n ``\n `\n\n ### [-customEventInterstitialWillDismiss:](#/c:objc(pl)GADCustomEventInterstitialDelegate(im)customEventInterstitialWillDismiss:)\n\n `\n ` \n Deprecated\n\n Use GADMediationInterstitialAdEventDelegate instead. \n Your Custom Event should call this when the interstitial is about to be dismissed. \n\n #### Declaration\n\n Swift \n\n func customEventInterstitialWillDismiss(_ customEvent: any ../Protocols/GADCustomEventInterstitial.html)\n\n Objective-C \n\n - (void)customEventInterstitialWillDismiss:\n (nonnull id\u003c../Protocols/GADCustomEventInterstitial.html\u003e)customEvent;\n\n- `\n ``\n ``\n `\n\n ### [-customEventInterstitialDidDismiss:](#/c:objc(pl)GADCustomEventInterstitialDelegate(im)customEventInterstitialDidDismiss:)\n\n `\n ` \n Deprecated\n\n Use GADMediationInterstitialAdEventDelegate instead. \n Your Custom Event should call this when the interstitial has been dismissed. \n\n #### Declaration\n\n Swift \n\n func customEventInterstitialDidDismiss(_ customEvent: any ../Protocols/GADCustomEventInterstitial.html)\n\n Objective-C \n\n - (void)customEventInterstitialDidDismiss:\n (nonnull id\u003c../Protocols/GADCustomEventInterstitial.html\u003e)customEvent;\n\n[Deprecated\n----------](#/Deprecated)\n\n- `\n ``\n ``\n `\n\n ### [-customEventInterstitial:didReceiveAd:](#/c:objc(pl)GADCustomEventInterstitialDelegate(im)customEventInterstitial:didReceiveAd:)\n\n `\n ` \n Deprecated\n\n Use GADMediationInterstitialAdEventDelegate instead. \n Deprecated. Use customEventInterstitialDidReceiveAd:. \n\n #### Declaration\n\n Swift \n\n func customEventInterstitial(_ customEvent: any ../Protocols/GADCustomEventInterstitial.html, didReceiveAd ad: NSObject)\n\n Objective-C \n\n - (void)customEventInterstitial:\n (nonnull id\u003c../Protocols/GADCustomEventInterstitial.html\u003e)customEvent\n didReceiveAd:(nonnull NSObject *)ad;\n\n- `\n ``\n ``\n `\n\n ### [-customEventInterstitialWillLeaveApplication:](#/c:objc(pl)GADCustomEventInterstitialDelegate(im)customEventInterstitialWillLeaveApplication:)\n\n `\n ` \n Deprecated\n\n Use GADMediationInterstitialAdEventDelegate instead. \n Deprecated. No replacement. \n\n #### Declaration\n\n Swift \n\n func customEventInterstitialWillLeaveApplication(_ customEvent: any ../Protocols/GADCustomEventInterstitial.html)\n\n Objective-C \n\n - (void)customEventInterstitialWillLeaveApplication:\n (nonnull id\u003c../Protocols/GADCustomEventInterstitial.html\u003e)customEvent;"]]