首页 > 解决方案 > 颤振 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 横幅。

标签: flutteradmob

解决方案


创建一个有状态小部件而不是无状态小部件,并在您想要停止广告时调用 dispose 方法。

_ads?.dispose()

推荐阅读