如何解决Flutter中的Firebase Admob:即使正在加载广告,也要对其进行处理
我正在使用插件:firebase_admob:^ 0.9.3 + 4 我只想在PageView的特定页面上加载广告。当用户移动到另一个页面时,我希望放置广告。但是,我遇到了一个问题,即只有在广告已经加载并显示的情况下,广告才会被处置。否则,它将加载并显示在新标签上。
如何阻止尚未加载的广告加载?
这是代码:
MobileAdtargetingInfo targetingInfo = MobileAdtargetingInfo(
keywords: <String>['Flutterio','beautiful apps'],contentUrl: 'https://Flutter.io',birthday: DateTime.Now(),childDirected: false,designedForFamilies: false,gender: MobileAdGender.male,testDevices: <String>[],);
BannerAd myBanner = BannerAd(
adUnitId: BannerAd.testAdUnitId,size: AdSize.smartBanner,targetingInfo: targetingInfo,listener: (MobileAdEvent event) {
print("BannerAd event is $event");
},);
myBanner
..load()
..show(
anchorOffset: 60.0,horizontalCenterOffset: 10.0,anchorType: AnchorType.bottom,);
@override
void dispose() {
disposeAds();
super.dispose();
}
void disposeAds()async{
_banner?.dispose();
_banner=null;
}
我想知道的是如何防止在处理页面后加载广告?在iOS上似乎可以自动执行此操作,但在Android上则不会。
解决方法
您可以使用admob_flutter
此软件包可在小部件中转换您的Admob横幅
AdmobBanner(
adUnitId: AdManager.bannerAdUnitId,adSize: AdmobBannerSize.BANNER,));
然后,您可以像使用任何其他小部件一样使用
Container getBanner() {
return new Container(
decoration: BoxDecoration(border: Border.all(color: Colors.black)),child: AdmobBanner(
adUnitId: AdManager.bannerAdUnitId,));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。