FusionAds-iOS/FusionAds/Classes/fusion/core/RelayAd.swift

57 lines
1.5 KiB
Swift
Raw Normal View History

// RelayAd.swift
// Base class for ad implementations with delegate forwarding
// Corresponds to RelayAd.kt in Android implementation
import Foundation
open class RelayAd: NSObject {
public var listener: FusionAdListener?
public let engineId: Int
public init(engineId: Int) {
self.engineId = engineId
}
// public methods for notifying listeners (called from subclasses)
public func adLoaded(ad: FusionAd) {
listener?.onAdLoaded(ad: ad)
}
public func adDisplayed(ad: FusionAd) {
listener?.onAdDisplayed(ad: ad)
}
public func adHidden(ad: FusionAd) {
listener?.onAdHidden(ad: ad)
}
public func adClicked(ad: FusionAd) {
listener?.onAdClicked(ad: ad)
}
public func adUserRewarded(ad: FusionAd, reward: FusionReward) {
listener?.onUserRewarded(ad: ad, reward: reward)
}
public func adLoadFailed(loadFailedInfo: LoadFailedInfo) {
listener?.onAdLoadFailed(loadFailedInfo: loadFailedInfo)
}
public func adDisplayFailed(ad: FusionAd, error: FusionError) {
listener?.onAdDisplayFailed(ad: ad, error: error)
}
public func adRevenuePaid(ad: FusionAd) {
listener?.onAdRevenuePaid(ad: ad)
}
public func adBannerExpanded(ad: FusionAd) {
listener?.onBannerAdExpanded(ad: ad)
}
public func adBannerCollapsed(ad: FusionAd) {
listener?.onBannerAdCollapsed(ad: ad)
}
}