NimbusRequestManager

class NimbusRequestManager
extension NimbusRequestManager : RequestManager

Manages outbound requests to Nimbus with session-level info for requests

  • Unique session id for the current app session

    Declaration

    Swift

    static var sessionId: String { get set }
  • app

    Details about the publisher’s app (i.e., non-browser applications). Only applicable and recommended for apps.

    Declaration

    Swift

    static var app: NimbusApp?
  • Details about the human user of the device; the advertising audience

    Declaration

    Swift

    static var user: NimbusUser?
  • Black list of buyer seats (e.g., advertisers, agencies) restricted from bidding on this impression

    Declaration

    Swift

    static var blocklistBuyers: Set<String>?
  • Block list of advertisers by their domains (e.g., “ford.com”)

    Declaration

    Swift

    static var blockedAdvertisingDomains: Set<URL>?
  • Block list of applications by their platform-specific exchange-independent application identifiers (numeric IDs)

    Declaration

    Swift

    static var blockedApps: Set<String>?
  • Nimbus request interceptors used for demand like APS, FAN and LiveRamp

    Declaration

    Swift

    static var requestInterceptors: [NimbusRequestInterceptor]?
  • Provides data about the inventory source and which entity makes the final decision

    Declaration

    Swift

    static var source: NimbusSource?
  • Request URL for bid requests

    Declaration

    Swift

    static var requestUrl: URL?
  • Additional request headers

    Declaration

    Swift

    static var additionalRequestHeaders: [String : String]?
  • The timeout sent with the request for Nimbus auction in milliseconds

    Declaration

    Swift

    static var auctionTimeout: Int?
  • Request manager delegate

    Declaration

    Swift

    weak var delegate: NimbusRequestManagerDelegate?
  • Undocumented

    Declaration

    Swift

    static var extendedIds: Set<NimbusExtendedId>?
  • Initializes a NimbusRequestManager object

    • publisher: Defaults to the publisher used to initialize the SDK. Can be overridden with apiKey to have this NimbusRequestManager instance send requests to a different Nimbus environment.
    • apiKey: Defaults to the apiKey used to initialize the SDK. Can be overridden with publisherKey to have this NimbusRequestManager instance send requests to a different Nimbus environment.

    Declaration

    Swift

    init(publisher: String? = Nimbus.shared.publisher, apiKey: String? = Nimbus.shared.apiKey)
  • Notifies Nimbus of an external auction win

    • ad: Nimbus ad corresponding to this auction
    • auctionData: Auction data for this auction

    Declaration

    Swift

    func notifyWin(ad: NimbusAd, auctionData: NimbusAuctionData?)

    Parameters

    ad

    Nimbus ad corresponding to this auction

    auctionData

    Auction data for this auction

  • Notifies Nimbus of an external auction loss

    • ad: The Nimbus ad corresponding to this auction
    • auctionData: Auction data for this auction

    Declaration

    Swift

    func notifyLoss(ad: NimbusAd, auctionData: NimbusAuctionData?)

    Parameters

    ad

    The Nimbus ad corresponding to this auction

    auctionData

    Auction data for this auction

  • Perform a bid request. This won’t perform a request if there’s already a request with the same position in flight

    Declaration

    Swift

    func performRequest(request: NimbusRequest)
  • Cancel the current inflight Nimbus request (if any) for the given position

    Declaration

    Swift

    func cancelRequest(position: String)