GADMediatedUnifiedNativeAd
@protocol GADMediatedUnifiedNativeAd <NSObject>Provides methods used for constructing native ads. The adapter must return an object conforming to this protocol for native ad requests.
- 
                  
                  Headline. DeclarationSwift var headline: String? { get }Objective-C @property (nonatomic, copy, readonly, nullable) NSString *headline;
- 
                  
                  Array of GADNativeAdImage objects. DeclarationSwift var images: [NativeAdImage]? { get }Objective-C @property (nonatomic, readonly, nullable) NSArray<GADNativeAdImage *> *images;
- 
                  
                  Description. DeclarationSwift var body: String? { get }Objective-C @property (nonatomic, copy, readonly, nullable) NSString *body;
- 
                  
                  Icon image. DeclarationSwift var icon: NativeAdImage? { get }Objective-C @property (nonatomic, readonly, nullable) GADNativeAdImage *icon;
- 
                  
                  Text that encourages user to take some action with the ad. For example “Install”. DeclarationSwift var callToAction: String? { get }Objective-C @property (nonatomic, copy, readonly, nullable) NSString *callToAction;
- 
                  
                  App store rating (0 to 5). DeclarationSwift @NSCopying var starRating: NSDecimalNumber? { get }Objective-C @property (nonatomic, copy, readonly, nullable) NSDecimalNumber *starRating;
- 
                  
                  The app store name. For example, “App Store”. DeclarationSwift var store: String? { get }Objective-C @property (nonatomic, copy, readonly, nullable) NSString *store;
- 
                  
                  String representation of the app’s price. DeclarationSwift var price: String? { get }Objective-C @property (nonatomic, copy, readonly, nullable) NSString *price;
- 
                  
                  Identifies the advertiser. For example, the advertiser’s name or visible URL. DeclarationSwift var advertiser: String? { get }Objective-C @property (nonatomic, copy, readonly, nullable) NSString *advertiser;
- 
                  
                  Returns a dictionary of asset names and object pairs for assets that are not handled by properties of the GADMediatedUnifiedNativeAd. DeclarationSwift var extraAssets: [String : Any]? { get }Objective-C @property (nonatomic, copy, readonly, nullable) NSDictionary<NSString *, id> *extraAssets;
- 
                  
                  AdChoices view. DeclarationSwift optional var adChoicesView: UIView? { get }Objective-C @optional @property (nonatomic, readonly, nullable) UIView *adChoicesView;
- 
                  
                  Media view. DeclarationSwift optional var mediaView: UIView? { get }Objective-C @optional @property (nonatomic, readonly, nullable) UIView *mediaView;
- 
                  
                  Indicates whether the ad has video content. DeclarationSwift optional var hasVideoContent: Bool { get }Objective-C @optional @property (nonatomic, readonly) BOOL hasVideoContent;
- 
                  
                  Media content aspect ratio (width/height) or 0 if there’s no media content. DeclarationSwift optional var mediaContentAspectRatio: CGFloat { get }Objective-C @optional @property (nonatomic, readonly) CGFloat mediaContentAspectRatio;
- 
                  
                  The video’s duration in seconds or 0 if there’s no video or the duration is unknown. DeclarationSwift optional var duration: TimeInterval { get }Objective-C @optional @property (nonatomic, readonly) NSTimeInterval duration;
- 
                  
                  The video’s current playback time in seconds or 0 if there’s no video or the current playback time is unknown. DeclarationSwift optional var currentTime: TimeInterval { get }Objective-C @optional @property (nonatomic, readonly) NSTimeInterval currentTime;
- 
                  
                  Tells the receiver that it has been rendered in |view| with clickable asset views and nonclickable asset views. viewController should be used to present modal views for the ad. DeclarationSwift optional func didRender(in view: UIView, clickableAssetViews: [GADNativeAssetIdentifier : UIView], nonclickableAssetViews: [GADNativeAssetIdentifier : UIView], viewController: UIViewController)Objective-C - (void)didRenderInView:(nonnull UIView *)view clickableAssetViews: (nonnull NSDictionary<GADNativeAssetIdentifier, UIView *> *) clickableAssetViews nonclickableAssetViews: (nonnull NSDictionary<GADNativeAssetIdentifier, UIView *> *) nonclickableAssetViews viewController:(nonnull UIViewController *)viewController;
- 
                  
                  Tells the receiver that an impression is recorded. This method is called only once per mediated native ad. DeclarationSwift optional func didRecordImpression()Objective-C - (void)didRecordImpression;
- 
                  
                  Tells the receiver that a user click is recorded on the asset named |assetName|. Full screen actions should be presented from viewController. This method is called only if -[GADMAdNetworkAdapter handlesUserClicks] returns NO. DeclarationSwift optional func didRecordClickOnAsset(with assetName: GADNativeAssetIdentifier, view: UIView, viewController: UIViewController)Objective-C - (void) didRecordClickOnAssetWithName:(nonnull GADNativeAssetIdentifier)assetName view:(nonnull UIView *)view viewController:(nonnull UIViewController *)viewController;
- 
                  
                  Tells the receiver that it has untracked |view|. This method is called when the mediated native ad is no longer rendered in the provided view and the delegate should stop tracking the view’s impressions and clicks. The method may also be called with a nil view when the view in which the mediated native ad has rendered is deallocated. DeclarationSwift optional func didUntrackView(_ view: UIView?)Objective-C - (void)didUntrackView:(nullable UIView *)view;