AI-generated Key Takeaways
- 
          GADAdLoaderDelegate is the base protocol for ad loaders, with extended protocols for specific ad types. 
- 
          GADAdMetadataProvider and GADAdMetadataDelegate are for handling and receiving ad metadata. 
- 
          Various GADCustomEvent protocols are available for banner, interstitial, and native ads, though some are deprecated in favor of GADMediation protocols. 
- 
          GADFullScreenPresentingAd and GADFullScreenContentDelegate handle full screen ad content presentation and dismissal notifications. 
- 
          GADMediation protocols provide methods for ad network adapters to interact with the mediation SDK and report ad-related information. 
Protocols
The following protocols are available globally.
- 
                  
                  Base ad loader delegate protocol. Ad types provide extended protocols that declare methods to handle successful ad loads. DeclarationSwift protocol AdLoaderDelegate : NSObjectProtocolObjective-C @protocol GADAdLoaderDelegate <NSObject>
- 
                  
                  Protocol for ads that provide ad metadata. DeclarationSwift protocol AdMetadataProvider : NSObjectProtocolObjective-C @protocol GADAdMetadataProvider <NSObject>
- 
                  
                  Delegate protocol for receiving ad metadata change messages from a GADAdMetadataProvider. DeclarationSwift protocol AdMetadataDelegate : NSObjectProtocolObjective-C @protocol GADAdMetadataDelegate <NSObject>
- 
                  
                  An object implementing this protocol contains information set by the publisher on the client device for a particular ad network. Ad networks should create an ‘extras’ object implementing this protocol for their publishers to use. DeclarationSwift protocol AdNetworkExtras : NSObjectProtocolObjective-C @protocol GADAdNetworkExtras <NSObject>
- 
                  
                  The class implementing this protocol will be notified when the GADBannerView’s ad content changes size. Any views that may be affected by the banner size change will have time to adjust. DeclarationSwift protocol AdSizeDelegate : NSObjectProtocolObjective-C @protocol GADAdSizeDelegate <NSObject>
- 
                  
                  Implement your app event within these methods. The delegate will be notified when the SDK receives an app event message from the ad. DeclarationSwift protocol AppEventDelegate : NSObjectProtocolObjective-C @protocol GADAppEventDelegate <NSObject>
- 
                  
                  A set of methods to inform the delegate of audio video manager events. DeclarationSwift protocol AudioVideoManagerDelegate : NSObjectProtocolObjective-C @protocol GADAudioVideoManagerDelegate <NSObject>
- 
                  
                  Delegate methods for receiving GADBannerView state change messages such as ad request status and ad click lifecycle. DeclarationSwift protocol BannerViewDelegate : NSObjectProtocolObjective-C @protocol GADBannerViewDelegate <NSObject>
- 
                  
                  Deprecated Use GADMediationBannerAd and GADMediationAdapter instead. The banner custom event protocol. Your banner custom event handler must implement this protocol. DeclarationSwift protocol GADCustomEventBanner : NSObjectProtocolObjective-C @protocol GADCustomEventBanner <NSObject>
- 
                  
                  Deprecated Use GADMediationBannerAdEventDelegate instead. 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. DeclarationSwift protocol GADCustomEventBannerDelegate : NSObjectProtocolObjective-C @protocol GADCustomEventBannerDelegate <NSObject>
- 
                  
                  Deprecated Use GADMediationInterstitialAd and GADMediationAdapter instead. The interstitial custom event protocol. Your interstitial custom event handler must implement this protocol. DeclarationSwift protocol GADCustomEventInterstitial : NSObjectProtocolObjective-C @protocol GADCustomEventInterstitial <NSObject>
- 
                  
                  Deprecated Use GADMediationInterstitialAdEventDelegate instead. 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. DeclarationSwift protocol GADCustomEventInterstitialDelegate : NSObjectProtocolObjective-C @protocol GADCustomEventInterstitialDelegate <NSObject>
- 
                  
                  Deprecated Use GADMediationNativeAd and GADMediationAdapter instead. Native ad custom event protocol. Your native ad custom event handler class must conform to this protocol. DeclarationSwift protocol GADCustomEventNativeAd : NSObjectProtocolObjective-C @protocol GADCustomEventNativeAd <NSObject>
