GADAppOpenAd returns Error Domain=com.google.admob Code=11 "Request Error: Internal error."

GADAppOpenAd returns Error Domain=com.google.admob Code=11 "Request Error: Internal error."

目标: 我想在用户离开应用程序时加载广告,而不是用户从最近打开应用程序或从应用程序打开(没有终止)。用户将展示广告并且它将恢复工作。

结果: 应用程序应该加载添加但它 return 我错误域=com.google.admob 代码=11“请求错误:内部错误。”

错误解释: 调试器 window return.

- some : Error Domain=com.google.admob Code=11 "Request Error: Internal error." UserInfo={NSLocalizedDescription=Request Error: Internal error., gad_response_info=  ** Response Info **
    Response ID: (null)
    Network: (null)

  ** Mediation line items **
}

尝试过的代码:

    func requestAppOpenAd() {
        let request = GADRequest()
        GADAppOpenAd.load(withAdUnitID: CommonUtils.appOpenAdsTestId, //Test id : "ca-app-pub-3940256099942544/5662855259"
                          request: request,
                          orientation: UIInterfaceOrientation.portrait,
                          completionHandler: { (appOpenAdIn, error) in
                            if error != nil {
                                print(error?.localizedDescription)
                            }else {
                                self.appOpenAd = appOpenAdIn
                                self.appOpenAd?.fullScreenContentDelegate = self
                                self.loadTime = Date()
                                print("OPEN AD IS READY...")
                            }
                          })
    }
    
    func tryToPresentAd() {
        if let gOpenAd = self.appOpenAd, let rwc = self.window?.rootViewController{
            gOpenAd.present(fromRootViewController: rwc)
            self.requestAppOpenAd()
        } else {
            self.requestAppOpenAd()
        }
    }
    
    func wasLoadTimeLessThanNHoursAgo(thresholdN: Int) -> Bool {
        let now = Date()
        let timeIntervalBetweenNowAndLoadTime = now.timeIntervalSince(self.loadTime)
        let secondsPerHour = 3600.0
        let intervalInHours = timeIntervalBetweenNowAndLoadTime / secondsPerHour
        return intervalInHours < Double(thresholdN)
    }

我在 sceneDelegatetryToPresentAd() 中尝试过此代码,此方法放在 sceneDidBecomeActive 方法中,当用户从最近的活动中打开应用程序时将调用该方法。

研究: 我在 GoogleAdmob 中发现了这个错误,但没有任何描述。 https://developers.google.com/admob/ios/api/reference/Enums/GADErrorCode#/c:@E@GADErrorCode@GADErrorInternalError

ca-app-pub-3940256099942544/5662855259 我认为这个测试 ID 在实时密钥上暂时被阻止,它工作正常。