Skip to main content

VelocityAds

initSDK

VelocityAds.initSDK(
    appKey: String,
    publisherUserId: String? = nil,
    debug: Bool = false,
    callback: InitCallback? = nil
)
Parameters:
  • appKey - Your application key (required)
  • publisherUserId - User identifier (optional)
  • debug - Enable debug logging (optional)
  • callback - Initialization callback (optional)

loadNativeAd

VelocityAds.loadNativeAd(
    prompt: String,
    aiResponse: String? = nil,
    conversationHistory: [[String: Any]]? = nil,
    dimensions: AdDimensions,
    adUnitId: String? = nil,
    callback: AdCallback
)
Parameters:
  • prompt - User’s query/prompt (required)
  • aiResponse - AI-generated response content (optional)
  • conversationHistory - Optional conversation history for ad targeting (array of dictionaries with "role" and "content")
  • dimensions - Ad dimensions in points (required)
  • adUnitId - Ad unit identifier (optional)
  • callback - Ad loading callback (required)

Models

AdDimensions

AdDimensions(width: Int, height: Int)
  • width - Width in points
  • height - Height in points

NativeAd

struct NativeAd {
    let id: String                    // Unique ad identifier
    let title: String                 // Ad title/headline
    let description: String           // Ad body text
    let callToAction: String          // CTA button text (e.g., "Learn More")
    let sponsoredBy: String           // Advertiser/sponsor name
    let imageUrl: String              // Ad image URL
    let clickUrl: String              // Destination URL when ad is clicked
    let impressionUrl: String         // URL to track ad impressions
    let category: String              // Ad category (e.g., "Technology")
    let tags: [String]                // List of relevant tags/keywords
    let price: String?                // Optional price information
    let rating: Double?               // Optional rating (0.0 - 5.0)
    let reviewCount: Int?             // Optional number of reviews
}

Callbacks

InitCallback

protocol InitCallback: AnyObject {
    func onInitSuccess(sessionId: String, mediationEnabled: Bool)
    func onInitFailure(error: String)
}

AdCallback

protocol AdCallback: AnyObject {
    func onSuccess(nativeAd: NativeAd)
    func onError(error: String)
}