AATMultiSizeBannerPlacement

@objc public protocol AATMultiSizeBannerPlacement {

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

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

    /// Sets the placement impression delegate
    var impressionDelegate: AATImpressionDelegate? { get set }
    
    /// Sets the placement collapsible banner options
    var collapsableBannerOptions: AATCollapsibleBannerOptions? { get set }

    /// Start the automatic reloading of the placement
    func startAutoReload()

    /// Start the automatic reloading of the placement using specific time interval
    func startAutoReload(seconds: TimeInterval)

    /// Stop the automatic reloading of the placement
    func stopAutoReload()

    /// Set the placement auto reload interval
    /// - Parameter seconds: auto reload interval
    func setAutoreloadInterval(seconds: TimeInterval)

    /// Requests placement reload.
    ///
    /// Works only if automatic reloading is disabled.
    ///
    /// - Parameter forceLoad: True if you want to be able to reload and show new banner before set banner reload interval (default: 30s) between reloads, false otherwise.
    /// - Returns: Bool if reload started and false otherwise.
    func reload(forceLoad: Bool) -> Bool

    /// Requests placement reload.
    ///
    /// Works only if automatic reloading is disabled.
    ///
    /// - Returns: Bool if reload started and false otherwise.
    func reload() -> Bool

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

    /// 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 }
}

Last updated