title: Unable to load rewarded video ads sometimes
body: <p>I've launched an iOS app, but I am having problems loading rewarded video ads using the Google Mobile Ads SDK. </p>
  
  <p>When a player clicks the button to see a video ad, the player is shown a video very few times. Most of the time, the user is shown an error of Admob being unable to fill the request:</p>
  
  <pre><code>Error Domain=com.google.ads Code=1 "Request Error: No ad to show."
  </code></pre>
  
  <p>Sometimes it will take them several clicks before getting one, and sometimes they just can't get one no matter how many clicks. This issue happens more with my rewarded videos, but it also happens with my banner ad. Sometimes Google is unable to provide me with a banner ad. Does anyone know why this is not working?</p>
  
  <p>My code for ads:</p>
  
  <pre><code>override func viewDidLoad() {
      super.viewDidLoad()
      if let view = self.view as! SKView? {
          // Load the SKScene from 'GameScene.sks'
          let scene = MainMenu(view.bounds.size, self, nil)
  
          scene.scaleMode = .aspectFill
  
          // Present the scene
          view.presentScene(scene)
  
  
          view.ignoresSiblingOrder = true
  
          view.showsFPS = false
          view.showsNodeCount = false
          view.showsPhysics = false
  
          GADRewardBasedVideoAd.sharedInstance().delegate = self
          GADRewardBasedVideoAd.sharedInstance().load(getRequest(),
                                                      withAdUnitID: rewardAdId)
  
          // In this case, we instantiate the banner with desired ad size.
          if GameViewController.bannerView == nil {
              GameViewController.bannerView = GADBannerView(adSize: kGADAdSizeBanner)
              GameViewController.bannerView.adUnitID = bannerId
              GameViewController.bannerView.rootViewController = self
              GameViewController.bannerView.load(getRequest())
              GameViewController.bannerView.isHidden = true
  
              addBannerViewToView(GameViewController.bannerView)
          }
          authenticateLocalPlayer()
          QuestManager().checkForRefresh()
      }
  }
  
  public func getRequest() -&gt; GADRequest {
      let request = GADRequest()
      return request
  }
  
  public func displayRewardedVideo() {
      if GADRewardBasedVideoAd.sharedInstance().isReady {
          GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController: self)
      } else {
          GameViewController.loadVideo()
      }
  }
  
  public static func loadVideo(){
      if !GADRewardBasedVideoAd.sharedInstance().isReady {
      GADRewardBasedVideoAd.sharedInstance().load(GADRequest(),
                                                  withAdUnitID: rewardAdId)
      }
  }
  
  func rewardBasedVideoAdDidClose(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
      GADRewardBasedVideoAd.sharedInstance().load(getRequest(),
                                                  withAdUnitID: rewardAdId)
      if let scene = gameScene {
          scene.audioManager.unmmute()
      }
  
      print("Video did close")
  }
  </code></pre>