【问题标题】:Impossible to display ads in a ListViews.separated Flutter无法在 ListViews.separated Flutter 中显示广告
【发布时间】:2020-02-26 19:35:53
【问题描述】:

我在颤振中使用 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();
        },

但我遇到了这个问题:错误:返回类型“BannerAd”不是匿名闭包定义的“小部件”。 (return_of_invalid_type_from_closure 在 lib\src\ui\home\home_screen.dart:445)。

什么是最好的解决方案?

谢谢

【问题讨论】:

  • 我认为使用 admob 是不可能的,因为 BannerAd 类没有构建小部件或返回小部件。我认为 admob_flutter 包是可能的:pub.dev/packages/admob_flutter#-readme-tab-
  • 是的,我认为你是对的。谢谢

标签: flutter dart widget admob


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多