如何更改开屏广告的时长?

How to change the duration of app-open ad?

我正在使用 Flutter,并尝试使用应用打开广告(通过 google admob)和 Future Builder 构建应用。 因为future builder耗时较长,所以我想让广告展示时间超过5秒,或者future builder获取数据后关闭广告。 我已经实现了 admob 和 future builder。

The relationship between openApp ad and FutureBuilder

你能教我如何更改展示广告的持续时间吗?

如果您需要更多信息来回答这个问题,请告诉我。 谢谢!

代码:

    AppOpenAd? openAd;
Future<void> loadInitialAd()async{
  await AppOpenAd.load(
    adUnitId: AdHelper.startAppAdUnitId,
    request: const AdRequest(),
    adLoadCallback: AppOpenAdLoadCallback(
      onAdLoaded: (ad){
        print("Ad is loaded");
        openAd = ad;
        openAd!.show();
      },
      onAdFailedToLoad: (error){
        print("ad failed to load ${error}");
      }
    ), orientation: AppOpenAd.orientationPortrait
  );
}

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await MobileAds.instance.initialize();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );

  runApp(MyApp());
}

    class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return 
        return MaterialApp(
            home:MyHomePage());          
    );
  }
}
class MyHomePage extends StatefulWidget {
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

}
@override
  Widget build(BuildContext context) {
    return Scaffold(
       
        body: FutureBuilder<List<MonumentModel>>(
          future: MonumentModel.fetchMonument(),
          builder: (context, snapshot) {

return 
snapshot.hasData ? Container(child: Widget(snapshot!.data))
                  : SizedBox(child: Center(child: CircularProgressIndicator())),

没有看到代码很难帮到你,但是你检查过documentation了吗?阅读文档,似乎广告没有自动关闭,这告诉我你的广告很可能被其他东西关闭了。可能是用于显示加载屏幕的导航事件。

检查 FullScreenContentCallback declaration 以了解广告的显示和关闭方式。