Flutter firebase_admob无法在iOS生产中加载广告

问题描述

我有3个应用程序使用旧版本的firebase_admob(0.9.3),firebase_core(0.4.4)和firebase_analytics(5.0.11)来显示广告。

现在,我已经将其中之一更新为这些软件包的最新版本,并且iOS上的生产广告会在调试时输出消息“加载广告失败”。

这些是最新版本:

  • firebase_admob:^ 0.10.0 + 2
  • firebase_core:^ 0.5.0 + 1
  • firebase_analytics:^ 6.0.2

测试广告同时在android和iOS上展示。量产广告仅在Android上展示。据我所知,如果显示测试广告,则说明实施是正确的。

我还将这些键添加到了Info.plist中:

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxx-my-app-id-xxxxx</string>
<key>SKAdNetworkItems</key>
  <array>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>cstr6suwn9.skadnetwork</string>
    </dict>
  </array>

在AdMob仪表板上,我可以看到收到广告请求,但根本没有任何展示。

有关调试输出的更多信息,因此我无法理解。

这是Xcode 12.0.1(在物理设备上运行)的输出

<Google> To get test ads on this device,set: GADMobileAds.sharedInstance.requestConfiguration.testdeviceidentifiers = @[ @"b15cb21bc27c0f3484e5b7c4df41e429" ];
FirebaseAdMobPlugin <warning> adView:didFailToReceiveAdWithError: Request Error: No ad to show. (MobileAd <FLTBannerAd: 0x281bec4e0> PENDING mobileAdId:46290759 for: <GADBannerView: 0x12ff916c0; frame = (0 0; 320 50); clipsToBounds = YES; layer = <CALayer: 0x283fd38a0>>)
Flutter: BannerAd event is MobileAdEvent.FailedToLoad

这很奇怪,因为如果我设置了此测试设备ID,则会在物理设备上获得测试广告。但是在其他应用程序上我没有收到此消息,实际上我收到了真实的广告。

解决方法

好吧,我发现admob在将应用发布到应用商店之前不会在ios物理设备上展示广告,因为该应用尚没有内容分级。

实施确实是正确的。

编辑:我的应用程序已在App Store上发布了2周,尽管收到了很多请求,但我仍然没有获得任何展示。 Admob仍然无法链接到应用商店。我希望它会在我链接后立即开始获得展示。

Edit2:16天后,admob可以列出我的应用,并且在链接该应用后10个小时开始展示。