Flutter 在颤振引发异常中使用测试横幅ad id-“以下adId的ad已存在:0”

Flutter 在颤振引发异常中使用测试横幅ad id-“以下adId的ad已存在:0”,flutter,admob,banner,Flutter,Admob,Banner,我试图在我的应用程序中加载一个测试横幅广告。我使用了这个链接中的测试广告id,我使用了这个包。但当我尝试运行我的应用程序时,出现了以下异常。我也遇到了类似的问题。经过研究和测试,我发现一个单元广告需要一个唯一的广告单元id ad单元的唯一标识符。当您在应用程序中实现新的广告单元时, 您将引用广告单元ID,告知广告网络在广告发布时将广告发送到何处 请求。您可以在应用程序的“广告单位”表中找到应用程序的广告单位ID 转到adMob仪表板,为您的dsired应用程序创建新的广告单元 在我的例子中,我的

我试图在我的应用程序中加载一个测试横幅广告。我使用了这个链接中的测试广告id,我使用了这个包。但当我尝试运行我的应用程序时,出现了以下异常。

我也遇到了类似的问题。经过研究和测试,我发现一个单元广告需要一个唯一的广告单元id

ad单元的唯一标识符。当您在应用程序中实现新的广告单元时, 您将引用广告单元ID,告知广告网络在广告发布时将广告发送到何处 请求。您可以在应用程序的“广告单位”表中找到应用程序的广告单位ID

转到adMob仪表板,为您的dsired应用程序创建新的广告单元

在我的例子中,我的应用程序的仪表板上有两个广告。所以我创建了两个广告单元。 不要害怕释放你的广告对象

@override
void dispose() {
  // TODO: Dispose a BannerAd object
  _ad?.dispose();

  super.dispose();
}

使用ads时使用热重新加载或热重启会造成此问题。可通过使用颤振清洁或关闭后运行来解决。当有人在检查广告功能时重新加载或重新启动应用程序时,系统会将以前运行的应用程序和重新加载或重新启动后的应用程序作为两个不同的实体。这些实体正试图使用相同的广告id,这就触发了这个问题。

不幸的是,谷歌移动广告缺乏文档,似乎没有合适的方法来检查广告是否已经从以前的应用程序状态加载。可以将状态保存到永久存储,然后在调用加载之前读取。

将谷歌移动广告更新为0.11.0+4版本。在该版本中,问题得到了解决,正如您在changelog中看到的,请检查您是否忘记添加:

MobileAds.instance.initialize();

是的,我也有同样的问题。问题已经向图书馆报告:是的,这为我解决了问题。运行Flutter clean并再次运行应用程序。谢谢。不,我没有忘记。汉克:这个,解决了我的问题。