// // GADNativeSignalRequest.h // Google Mobile Ads SDK // // Copyright 2024 Google LLC. All rights reserved. // #import #import #import #import /// A native signal request that can be used as input in server-to-server signal generation. NS_SWIFT_NAME(NativeSignalRequest) @interface GADNativeSignalRequest : GADSignalRequest /// Number of ads to request. By default, numberOfAds /// is one. Requests are invalid and will fail if numberOfAds is less than one. If numberOfAds /// exceeds the maximum limit (5), only the maximum number of ads are requested. @property(nonatomic) NSInteger numberOfAds; /// Indicates whether image asset content should be loaded by the SDK. If set to YES, the SDK will /// disable image asset loading and native ad image URLs can be used to fetch content. Defaults to /// NO, image assets are loaded by the SDK. @property(nonatomic, assign, getter=isImageLoadingDisabled) BOOL disableImageLoading NS_SWIFT_NAME(isImageLoadingDisabled); /// Indicates whether multiple images should be loaded for each asset. Defaults to NO. @property(nonatomic, assign) BOOL shouldRequestMultipleImages; /// Image and video aspect ratios. Portrait, landscape, and /// square aspect ratios are returned when this property is GADMediaAspectRatioUnknown or /// GADMediaAspectRatioAny. Defaults to GADMediaAspectRatioUnknown. @property(nonatomic, assign) GADMediaAspectRatio mediaAspectRatio; /// Indicates preferred location of AdChoices icon. Default is GADAdChoicesPositionTopRightCorner. @property(nonatomic, assign) GADAdChoicesPosition preferredAdChoicesPosition; /// Indicates whether the custom Mute This Ad feature is requested. Defaults to NO. @property(nonatomic, assign, getter=isCustomMuteThisAdRequested) BOOL customMuteThisAdRequested NS_SWIFT_NAME(isCustomMuteThisAdRequested); /// Indicates whether the publisher will record impressions manually when the ad becomes visible to /// the user. Defaults to NO. @property(nonatomic, assign) BOOL enableManualImpressions; /// Enable the direction for detecting swipe gestures and counting them as clicks, and /// whether tap gestures are also allowed on the ad. By default, swipe gestures are disabled. /// /// Available for allowlisted publishers only. Settings will be ignored for publishers not /// allowlisted. - (void)enableSwipeGestureDirection:(UISwipeGestureRecognizerDirection)direction tapsAllowed:(BOOL)tapsAllowed; /// Video ad options. Defaults to nil. @property(nonatomic, copy, nullable) GADVideoOptions *videoOptions; /// Array of NSValue encoded GADAdSize structs, specifying all valid sizes that are /// appropriate for this slot. Never create your own GADAdSize directly. Use one of the predefined /// standard ad sizes (such as GADAdSizeBanner), or create one using the GADAdSizeFromCGSize /// method. /// /// Example: /// /// \code /// NSArray *adSizes = @[ /// NSValueFromGADAdSize(GADAdSizeBanner), /// NSValueFromGADAdSize(GADAdSizeLargeBanner) /// ]; /// /// signalRequest.adSizes = adSizes; /// \endcode @property(nonatomic, copy, nullable) NSArray *adSizes; /// Set of ad loader ad types. See GADAdLoaderAdTypes.h for available ad loader ad types. @property(nonatomic, copy, nullable) NSSet *adLoaderAdTypes; /// Array of custom native ad format IDs. @property(nonatomic, copy, nullable) NSArray *customNativeAdFormatIDs; /// Returns an initialized native signal request. /// @param signalType The type of signal to request. - (nonnull instancetype)initWithSignalType:(nonnull NSString *)signalType; @end