27 lines
		
	
	
		
			810 B
		
	
	
	
		
			Swift
		
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			810 B
		
	
	
	
		
			Swift
		
	
	
|  | // GuruAdsSdk.swift | ||
|  | // Base class for SDK implementations | ||
|  | // Corresponds to GuruAdsSdk.kt in Android implementation | ||
|  | 
 | ||
|  | import Foundation | ||
|  | import UIKit | ||
|  | 
 | ||
|  | // Typealias for callbacks | ||
|  | public typealias GuruAdsInitializeCompletedCallback = (GuruAdsSdk, Bool) -> Void | ||
|  | public typealias GuruAdsInitializer = (UIViewController) -> GuruAdsSdk | ||
|  | 
 | ||
|  | public protocol GuruAdsSdk: AnyObject { | ||
|  |     var adPlatform: AdPlatform { get } | ||
|  |      | ||
|  |     func initialize(adsProfile: AdsProfile) async -> Bool | ||
|  |      | ||
|  |     func obtainInterstitialAd(adConfig: AdConfig) -> GuruInterstitialAd | ||
|  |      | ||
|  |     func obtainRewardedAd(adConfig: AdConfig) -> GuruRewardedAd | ||
|  |      | ||
|  |     func obtainBannerAd(adConfig: AdConfig) -> GuruBannerAd | ||
|  |      | ||
|  |     func obtainMRecAd(adConfig: AdConfig) -> GuruMRecAd | ||
|  |      | ||
|  |     func processCrossAction(action: AdsCrossAction) -> Bool | ||
|  | } |