Untitled
user_8820868
swift
7 months ago
2.4 kB
204
Indexable
Never
class AppDelegate:NSObject,UIApplicationDelegate{ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { GADMobileAds.sharedInstance().start() return true } } class InterstitialAdsManager: NSObject, GADFullScreenContentDelegate, ObservableObject { // Properties @Published var interstitialAdLoaded:Bool = false var interstitialAd:GADInterstitialAd? override init() { super.init() } // Load InterstitialAd func loadInterstitialAd(){ GADInterstitialAd.load(withAdUnitID: "ca-app-pub-5210617288495859/1394707600", request: GADRequest()) { [weak self] add, error in guard let self = self else {return} if let error = error{ print("🔴: \(error.localizedDescription)") self.interstitialAdLoaded = false return } print("🟢: Loading succeeded") self.interstitialAdLoaded = true self.interstitialAd = add self.interstitialAd?.fullScreenContentDelegate = self } } // Display InterstitialAd func displayInterstitialAd(){ let scenes = UIApplication.shared.connectedScenes let windowScene = scenes.first as? UIWindowScene guard let root = windowScene?.windows.first?.rootViewController else { return } if let add = interstitialAd{ add.present(fromRootViewController: root) self.interstitialAdLoaded = false }else{ print("🔵: Ad wasn't ready") self.interstitialAdLoaded = false self.loadInterstitialAd() } } // Failure notification func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { print("🟡: Failed to display interstitial ad") self.loadInterstitialAd() } // Indicate notification func adWillPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("🤩: Displayed an interstitial ad") self.interstitialAdLoaded = false } // Close notification func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("😔: Interstitial ad closed") } }
Leave a Comment