我正在努力在我的应用程序中实现插页式广告,但对 AdMob 提供的文档和新的 SwiftUI 应用程序结构遇到了一些困惑。
这是app.swift文件,显示我已经实现了 GoogleMobileAds 并在didFinishLaunchingWithOptions方法中启动了它。
import SwiftUI
import GoogleMobileAds
@main
struct AdamsCalcApp: App {
var calculator = Calculator()
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView().environmentObject(calculator)
}
}
}
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
// Setup Google AdMob instance
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
}
Run Code Online (Sandbox Code Playgroud)
在我的ContentView.swift文件中,我创建了间隙变量,如下所示:
@State var interstitial: GADInterstitialAd?
Run Code Online (Sandbox Code Playgroud)
然后,在视图的主堆栈上,我调用onAppear(perform:)加载广告:
.onAppear(perform: …Run Code Online (Sandbox Code Playgroud)