Swift 5 App - AdMob返回超时 (XCode)

问题描述 投票:0回答:1

我想在我的swift应用中显示一个奖励广告(Google AdMob)。(XCode 11.4,Swift 5,Storyboard),但每当我加载广告时,它都会在控制台显示以下错误信息。

Error Domain=com.google.admob Code=5 
"Request Error: The Google Ad request was unable to be fulfilled before a timeout occurred." 
UserInfo={NSLocalizedDescription=Request Error: The Google Ad request was unable to be fulfilled before a timeout occurred., gad_response_info=<GADResponseInfo: 0x6000030f8090>}

我基本上是按照以下教程来做的 谷歌AdMob教程.

  1. 我加了我的 GADApplicationIdentifierinfo.plist
  2. 在AppDelegate中。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    GADMobileAds.sharedInstance().start(completionHandler: nil)
}
  1. 在ViewController中,我按照新的ViewController中的步骤进行操作 奖励广告教程 基本上是复制并粘贴,除了用我自己的AdID替换之外(我在模拟器中运行,所以如果我理解正确的话,使用自己的AdID应该没有问题......)。

这就是它的失败之处。

override func viewDidLoad() {
    super.viewDidLoad()
    rewardedAd = GADRewardedAd(adUnitID: adId)

    rewardedAd?.load(GADRequest()) { error in
        if let error = error {
            print("Error while loading ad: \(error.description)")
            // Timeout occurs here!!!
        } else {
            if self.rewardedAd?.isReady == true {
                self.rewardedAd?.present(fromRootViewController: self, delegate:self)
            }
        }
    }
}

知道为什么会超时吗?

注意:我还创建了一个Swift示例。

  • 我还创建了一个SwiftUI应用示例,具有相同的奖励应用结构,也会超时。
  • 是的,我的网络连接工作就好了
  • 我也尝试了AdMob的AdIds示例,然后我得到了以下错误。
Error while loading ad: Error Domain=com.google.admob Code=1 
"Request Error: No ad to show." 
UserInfo={NSLocalizedDescription=Request Error: No ad to show., gad_response_info=<GADResponseInfo: 0x6000018f4d80>}

我在'info.plist'中使用了: ca-app-pub-3940256099942544~1458002511并为AdID : ca-app-pub-3940256099942544/1712485313 从上面提到的教程页面从谷歌。

ios admob swift5 xcode11.4
1个回答
0
投票

我认为你应该用自己的appID与测试广告ID。

© www.soinside.com 2019 - 2024. All rights reserved.