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.
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.
Image and video aspect ratios. Portrait, landscape, and
square aspect ratios are returned when this property is GADMediaAspectRatioUnknown or
GADMediaAspectRatioAny. Defaults to GADMediaAspectRatioUnknown.
Declaration
Swift
var mediaAspectRatio: MediaAspectRatio { get set }
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.
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.
[[["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\u003eGADNativeSignalRequest\u003c/code\u003e is used for server-to-server signal generation for native ads, allowing publishers to request ad details before displaying them.\u003c/p\u003e\n"],["\u003cp\u003ePublishers can customize the request by specifying the number of ads, image loading preferences, aspect ratios, and ad choices icon position.\u003c/p\u003e\n"],["\u003cp\u003eVideo ad options, ad sizes, ad loader types and custom native ad formats can also be included in the request for tailored ad delivery.\u003c/p\u003e\n"],["\u003cp\u003eOptionally, swipe gestures for clicks, manual impression recording, and a custom "Mute This Ad" feature can be enabled.\u003c/p\u003e\n"],["\u003cp\u003eRequests must be initialized with a specific signal type to define the purpose of the signal generation.\u003c/p\u003e\n"]]],[],null,["# GoogleMobileAds Framework Reference\n\nGADNativeSignalRequest\n======================\n\n\n @interface GADNativeSignalRequest : ../Classes/GADSignalRequest.html\n\nA native signal request that can be used as input in server-to-server signal generation.\n- `\n ``\n ``\n `\n\n ### [numberOfAds](#/c:objc(cs)GADNativeSignalRequest(py)numberOfAds)\n\n `\n ` \n Number of ads to request. By default, numberOfAds\n is one. Requests are invalid and will fail if numberOfAds is less than one. If numberOfAds\n exceeds the maximum limit (5), only the maximum number of ads are requested. \n\n #### Declaration\n\n Swift \n\n var numberOfAds: Int { get set }\n\n Objective-C \n\n @property (nonatomic) NSInteger numberOfAds;\n\n- `\n ``\n ``\n `\n\n ### [disableImageLoading](#/c:objc(cs)GADNativeSignalRequest(py)disableImageLoading)\n\n `\n ` \n Indicates whether image asset content should be loaded by the SDK. If set to YES, the SDK will\n disable image asset loading and native ad image URLs can be used to fetch content. Defaults to\n NO, image assets are loaded by the SDK. \n\n #### Declaration\n\n Swift \n\n var isImageLoadingDisabled: Bool { get set }\n\n Objective-C \n\n @property (nonatomic, assign, unsafe_unretained, readwrite,\n getter=isImageLoadingDisabled) BOOL disableImageLoading;\n\n- `\n ``\n ``\n `\n\n ### [shouldRequestMultipleImages](#/c:objc(cs)GADNativeSignalRequest(py)shouldRequestMultipleImages)\n\n `\n ` \n Indicates whether multiple images should be loaded for each asset. Defaults to NO. \n\n #### Declaration\n\n Swift \n\n var shouldRequestMultipleImages: Bool { get set }\n\n Objective-C \n\n @property (nonatomic) BOOL shouldRequestMultipleImages;\n\n- `\n ``\n ``\n `\n\n ### [mediaAspectRatio](#/c:objc(cs)GADNativeSignalRequest(py)mediaAspectRatio)\n\n `\n ` \n Image and video aspect ratios. Portrait, landscape, and\n square aspect ratios are returned when this property is GADMediaAspectRatioUnknown or\n GADMediaAspectRatioAny. Defaults to GADMediaAspectRatioUnknown. \n\n #### Declaration\n\n Swift \n\n var mediaAspectRatio: MediaAspectRatio { get set }\n\n Objective-C \n\n @property (nonatomic) ../Enums/GADMediaAspectRatio.html mediaAspectRatio;\n\n- `\n ``\n ``\n `\n\n ### [preferredAdChoicesPosition](#/c:objc(cs)GADNativeSignalRequest(py)preferredAdChoicesPosition)\n\n `\n ` \n Indicates preferred location of AdChoices icon. Default is GADAdChoicesPositionTopRightCorner. \n\n #### Declaration\n\n Swift \n\n var preferredAdChoicesPosition: AdChoicesPosition { get set }\n\n Objective-C \n\n @property (nonatomic) ../Enums/GADAdChoicesPosition.html preferredAdChoicesPosition;\n\n- `\n ``\n ``\n `\n\n ### [customMuteThisAdRequested](#/c:objc(cs)GADNativeSignalRequest(py)customMuteThisAdRequested)\n\n `\n ` \n Indicates whether the custom Mute This Ad feature is requested. Defaults to NO. \n\n #### Declaration\n\n Swift \n\n var isCustomMuteThisAdRequested: Bool { get set }\n\n Objective-C \n\n @property (nonatomic, assign, unsafe_unretained, readwrite,\n getter=isCustomMuteThisAdRequested) BOOL customMuteThisAdRequested;\n\n- `\n ``\n ``\n `\n\n ### [enableManualImpressions](#/c:objc(cs)GADNativeSignalRequest(py)enableManualImpressions)\n\n `\n ` \n Indicates whether the publisher will record impressions manually when the ad becomes visible to\n the user. Defaults to NO. \n\n #### Declaration\n\n Swift \n\n var enableManualImpressions: Bool { get set }\n\n Objective-C \n\n @property (nonatomic) BOOL enableManualImpressions;\n\n- `\n ``\n ``\n `\n\n ### [-enableSwipeGestureDirection:tapsAllowed:](#/c:objc(cs)GADNativeSignalRequest(im)enableSwipeGestureDirection:tapsAllowed:)\n\n `\n ` \n Enable the direction for detecting swipe gestures and counting them as clicks, and\n whether tap gestures are also allowed on the ad. By default, swipe gestures are disabled.\n\n Available for allowlisted publishers only. Settings will be ignored for publishers not\n allowlisted. \n\n #### Declaration\n\n Swift \n\n func enableSwipeGestureDirection(_ direction: UISwipeGestureRecognizer.Direction, tapsAllowed: Bool)\n\n Objective-C \n\n - (void)enableSwipeGestureDirection:(UISwipeGestureRecognizerDirection)direction\n tapsAllowed:(BOOL)tapsAllowed;\n\n- `\n ``\n ``\n `\n\n ### [videoOptions](#/c:objc(cs)GADNativeSignalRequest(py)videoOptions)\n\n `\n ` \n Video ad options. Defaults to nil. \n\n #### Declaration\n\n Swift \n\n @NSCopying var videoOptions: VideoOptions? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) ../Classes/GADVideoOptions.html *videoOptions;\n\n- `\n ``\n ``\n `\n\n ### [adSizes](#/c:objc(cs)GADNativeSignalRequest(py)adSizes)\n\n `\n ` \n Array of NSValue encoded GADAdSize structs, specifying all valid sizes that are\n appropriate for this slot. Never create your own GADAdSize directly. Use one of the predefined\n standard ad sizes (such as GADAdSizeBanner), or create one using the GADAdSizeFromCGSize\n method.\n\n Example:\n\n \\\\code\n NSArray \\*adSizes = @\\[\n NSValueFromGADAdSize(GADAdSizeBanner),\n NSValueFromGADAdSize(GADAdSizeLargeBanner)\n \\];\n\n signalRequest.adSizes = adSizes;\n \\\\endcode \n\n #### Declaration\n\n Swift \n\n var adSizes: [NSValue]? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) NSArray\u003cNSValue *\u003e *adSizes;\n\n- `\n ``\n ``\n `\n\n ### [adLoaderAdTypes](#/c:objc(cs)GADNativeSignalRequest(py)adLoaderAdTypes)\n\n `\n ` \n Set of ad loader ad types. See GADAdLoaderAdTypes.h for available ad loader ad types. \n\n #### Declaration\n\n Swift \n\n var adLoaderAdTypes: Set\u003cAdLoaderAdType\u003e? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) NSSet\u003c../Type-Definitions.html#/c:GADAdLoaderAdTypes.h@T@GADAdLoaderAdType\u003e *adLoaderAdTypes;\n\n- `\n ``\n ``\n `\n\n ### [customNativeAdFormatIDs](#/c:objc(cs)GADNativeSignalRequest(py)customNativeAdFormatIDs)\n\n `\n ` \n Array of custom native ad format IDs. \n\n #### Declaration\n\n Swift \n\n var customNativeAdFormatIDs: [String]? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) NSArray\u003cNSString *\u003e *customNativeAdFormatIDs;\n\n- `\n ``\n ``\n `\n\n ### [-initWithSignalType:](#/c:objc(cs)GADNativeSignalRequest(im)initWithSignalType:)\n\n `\n ` \n Returns an initialized native signal request. \n\n #### Declaration\n\n Swift \n\n init(signalType: String)\n\n Objective-C \n\n - (nonnull instancetype)initWithSignalType:(nonnull NSString *)signalType;\n\n #### Parameters\n\n |--------------------|--------------------------------|\n | ` `*signalType*` ` | The type of signal to request. |"]]