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