GoogleMobileAds Framework Reference

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.

    Declaration

    Swift

    var headline: String? { get }

    Objective-C

    @property (nonatomic, copy, readonly, nullable) NSString *headline;
  • Array of GADNativeAdImage objects.

    Declaration

    Swift

    var images: [NativeAdImage]? { get }

    Objective-C

    @property (nonatomic, readonly, nullable) NSArray<GADNativeAdImage *> *images;
  • Description.

    Declaration

    Swift

    var body: String? { get }

    Objective-C

    @property (nonatomic, copy, readonly, nullable) NSString *body;
  • Icon image.

    Declaration

    Swift

    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โ€.

    Declaration

    Swift

    var callToAction: String? { get }

    Objective-C

    @property (nonatomic, copy, readonly, nullable) NSString *callToAction;
  • App store rating (0 to 5).

    Declaration

    Swift

    @NSCopying var starRating: NSDecimalNumber? { get }

    Objective-C

    @property (nonatomic, copy, readonly, nullable) NSDecimalNumber *starRating;
  • The app store name. For example, โ€œApp Storeโ€.

    Declaration

    Swift

    var store: String? { get }

    Objective-C

    @property (nonatomic, copy, readonly, nullable) NSString *store;
  • String representation of the appโ€™s price.

    Declaration

    Swift

    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.

    Declaration

    Swift

    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.

    Declaration

    Swift

    var extraAssets: [String : Any]? { get }

    Objective-C

    @property (nonatomic, copy, readonly, nullable) NSDictionary<NSString *, id> *extraAssets;
  • AdChoices view.

    Declaration

    Swift

    optional var adChoicesView: UIView? { get }

    Objective-C

    @optional
    @property (nonatomic, readonly, nullable) UIView *adChoicesView;
  • Media view.

    Declaration

    Swift

    optional var mediaView: UIView? { get }

    Objective-C

    @optional
    @property (nonatomic, readonly, nullable) UIView *mediaView;
  • Indicates whether the ad has video content.

    Declaration

    Swift

    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.

    Declaration

    Swift

    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.

    Declaration

    Swift

    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.

    Declaration

    Swift

    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.

    Declaration

    Swift

    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.

    Declaration

    Swift

    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.

    Declaration

    Swift

    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.

    Declaration

    Swift

    optional func didUntrackView(_ view: UIView?)

    Objective-C

    - (void)didUntrackView:(nullable UIView *)view;