57 lines
1.5 KiB
Swift
57 lines
1.5 KiB
Swift
// 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)
|
|
}
|
|
}
|