- 
                  
                  Deprecated Use GADMediationNativeAdEventDelegate instead. The delegate of the GADCustomEventNativeAd object must adopt the GADCustomEventNativeAdDelegate protocol. Methods in this protocol are used for native ad’s custom event communication with the Google Mobile Ads SDK. DeclarationSwift protocol GADCustomEventNativeAdDelegate : NSObjectProtocolObjective-C @protocol GADCustomEventNativeAdDelegate <NSObject>
- 
                  
                  The delegate of a GADAdLoader object implements this protocol to receive GADCustomNativeAd ads. DeclarationSwift protocol CustomNativeAdLoaderDelegate : AdLoaderDelegateObjective-C @protocol GADCustomNativeAdLoaderDelegate <GADAdLoaderDelegate>
- 
                  
                  Identifies native ad assets. DeclarationSwift protocol CustomNativeAdDelegate : NSObjectProtocolObjective-C @protocol GADCustomNativeAdDelegate <NSObject>
- 
                  
                  Delegate for the GADDebugOptionsViewController. DeclarationSwift protocol DebugOptionsViewControllerDelegate : NSObjectProtocolObjective-C @protocol GADDebugOptionsViewControllerDelegate <NSObject>
- 
                  
                  Protocol for ads that present full screen content. DeclarationSwift protocol FullScreenPresentingAd : NSObjectProtocolObjective-C @protocol GADFullScreenPresentingAd <NSObject>
- 
                  
                  Delegate methods for receiving notifications about presentation and dismissal of full screen content. Full screen content covers your application’s content. The delegate may want to pause animations or time sensitive interactions. Full screen content may be presented in the following cases: - A full screen ad is presented.
- An ad interaction opens full screen content.
 DeclarationSwift protocol FullScreenContentDelegate : NSObjectProtocolObjective-C @protocol GADFullScreenContentDelegate <NSObject>
- 
                  
                  The delegate of a GADAdLoader object implements this protocol to receive GADNativeAd ads. DeclarationSwift protocol NativeAdLoaderDelegate : AdLoaderDelegateObjective-C @protocol GADNativeAdLoaderDelegate <GADAdLoaderDelegate>
- 
                  
                  Identifies native ad assets. DeclarationSwift protocol NativeAdDelegate : NSObjectProtocolObjective-C @protocol GADNativeAdDelegate <NSObject>
- 
                  
                  Delegate methods for handling native ad unconfirmed clicks. DeclarationSwift protocol NativeAdUnconfirmedClickDelegate : NSObjectProtocolObjective-C @protocol GADNativeAdUnconfirmedClickDelegate <NSObject>
- 
                  
                  The GADVideoControllerDelegate protocol defines methods that are called by the video controller object in response to the video events that occurred throughout the lifetime of the video rendered by an ad. DeclarationSwift protocol VideoControllerDelegate : NSObjectProtocolObjective-C @protocol GADVideoControllerDelegate <NSObject>
- 
                  
                  The delegate of a GADAdLoader object must conform to this protocol to receive GAMBannerViews. DeclarationSwift protocol AdManagerBannerAdLoaderDelegate : AdLoaderDelegateObjective-C @protocol GAMBannerAdLoaderDelegate <GADAdLoaderDelegate>
- 
                  
                  Ad network adapter protocol. DeclarationSwift protocol MediationAdNetworkAdapter : NSObjectProtocolObjective-C @protocol GADMAdNetworkAdapter <NSObject>
- 
                  
                  Ad network adapters interact with the mediation SDK using an object that implements the GADMAdNetworkConnector protocol. The connector object can be used to obtain necessary information for ad requests, and to call back to the mediation SDK on ad request returns and user interactions. DeclarationSwift protocol MediationAdNetworkConnector : MediationAdRequestObjective-C @protocol GADMAdNetworkConnector <GADMediationAdRequest>
- 
                  
                  Provides methods used for constructing native ads. The adapter must return an object conforming to this protocol for native ad requests. DeclarationSwift protocol MediatedUnifiedNativeAd : NSObjectProtocolObjective-C @protocol GADMediatedUnifiedNativeAd <NSObject>
