我有以下Fluttter主要方法来根据用户登录状态显示不同的屏幕。
main() {
runApp(
MaterialApp(
home: MyApp(),
builder: (BuildContext context, Widget widget) {
double paddingBottom = 50.0;
double paddingRight = 0.0;
return Scaffold(
body: Padding(
child: widget,
padding:
new EdgeInsets.only(bottom: paddingBottom, right: paddingRight),
),
);
},
),
);
}
该脚手架已经添加了填充以显示AdMob广告,并且可以在所有页面上正常工作。
但是我不希望广告显示在登录页面上,并且应该是全屏显示,没有任何填充。
如何修改MaterialApp的builder方法以实现这一目标?
答案 0 :(得分:0)
如果您使用的是FirebaseAuth,则在主要功能中检查用户是否通过功能await FirebaseAuth.instance.currentUser()
登录,然后将用户状态传递给您的应用程序类。如果用户不是null
,则不展示广告。
注意:我告诉我们在main
函数中执行此操作,因为它可以转到async
。