AATKit iOS Integration
Release Notes
  • Start
    • Setup
      • Minimum iOS Version
      • Cocoapods
      • Swift Package Manager
      • AATKit Reporting
      • App Transport Security (ATS)
      • SKAdNetwork
    • Initialization
    • Consent
      • General Handling
      • Managed Consent
        • Google CMP
        • Sourcepoint CMP
        • SFBX (AppConsent) CMP
      • Vendor Consent
      • Simple Consent
    • Plugins documentation
    • Additional Information
  • Formats
    • Introduction
    • Banner
      • Auto Load Banner
      • Multi-Size Auto Load Banner
      • Banner Cache
      • Infeed Banner
      • Asynchronous Infeed Banner
      • Sticky Banner
      • Multi-Size Banner
    • Fullscreen (Interstitial)
    • AppOpen (Google)
    • Rewarded Video
      • Server-Side Verification (SSV)
    • Native Ad
      • Basic Integration
      • Asynchronous Basic Integration
      • Network Specifics
        • Native Ads: Google
        • Native Ads: Applovin
  • Ad Networks
    • Customize Ad Networks
    • Privacy Requirements
    • Google Mobile Ads SDK
    • AppNexus Custom Interstitial Auto Dismiss Delay
    • FeedAd Banner Options
    • AmazonHB
  • Advanced
    • Targeting
      • Key-Value Targeting
      • User Targeting
      • Content Targeting URL
    • Frequency Capping
    • Advanced Delegates
      • Reports Delegate
      • Impression Delegate (ILRD)
      • Statistics Delegate
    • AATKit's Size
    • Ad Space and Fill Rate
    • Shake Debug
    • Publisher Provided ID
    • Child-directed Support
    • Disabling Ad Networks
    • Geo Tracking
    • Ad Quality
    • Creatives History
  • Other
    • AdMob Custom Events
    • Datonomy
    • Reference
      • Classes
        • AATConfiguration
        • AATRuntimeConfiguration
        • AATManagedConsent
        • AATVendorConsent
        • AATSimpleConsent
        • AATAdInfo
        • AATBannerConfiguration
        • AATBannerRequest
        • AATBannerCacheConfiguration
        • AATBannerAlign
        • AATPlacementHistoryInfo
        • AATReward
        • AATRewardedAdSSVInfo
        • AATNativeAdRating
        • AATImpression
        • AATPriceInfo
        • AATAdNetworksOptions
          • AATAppNexusOptions
          • AATFeedAdOptions
          • AATAdMobOptions
          • AATDFPOptions
          • AATDatonomyOptions
        • AATDebugInfo
        • AATDebugScreenConfiguration
        • AATUserTargeting
        • AATCollapsibleBannerOptions
      • Protocols
        • AATDelegate
        • AATManagedConsentDelegate
        • AATVendorConsentDelegate
        • AATPlacement
        • AATStickyBannerPlacement
        • AATStickyBannerPlacementDelegate
        • AATMultiSizeBannerPlacement
        • AATMultiSizeBannerPlacementDelegate
        • AATInfeedBannerPlacement
        • AATInfeedBannerPlacementDelegate
        • AATAsyncInfeedBannerPlacement
        • AATBannerRequestDelegate
        • AATBannerCache
        • AATBannerCacheDelegate
        • AATBannerCacheStatusDelegate
        • AATAutoLoadBannerPlacement
        • AATAutoLoadBannerPlacementDelegate
        • AATAutoLoadMultiSizeBannerPlacement
        • AATAutoLoadMultiSizeBannerPlacementDelegate
        • AATFullscreenPlacement
        • AATFullscreenPlacementDelegate
        • AATAppOpenAdPlacement
        • AATAppOpenPlacementDelegate
        • AATRewardedVideoPlacement
        • AATRewardedVideoPlacementDelegate
        • AATNativeAdPlacement
        • AATNativePlacementDelegate
        • AATAsyncNativeAdPlacement
        • AATNativeAdData
        • AATReportsDelegate
        • AATImpressionDelegate
        • AATStatisticsDelegate
      • Enumerations
        • AATAdNetwork
        • AATGender
        • AATLogLevel
        • AATManagedConsentState
        • NonIABConsent
        • AATBannerPlacementSize
        • AATBannerSize
        • HorizontalAlign
        • VerticalAlign
        • AATMediationType
        • AATImpressionPricePrecisionType
  • Samples
