AdMob - 找不到名称为以下的广告网络适配器:com.google.DummyAdapter

AdMob -Cannot find an ad network adapter with the name(s): com.google.DummyAdapter

pod 'Google-Mobile-Ads-SDK'
FirebaseAnalytics/AdIdSupport (8.9.1)
Firebase (8.9.1):
Xcode -Version 12.4 (12D4e)
iPad Simulator -12.9 inch 3rd Generation

关于这个问题有一个 Flutter 线程here

我在 iPad 上旋转到横向时遇到横幅广告 testAdID 单元的问题。 例如,在纵向中,测试广告显示并工作正常,但一旦我将 iPad 旋转为横向,我得到

Cannot find an ad network adapter with the name(s): com.google.DummyAdapter. Remember to link all required ad network adapters and SDKs, and set -ObjC in the 'Other Linker Flags' setting of your build target.

奇怪的是,一旦我旋转回纵向,广告就会出现。

这个过程是不停的。广告始终以纵向显示,但没有横向显示,并出现与上述相同的错误消息

我查看了 Target > Build Settings > All > Other Linker Flags,它已经设置为 Obj-C

代码:

// called in ViewDidLoad
func initializeAdMob() {
    
    let adMobKey = "ca-app-pub-3940256099942544/2934735716"
    
    bannerView.adUnitID = adMobKey
    bannerView.rootViewController = self
    bannerView.delegate = self
    
    let adSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width)
    bannerView.adSize = adSize
    
    view.addSubview(bannerView)
    bannerView.heightAnchor.constraint(equalToConstant: 50).isActive = true
    bannerView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
    bannerView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
    bannerView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -15).isActive = true

    bannerView.load(GADRequest())
}

它似乎只发生在测试环境中。

我发布的应用没有任何问题。

如果您 运行 它处于 release 模式并且在实际 id 模式下它应该可以工作。

奇怪的是,如果我让它静置一会儿,虚拟适配器消息会经常出现(就像它要求新广告一样),如果您等待足够长的时间,它可能会实际显示广告并且然后你又开始收到虚拟消息。

我认为这是 Admob 服务器的问题,您经常会收到一个虚拟广告。

此外,请尝试在代表的 bannerViewWillPresentScreen 中的 adSize 上使用 print,我也在那里使用 height = 0。当我使用 fluid 作为尺寸时。所以横幅在那里,但你看不到它,因为高度为零。

我使用 Ionic adMob 插件@capacitor-community/admob 并不断获得此 com.google.DummyAdapter 作为奖励视频,直到我删除了 isTesting=true,默认 =false 并从 google 测试 adId 'ca-app-pub-3940256099942544/1712485313' 切换到真实的

RewardAdOptions{
 adId: 'real add id'
 //isTesting: true
} 

等待AdMob.prepareRewardVideoAd(选项);