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
我正在尝试在导航栏顶部放置一个 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