Admob Banner 错位

Admob Banner misplaced position

我正在尝试在导航栏顶部放置一个 Admob 横幅;我尝试在该页面内使用 bottomNavigationBar,它与按钮一起工作得很好:

现在,当我用 Admob 横幅替换那个按钮时,广告的位置是在实际的导航栏上方,而不是在它的顶部。

 @override
  Widget build(BuildContext context) {
    bloc.fetchLikedNews();
    return Scaffold(
          appBar: AppBar(
            title: Text('Bookmarks', 
                  style: TextStyle(color: Theme.of(context).brightness == Brightness.dark
                  ? Theme.of(context).accentColor
                  : Colors.white),
                      ),
          backgroundColor: Theme.of(context).brightness == Brightness.dark
                    ? Colors.grey[850]
                          : Theme.of(context).accentColor,
            ),
      body: CustomScrollView(
        controller: scrollControllerLikedList,
        slivers: <Widget>[
          SliverToBoxAdapter(

          ),

          streamBuilder(bloc.likeNews),

        ],
      ),

      bottomNavigationBar: Padding(
        padding: EdgeInsets.all(8.0),
        child: ClipRRect(
          borderRadius: BorderRadius.circular(17.0),
          child: AdmobBanner(
            adUnitId: getBannerAdUnitId(),
            adSize: AdmobBannerSize.BANNER,
          )
          ),
        ),
    ); 

  }


@override
  void initState() {
    scrollControllerLikedList = ScrollController(initialScrollOffset: 84);

  FirebaseAdMob.instance.initialize(appId: getAppId());
    //Change appId With Admob Id
    _bannerAd = createBannerAd()
      ..load()
      ..show();
    super.initState();


  }

firebase_admob 插件的一个已知限制是您不能将广告放置在容器中,只能锚定它。

使用show()中的参数后,您可以将其锚定到顶部以接近您的实际情况:

    bannerAd
      ..show(
        anchorOffset: 60.0,
        anchorType: AnchorType.top,
      );

或者,您可以使用这个插件:https://pub.dev/packages/admob_flutter