Ios 单击按钮后,如何使我的插入式adMob广告显示超时

Ios 单击按钮后,如何使我的插入式adMob广告显示超时,ios,swift,firebase,admob,interstitial,Ios,Swift,Firebase,Admob,Interstitial,现在它只显示一次整版广告。当我返回并再次按下按钮时,它不会显示。我希望它显示我的按钮被点击。我让AdMob连接到我的Firebase项目 class FirstViewController: UIViewController, UIAlertViewDelegate { var interstitial: GADInterstitial! @IBAction func loadAd(_ sender: Any) { if (interstitial.isReady){

现在它只显示一次整版广告。当我返回并再次按下按钮时,它不会显示。我希望它显示我的按钮被点击。我让AdMob连接到我的Firebase项目

class FirstViewController: UIViewController, UIAlertViewDelegate {


var interstitial: GADInterstitial!

@IBAction func loadAd(_ sender: Any) {

    if (interstitial.isReady){
        interstitial.present(fromRootViewController: self)
    }
}

override func viewDidLoad() {

    interstitial = GADInterstitial(adUnitID: "ca-app-pub-11111111/9758796532")
    let request = GADRequest()
    interstitial.load(request)

    super.viewDidLoad()

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}每次都需要创建GAD请求

GadInterstitual是一次性使用的对象。这意味着一年一次 显示Interstitual,hasBeenUsed返回true,Interstitual 无法用于加载其他广告。若要请求其他间隙, 您需要创建一个新的对象。最佳实践, 如上所示,是要有一个助手方法来处理创建和 装入填隙材料

当成功加载时,您需要在委托方法中显示

optional func interstitialDidReceiveAd(_ ad: GADInterstitial!){
    if (interstitial.isReady){
           interstitial.present(fromRootViewController: self)
         }
}

optional func interstitialWillDismissScreen(_ ad: GADInterstitial!){
      interstitial.delegate = nil
      interstitial = nil
 } 

 optional func interstitialDidFail(toPresentScreen ad: GADInterstitial!){
   interstitial.delegate = nil
   interstitial = nil
  }

更多信息:

在取消间隙广告时,我们必须为下一个间隙广告创建并发出加载请求

func interstitialDidDismissScreen(_ ad: GADInterstitial) {
  interstitial = createAndLoadInterstitial()
}
分配另一个填隙的最佳位置是在GadInterstitualDelegate上的InterstitutionAlDidDismissScreen:method中,以便在前一个填隙被取消后立即开始加载下一个填隙。您甚至可以考虑将间质初始化分解为它自己的帮助方法:


来源:

只要做一件事,在ViewWiiAspect()上创建一个中间请求,您的问题就可以解决了
func interstitialDidDismissScreen(_ ad: GADInterstitial) {
  interstitial = createAndLoadInterstitial()
}