Flutter 如何使用flatter\u google\u广告管理器插件在onAdFailedToLoad事件中呈现不同的小部件?
我使用flutter\u谷歌\u广告管理器插件。在onAdFailedToLoad的情况下,我希望呈现一个不同的小部件,而不是DFPBanner小部件。我该怎么做?当我调用onAdFailedToLoad:(errorCode){…}中的小部件时,它不会被渲染。。为什么呢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
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代码>处于状态的变量
。希望这有帮助