无法在 ListViews.separated Flutter 中展示广告

Impossible to display ads in a ListViews.separated Flutter

我在 flutter 中使用 firebase_admob,我想在 ListView.separated 中展示广告。

     void initState(){
    FirebaseAdMob.instance.initialize(appId: 'ca-app-pub-XXXXXXXXXXXXXXXXXXXXXXX');
  }


  static const MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
    keywords: <String>['flutterio', 'beautiful apps'],
    contentUrl: 'https://flutter.io',
    childDirected: false,
    testDevices: <String>[], // Android emulators are considered test devices
  );

  BannerAd myBanner = BannerAd(
    // Replace the testAdUnitId with an ad unit id from the AdMob dash.
    // https://developers.google.com/admob/android/test-ads
    // https://developers.google.com/admob/ios/test-ads
    adUnitId: BannerAd.testAdUnitId,
    size: AdSize.smartBanner,
    targetingInfo: targetingInfo,
    listener: (MobileAdEvent event) {
      print("BannerAd event is $event");
    },
  );

以及我要展示广告的位置:

return ListView.separated(
        padding: EdgeInsets.zero,
        itemCount: data.articles.length,
        separatorBuilder: (context, index) {
          if (index % 5 == 0) { // Display `AdmobBanner` every 5 'separators'.
           return myBanner;
          }
          return Divider();
        },

但我遇到了这个问题:错误:return 类型 'BannerAd' 不是匿名闭包定义的 'Widget'。 (return_of_invalid_type_from_closure 在 lib\src\ui\home\home_screen.dart:445)。

什么是最好的解决方案?

谢谢

尝试使用这个非官方的 admob plugin 进行 flutter。

firebase_flutter 没有 return Widget,请尝试使用 admob_flutter 包。