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
 | |
| }
 |