75 lines
2.0 KiB
Swift
75 lines
2.0 KiB
Swift
|
|
// GuruBannerAd.swift
|
||
|
|
// Base class for banner ad implementations
|
||
|
|
// Corresponds to GuruBannerAd.kt in Android implementation
|
||
|
|
|
||
|
|
import Foundation
|
||
|
|
import UIKit
|
||
|
|
|
||
|
|
public struct BannerShowRequest: Equatable {
|
||
|
|
public let placement: String?
|
||
|
|
public let position: BannerPosition?
|
||
|
|
public let offset: Float?
|
||
|
|
|
||
|
|
public init(placement: String? = nil, position: BannerPosition? = nil, offset: Float? = nil) {
|
||
|
|
self.placement = placement
|
||
|
|
self.position = position
|
||
|
|
self.offset = offset
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
open class GuruBannerAd: RelayAd {
|
||
|
|
public let adUnitId: String
|
||
|
|
public let adPlatform: AdPlatform
|
||
|
|
|
||
|
|
private let name: String
|
||
|
|
|
||
|
|
public let adType = AdType.Banner
|
||
|
|
|
||
|
|
public init(engineId: Int, adUnitId: String, adPlatform: AdPlatform) {
|
||
|
|
self.adUnitId = adUnitId
|
||
|
|
self.adPlatform = adPlatform
|
||
|
|
self.name = "[BANNER-\(adPlatform)]"
|
||
|
|
super.init(engineId: engineId)
|
||
|
|
}
|
||
|
|
|
||
|
|
// MARK: - Logging Methods
|
||
|
|
|
||
|
|
public func logWarn(_ message: String) {
|
||
|
|
Logger.w(tag: "BANNER-\(adPlatform.name)[\(adUnitId)]", message: message)
|
||
|
|
}
|
||
|
|
|
||
|
|
public func logDebug(_ message: String) {
|
||
|
|
Logger.d(tag: "BANNER-\(adPlatform.name)[\(adUnitId)]", message: message)
|
||
|
|
}
|
||
|
|
|
||
|
|
public func logInfo(_ message: String) {
|
||
|
|
Logger.i(tag: "BANNER-\(adPlatform.name)[\(adUnitId)]", message: message)
|
||
|
|
}
|
||
|
|
|
||
|
|
public func logError(_ message: String) {
|
||
|
|
Logger.e(tag: "BANNER-\(adPlatform.name)[\(adUnitId)]", message: message)
|
||
|
|
}
|
||
|
|
|
||
|
|
// MARK: - Methods to override
|
||
|
|
|
||
|
|
open func load() -> Bool {
|
||
|
|
fatalError("Subclass must implement")
|
||
|
|
}
|
||
|
|
|
||
|
|
open func show(_ request: BannerShowRequest? = nil) -> Bool {
|
||
|
|
fatalError("Subclass must implement")
|
||
|
|
}
|
||
|
|
|
||
|
|
open func hide() -> Bool {
|
||
|
|
fatalError("Subclass must implement")
|
||
|
|
}
|
||
|
|
|
||
|
|
open func destroy() -> Bool {
|
||
|
|
fatalError("Subclass must implement")
|
||
|
|
}
|
||
|
|
|
||
|
|
open func updateOrientation(orientation: ScreenOrientation) -> Bool {
|
||
|
|
fatalError("Subclass must implement")
|
||
|
|
}
|
||
|
|
}
|