要获取AdMob广告isReady属性发生变化的通知,可以使用Google Mobile Ads SDK提供的GADInterstitialDelegate协议。该协议包含了一些方法,当广告加载成功、加载失败以及即将展示等时会被调用。以下是一个示例解决方法的代码:
首先,确保你已经导入了GADInterstitialDelegate协议并设置了相应的代理。
import GoogleMobileAds
class ViewController: UIViewController, GADInterstitialDelegate {
var interstitial: GADInterstitial!
override func viewDidLoad() {
super.viewDidLoad()
// 初始化广告
interstitial = GADInterstitial(adUnitID: "your_ad_unit_id")
interstitial.delegate = self
// 加载广告
let request = GADRequest()
interstitial.load(request)
}
// 广告加载成功
func interstitialDidReceiveAd(_ ad: GADInterstitial) {
print("广告加载成功")
}
// 广告加载失败
func interstitial(_ ad: GADInterstitial, didFailToReceiveAdWithError error: GADRequestError) {
print("广告加载失败: \(error.localizedDescription)")
}
// 广告即将展示
func interstitialWillPresentScreen(_ ad: GADInterstitial) {
print("广告即将展示")
}
// 广告已经关闭
func interstitialDidDismissScreen(_ ad: GADInterstitial) {
print("广告已经关闭")
// 加载下一条广告
let request = GADRequest()
interstitial.load(request)
}
}
在上面的示例中,我们将GADInterstitialDelegate协议应用于ViewController,并实现了它的几个方法。当广告加载成功时,会调用interstitialDidReceiveAd方法,在方法中我们可以处理广告加载成功后的逻辑。同样,当广告加载失败时,会调用interstitial:didFailToReceiveAdWithError方法,在方法中可以处理广告加载失败后的逻辑。
当广告即将展示时,会调用interstitialWillPresentScreen方法,在该方法中可以处理展示广告前的逻辑。最后,当广告已经关闭时,会调用interstitialDidDismissScreen方法,在该方法中可以处理广告关闭后的逻辑。
需要注意的是,这只是一个示例,你需要将"your_ad_unit_id"替换为你自己的广告单元ID,并根据你的需求进行逻辑处理。