Flutter 如何使用flatter\u google\u广告管理器插件在onAdFailedToLoad事件中呈现不同的小部件?

Flutter 如何使用flatter\u google\u广告管理器插件在onAdFailedToLoad事件中呈现不同的小部件?,flutter,Flutter,我使用flutter\u谷歌\u广告管理器插件。在onAdFailedToLoad的情况下,我希望呈现一个不同的小部件,而不是DFPBanner小部件。我该怎么做?当我调用onAdFailedToLoad:(errorCode){…}中的小部件时,它不会被渲染。。为什么呢 Container( margin: EdgeInsets.only(top: 16, bottom: 16), child: DFPBanner( isDevelop: false, //testDe

我使用flutter\u谷歌\u广告管理器插件。在onAdFailedToLoad的情况下,我希望呈现一个不同的小部件,而不是DFPBanner小部件。我该怎么做?当我调用onAdFailedToLoad:(errorCode){…}中的小部件时,它不会被渲染。。为什么呢

Container(
  margin: EdgeInsets.only(top: 16, bottom: 16),
  child: DFPBanner(
    isDevelop: false,
    //testDevices: MyTestDevices(),
    adUnitId: '/XXXXXXXX/MyAdunit',
    adSize: DFPAdSize.MEDIUM_RECTANGLE,
    onAdFailedToLoad: (errorCode) {
      // how to render different widget in case of no fill    
      return Text("render some other widget here");
    },
  ),
),

您需要构建一个函数,该函数根据一个值呈现小部件,假设您获得了一个
布尔值
标志来检查要呈现的小部件,该函数如下所示:

_renderWidget() {
 if(flag) {
  return DFPBanner(
    isDevelop: false,
    //testDevices: MyTestDevices(),
    adUnitId: '/XXXXXXXX/MyAdunit',
    adSize: DFPAdSize.MEDIUM_RECTANGLE,
    onAdFailedToLoad: (errorCode) {
      setState((){
       flag = false;
      })
    },
  ),
 } else {
   return Text("render some other widget here");
 }
}

然后在
容器中
使用该函数构建它的子级:

Container(
  margin: EdgeInsets.only(top: 16, bottom: 16),
  child: _renderWidget()
),
当然,这需要在
StatefulWidget
中完成,并且需要声明
bool flag=true处于
状态的变量
。希望这有帮助