- 
                  
                  Rendered ad. Objects conforming to this protocol are created by the adapter and returned to the Google Mobile Ads SDK through the adapter’s render method completion handler. DeclarationSwift protocol MediationAd : NSObjectProtocolObjective-C @protocol GADMediationAd <NSObject>
- 
                  
                  Reports information to the Google Mobile Ads SDK from the adapter. Adapters receive an ad event delegate when they provide a GADMediationAd by calling a render completion handler. DeclarationSwift protocol MediationAdEventDelegate : NSObjectProtocolObjective-C @protocol GADMediationAdEventDelegate <NSObject>
- 
                  
                  Reports banner related information to the Google Mobile Ads SDK from the adapter. DeclarationSwift protocol MediationBannerAdEventDelegate : MediationAdEventDelegateObjective-C @protocol GADMediationBannerAdEventDelegate <GADMediationAdEventDelegate>
- 
                  
                  Reports interstitial related information to the Google Mobile Ads SDK from the adapter. DeclarationSwift protocol MediationInterstitialAdEventDelegate : MediationAdEventDelegateObjective-C @protocol GADMediationInterstitialAdEventDelegate <GADMediationAdEventDelegate>
- 
                  
                  Reports native related information to the Google Mobile Ads SDK from the adapter. DeclarationSwift protocol MediationNativeAdEventDelegate : MediationAdEventDelegateObjective-C @protocol GADMediationNativeAdEventDelegate <GADMediationAdEventDelegate>
- 
                  
                  Reports rewarded related information to the Google Mobile Ads SDK from the adapter. DeclarationSwift protocol MediationRewardedAdEventDelegate : MediationAdEventDelegateObjective-C @protocol GADMediationRewardedAdEventDelegate <GADMediationAdEventDelegate>
- 
                  
                  Reports app open related information to the Google Mobile Ads SDK from the adapter. DeclarationSwift protocol MediationAppOpenAdEventDelegate : MediationAdEventDelegateObjective-C @protocol GADMediationAppOpenAdEventDelegate <GADMediationAdEventDelegate>
- 
                  
                  Provides information which can be used for making ad requests during mediation. DeclarationSwift protocol MediationAdRequest : NSObjectProtocolObjective-C @protocol GADMediationAdRequest <NSObject>
- 
                  
                  Receives messages and requests from the Google Mobile Ads SDK. Provides GMA to 3P SDK communication. Adapters are initialized on a background queue and should avoid using the main queue until load time. DeclarationSwift protocol MediationAdapter : NSObjectProtocolObjective-C @protocol GADMediationAdapter <NSObject>
- 
                  
                  Rendered app open ad. DeclarationSwift protocol MediationAppOpenAd : MediationAdObjective-C @protocol GADMediationAppOpenAd <GADMediationAd>
- 
                  
                  Rendered banner ad. Provides a single subview to add to the banner view’s view hierarchy. DeclarationSwift protocol MediationBannerAd : MediationAdObjective-C @protocol GADMediationBannerAd <GADMediationAd>
- 
                  
                  Deprecated Interscroller will not be supported. Rendered interscroller ad. DeclarationSwift protocol GADMediationInterscrollerAd : MediationBannerAdObjective-C @protocol GADMediationInterscrollerAd <GADMediationBannerAd>
- 
                  
                  Rendered interstitial ad. DeclarationSwift protocol MediationInterstitialAd : MediationAdObjective-C @protocol GADMediationInterstitialAd <GADMediationAd>
- 
                  
                  Rendered native ad. DeclarationSwift protocol MediationNativeAd : MediatedUnifiedNativeAd, MediationAdObjective-C @protocol GADMediationNativeAd <GADMediationAd, GADMediatedUnifiedNativeAd>
- 
                  
                  Rendered rewarded ad. DeclarationSwift protocol MediationRewardedAd : MediationAdObjective-C @protocol GADMediationRewardedAd <GADMediationAd>
- 
                  
                  Adapter that provides signals to the Google Mobile Ads SDK to be included in an auction. DeclarationSwift protocol RTBAdapter : MediationAdapterObjective-C @protocol GADRTBAdapter <GADMediationAdapter>