【发布时间】:2021-10-22 15:32:03
【问题描述】:
我是新来的颤振。我已将 Googole_mobile_ads 包添加到我的颤振应用程序中,但我很难解决此错误 erroe message。 它说
在 null 上调用了方法“load”。 接收方:空 尝试调用:load()
class Page extends StatefulWidget {
final String ek;
final String eek;
final String eeek;
final String eeeek;
final String eeeeek;
Page(this.ek, this.eek, this.eeek, this.eeeek, this.eeeeek);
@override
_PageState createState() => _PageState();
}
class _PageState extends State<Page> {
// here
BannerAd banner;
@override
void didChangeDependencies() {
super.didChangeDependencies();
final adState = Provider.of<AdState>(context);
// final AdWidget adWidget = AdWidget(ad: banner);
adState.initialization.then((status) {
setState(() {
banner = BannerAd(
size: AdSize.banner,
adUnitId: adState.bannerAdUnitId,
request: AdRequest(),
listener: BannerAdListener(),
)..load();
banner.load();
});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Container(
height: 50,
child: AdWidget(
ad: banner..load(),
),
),
【问题讨论】:
-
在这里分享一些代码和你的错误。
-
@zeia soroush hii,刚刚编辑了问题,请检查
-
你添加了这个 WidgetsFlutterBinding.ensureInitialized(); MobileAds.instance.initialize();到你的代码?我认为您需要等待 adState.initialization。你读过他们的文件吗? pub.dev/packages/google_mobile_ads
-
是的,我确实添加了 WidgetsFlutterBinding.ensureInitialized(); MobileAds.instance.initialize();到我的代码。我应该在哪里使用 await 方法?
-
是的,请。我尝试添加等待,但它似乎不起作用。我只是得到更复杂的错误,我不明白。我会等你的解决方案。谢谢曼恩