62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Swift
		
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Swift
		
	
	
| // GuruRewardedAd.swift
 | |
| // Base class for rewarded ad implementations
 | |
| // Corresponds to GuruRewardedAd.kt in Android implementation
 | |
| 
 | |
| import Foundation
 | |
| import UIKit
 | |
| 
 | |
| public struct RewardedShowRequest {
 | |
|     public let placement: String?
 | |
|     
 | |
|     public init(placement: String?) {
 | |
|         self.placement = placement
 | |
|     }
 | |
| }
 | |
| 
 | |
| open class GuruRewardedAd: RelayAd {
 | |
|     public let adUnitId: String
 | |
|     public let adPlatform: AdPlatform
 | |
|     
 | |
|     private let name: String
 | |
|     
 | |
|     public let adType = AdType.Rewarded
 | |
|     
 | |
|     public init(engineId: Int, adUnitId: String, adPlatform: AdPlatform) {
 | |
|         self.adUnitId = adUnitId
 | |
|         self.adPlatform = adPlatform
 | |
|         self.name = "[RWD-\(adPlatform)]"
 | |
|         super.init(engineId: engineId)
 | |
|     }
 | |
|     
 | |
|     // MARK: - Logging Methods
 | |
|     public func logInfo(_ message: String) {
 | |
|         Logger.i(tag: "RWD-\(adPlatform.name)[\(adUnitId)]", message: message)
 | |
|     }
 | |
|     
 | |
|     public func logWarn(_ message: String) {
 | |
|         Logger.w(tag: "RWD-\(adPlatform.name)[\(adUnitId)]", message: message)
 | |
|     }
 | |
|     
 | |
|     public func logDebug(_ message: String) {
 | |
|         Logger.d(tag: "RWD-\(adPlatform.name)[\(adUnitId)]", message: message)
 | |
|     }
 | |
|     
 | |
|     public func logError(_ message: String) {
 | |
|         Logger.e(tag: "RWD-\(adPlatform.name)[\(adUnitId)]", message: message)
 | |
|     }
 | |
|     
 | |
|     // MARK: - Methods to override
 | |
|     
 | |
|     open func load() -> Bool {
 | |
|         fatalError("Subclass must implement")
 | |
|     }
 | |
|     
 | |
|     open func show(_ request: RewardedShowRequest? = nil) -> Bool {
 | |
|         fatalError("Subclass must implement")
 | |
|     }
 | |
|     
 | |
|     open func destroy() -> Bool {
 | |
|         fatalError("Subclass must implement")
 | |
|     }
 | |
| }
 |