Swift 当广告加载失败时,显示视图而不是广告

Swift 当广告加载失败时,显示视图而不是广告,swift,uiview,admob,ads,testflight,Swift,Uiview,Admob,Ads,Testflight,我最近将我的应用程序发送到beta测试,并在其中添加了广告(googleadmob)。起初,当我的测试人员使用它时,他们通常会看到广告,但当我使用它时,我没有看到它们(在我的手机上,而在模拟器上,它们工作正常)。 现在他们只是偶尔看到它们(而我仍然无法在iPhone上看到它们)。我想这是因为我屏蔽了一些广告类别,所以我检查了一下,我注意到我必须允许我想展示的广告,但一些测试人员仍然看不到它们(或者他们可以看一段时间,几分钟后它们就会消失)。 所以我想到了另一个解决方案:我添加了一个视图,只有在没

我最近将我的应用程序发送到beta测试,并在其中添加了广告(googleadmob)。起初,当我的测试人员使用它时,他们通常会看到广告,但当我使用它时,我没有看到它们(在我的手机上,而在模拟器上,它们工作正常)。
现在他们只是偶尔看到它们(而我仍然无法在iPhone上看到它们)。我想这是因为我屏蔽了一些广告类别,所以我检查了一下,我注意到我必须允许我想展示的广告,但一些测试人员仍然看不到它们(或者他们可以看一段时间,几分钟后它们就会消失)。
所以我想到了另一个解决方案:我添加了一个视图,只有在没有加载广告的情况下才会显示,在模拟器广告上测试,一切都很好,发送到测试版,出现了新的错误:现在他们可以看到广告,但过了一段时间,他们就会消失,显示另一个视图,这很好。但是过了一段时间,广告就会出现在新的视图上,否则它们就会随机停止出现(出现后)。
所以,我想知道的是:

  • (不是很重要,只是好奇)为什么我在iPhone上测试自己的应用程序时看不到广告
  • (主要问题)当我的广告未加载时,如何显示另一个类似横幅的视图?甚至有没有一种方法可以始终显示它们 我的代码与您可以在中找到的代码相同,但我进行了编辑以添加其他类似横幅的视图:

       //This is to remove the banners when the user purchases the app or to show them if he has the free version
      override func viewWillAppear(_ animated: Bool) {
       if defaults.value(forKey: purchaseKey) == nil {
    
            bannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
            addBannerViewToView(bannerView)
            bannerView.delegate = self
            bannerView.adUnitID = "myID"
            bannerView.rootViewController = self
            bannerView.load(GADRequest())
        } else {
            bannerView.isHidden = true
            removeAdsView.isHidden = true
        }
    }
    
    
     /// Tells the delegate an ad request loaded an ad.
    func adViewDidReceiveAd(_ bannerView: GADBannerView) {
        print("adViewDidReceiveAd")
    removeAdsView.isHidden = true
        addBannerViewToView(bannerView)
        bannerView.alpha = 0
        UIView.animate(withDuration: 1, animations: {
            bannerView.alpha = 1
        })
    }
    
    /// Tells the delegate an ad request failed.
    func adView(_ bannerView: GADBannerView,
                didFailToReceiveAdWithError error: GADRequestError) {
        print("adView:didFailToReceiveAdWithError: \(error.localizedDescription)")
        removeAdsView.isHidden = false
    }
    

    阅读您的日志,一定有一些来自谷歌的错误描述,在我的情况下,我添加了我的设备作为测试

            let request = GADRequest()
            request.testDevices = ["5bb6d1ce5935f98196d35d9e61ac74f6"]
            bannerView?.load(request)
    

    另外,你应该关闭iPhone上的广告过滤器,设置->隐私->广告

    谢谢,剩下的我认为这是一个bug。