Powered by GitBook
On this page
  1. Other
  2. Reference
  3. Protocols

AATAsyncNativeAdPlacement

@available(iOS 13.0, *)
@objc
public protocol AATAsyncNativeAdPlacement: AATPlacement {

    /// Set the placement delegate that will listen to ad display events
    var delegate: AATAsyncNativePlacementDelegate? { get set }

    /// Sets the placement statistics delegate
    var statisticsDelegate: AATStatisticsDelegate? { get set }

    /// Sets the placement impression delegate
    var impressionDelegate: AATImpressionDelegate? { get set }

    /// Sets the targeting information for the placement
    ///
    /// Information provided for placement overrides targeting information overrides targeting information for application set by the ``AATSDK/setTargetingInfo(info:)``
    var targetingInfo: [String: [String]]? { get set }

    /// Sets the content targeting url for the placement.
    ///
    /// Information provided for placement overrides targeting information for application set by the ``AATSDK/setContentTargetingUrl(targetingUrl:)``
    var contentTargetingUrl: String? { get set }

    /// Requests placement reload.
    ///
    func reload() async -> AATNativeAdData?

    /// Returns how many ads are currently loading for given native ad placement.
    /// - Returns: Number of ads that are currently loading for given placement.
    func getNumberOfCurrentlyLoadingNativeAds() -> Int

    /// Returns true if there is an ad loaded.
    /// - Returns: True if there is an ad loaded.
    func hasAd() -> Bool

    /// Manually Count an Ad Space
    func reportAdSpace() -> Bool

    /// Checks if the frequency cap has been reached.
    /// - Returns: true if the frequency cap has been reached.
    func isFrequencyCapReached() -> Bool
}
@protocol AATAsyncNativeAdPlacement <AATPlacement>

/// Set the placement delegate that will listen to ad display events
@property (nonatomic, strong) id <AATAsyncNativePlacementDelegate> _Nullable delegate;

/// Sets the placement statistics delegate
@property (nonatomic, strong) id <AATStatisticsDelegate> _Nullable statisticsDelegate;

/// Sets the placement impression delegate
@property (nonatomic, strong) id <AATImpressionDelegate> _Nullable impressionDelegate;

/// Sets the targeting information for the placement
/// Information provided for placement overrides targeting information overrides targeting information for application set by the <code>AATSDK/setTargetingInfo(info:)</code>
@property (nonatomic, copy) NSDictionary<NSString *, NSArray<NSString *> *> * _Nullable targetingInfo;

/// Sets the content targeting url for the placement.
/// Information provided for placement overrides targeting information for application set by the <code>AATSDK/setContentTargetingUrl(targetingUrl:)</code>
@property (nonatomic, copy) NSString * _Nullable contentTargetingUrl;

/// Requests placement reload.
- (void)reloadWithCompletionHandler:(void (^ _Nonnull)(id <AATNativeAdData> _Nullable))completionHandler;

/// Returns how many ads are currently loading for given native ad placement.
///
/// returns:
/// Number of ads that are currently loading for given placement.
- (NSInteger)getNumberOfCurrentlyLoadingNativeAds;

/// Returns true if there is an ad loaded.
///
/// returns:
/// True if there is an ad loaded.
- (BOOL)hasAd;

/// Manually Count an Ad Space
- (BOOL)reportAdSpace;

/// Checks if the frequency cap has been reached.
///
/// returns:
/// true if the frequency cap has been reached.
- (BOOL)isFrequencyCapReached;
@end

Last updated 1 year ago