This class provides a mechanism to fetch a set of ads and then use them within your application. The recommended usage is to call nextNativeAd: at the moment when you are about to render an ad. The native ads manager supports giving out as many ads as needed by cloning over the set of ads it got back from the server which can be useful for feed scenarios.

Declared in:FBNativeAdsManager.h

The delegate

@property (nonatomic, weak, nullable) id <FBNativeAdsManagerDelegate> delegate;
Declared In: FBNativeAdsManager.h

Set the native ads manager caching policy. This controls which media from the native ads are cached before the native ads manager calls nativeAdsLoaded on its delegate. The default is to not block on caching.

@property (nonatomic, assign) FBNativeAdsCachePolicy mediaCachePolicy;
Declared In: FBNativeAdsManager.h

Retrieve the next native ad to be used from the batch. It is highly recommended that the caller wait until immediately before rendering the ad content to call this method to ensure the best ad for the given context is used. If more than uniqueNativeAdCount ads are requested cloned ads will be returned. Periodically the native ads manager will refresh and new ads will be returned.

@property (nonatomic, readonly, strong, nullable) FBNativeAd *nextNativeAd;
Declared In: FBNativeAdsManager.h

Number of unique native ads that can be accessed through nextNativeAd:. This is not valid until the nativeAdsLoaded: message has been sent.

@property (nonatomic, assign, readonly) NSUInteger uniqueNativeAdCount;
Declared In: FBNativeAdsManager.h

Returns YES after nativeAdsLoaded: message has been sent.

@property (nonatomic, assign, getter=isValid, readonly) BOOL valid;
Declared In: FBNativeAdsManager.h
Instance Methods

By default the native ads manager will refresh its ads periodically. This does not mean that any ads which are shown in the application's UI will be refreshed but simply that calling nextNativeAd: may return different ads at different times. This method disables that functionality.

- (void) disableAutoRefresh;
Declared In: FBNativeAdsManager.h

Initialize the native ads manager.


The id of the ad placement. You can create your placement id from Facebook developers page.


The number of ads you would like the native ads manager to retrieve.

- (instancetype)
initWithPlacementID: (NSString *)placementID
forNumAdsRequested: (NSUInteger)numAdsRequested
Declared In: FBNativeAdsManager.h

The method that kicks off the loading of ads. It may be called again in the future to refresh the ads manually.

- (void) loadAds;
Declared In: FBNativeAdsManager.h