flutter - 颤振 admob 移除后退按钮
问题描述
有人可以指出我在集成 admob 上的正确方向。
我能够获得插件https://pub.dev/packages/ads展示广告,但是当用户更改小部件时,我无法让它卸载广告。
有谁知道如何做到这一点?
class SecondRoute extends StatelessWidget {
final article;
Ads appAds;
final String appId = "ca-app-pub-4999865903647931~XXXXXXXXXX";
final String bannerUnitId = "ca-app-pub-4999865903647931/XXXXXXXxX";
// In the constructor, require a Todo.
SecondRoute({Key key, @required this.article}) : super(key: key);
@override
Widget build(BuildContext context) {
appAds = Ads(
appId,
bannerUnitId: bannerUnitId,
// screenUnitId: screenUnitId,
// keywords: <String>['ibm', 'computers'],
// contentUrl: 'http://www.ibm.com',
//childDirected: false,
testDevices: ['SM_A305YN:5554'],
testing: true,
listener: eventListener,
);
appAds.showBannerAd(anchorType: AnchorType.top, anchorOffset: 120);
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.redAccent,
title: Text(article['title']),
leading: new IconButton(
icon: new Icon(Icons.arrow_back),
onPressed: (){
appAds.hideBannerAd();
}
),
),
body: Center(
child: Container(
margin: const EdgeInsets.only(top: 40.0),
child: new SingleChildScrollView(
child: Card(
child: new Container(
padding: new EdgeInsets.all(10.0),
child: Column(
children: <Widget>[
Image.network(article['image'], fit: BoxFit.fitWidth),
Html(data: article['content']),
]
),
),
),
),
)
)
);
}
}
我希望当用户点击后退按钮时,它会删除 appAds 横幅。
解决方案
创建一个有状态小部件而不是无状态小部件,并在您想要停止广告时调用 dispose 方法。
_ads?.dispose()
推荐阅读
- google-cloud-platform - gcloud cpu quota 本身是否需要任何费用?
- dynamics-crm - 如何在 MS Dynamics 中扩展令牌
- javascript - 我不知道如何将一个只有一次的 cookie 应用到我的 JavaScript“页面加载”弹出窗口
- optimization - Nelder-Mead 算法中的振荡正常吗?
- java - 用匿名内部类初始化的静态字段有什么问题吗?
- apache - 如何避免 LAN 网站上出现自签名 SSL 警告?
- reactjs - 根据 React 中的条件显示/隐藏 Bootstrap 模式
- git - Git 返回“无法运行重新打包”和“膨胀返回”错误
- angular - 订阅行为主题不返回新值
- android - 带有edittext和复选框的片段列表视图中的随机行为