Admob广告加载时Flutter视频卡顿
创始人
2024-07-27 23:01:35
0

可以在Flutter项目中使用flutter_admob库来加载Admob广告,并使用视频播放器插件来显示视频。以下是示例代码:

'''dart import 'package:flutter/material.dart'; import 'package:video_player/video_player.dart'; import 'package:flutter_admob/flutter_admob.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); }

class _MyAppState extends State { VideoPlayerController _controller; bool _showAd = true;

AdmobInterstitial interstitialAd = AdmobInterstitial( adUnitId: 'YOUR_AD_UNIT_ID', listener: (AdmobAdEvent event, Map args) { if (event == AdmobAdEvent.closed) interstitialAd.load(); });

@override void initState() { controller = VideoPlayerController.asset('assets/video.mp4') ..initialize().then(() { setState(() {}); // video initialized so need to rebuild widget to play the video }); super.initState(); interstitialAd.load(); }

@override void dispose() { _controller.dispose(); interstitialAd.dispose(); super.dispose(); }

@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('Admob Advertisement Video Example'), ), body: _showAd ? AdmobBanner( adUnitId: 'YOUR_AD_UNIT_ID', adSize: AdmobBannerSize.BANNER, ) : GestureDetector( onTap: () { setState(() { _controller.value.isPlaying ? _controller.pause() : _controller.play(); }); }, child: Center( child: _controller.value.initialized ? AspectRatio( aspectRatio: _controller.value.aspectRatio, child: VideoPlayer(_controller), ) : Container(), ), ), floatingActionButton: FloatingActionButton( onPressed: () { if (interstitialAd.isLoaded) { interstitialAd.show(); } else { getVideo(); } }, child: Icon(Icons.play_arrow), ), ),

相关内容

热门资讯

Android Studio ... 要解决Android Studio 4无法检测到Java代码,无法打开SDK管理器和设置的问题,可以...
安装tensorflow mo... 要安装tensorflow models object-detection软件包和pandas的每个...
安装了Laravelbackp... 检查是否创建了以下自定义文件并进行正确的配置config/backpack/base.phpconf...
安装了centos后会占用多少... 安装了CentOS后会占用多少内存取决于多个因素,例如安装的软件包、系统配置和运行的服务等。通常情况...
按照Laravel方式通过Pr... 在Laravel中,我们可以通过定义关系和使用查询构建器来选择模型。首先,我们需要定义Profile...
按照分类ID显示Django子... 在Django中,可以使用filter函数根据分类ID来筛选子类别。以下是一个示例代码:首先,假设你...
Android Studio ... 要给出包含代码示例的解决方法,我们可以使用Markdown语法来展示代码。下面是一个示例解决方案,其...
Android Retrofi... 问题描述:在使用Android Retrofit进行GET调用时,获取的响应为空,即使服务器返回了正...
Alexa技能在返回响应后出现... 在开发Alexa技能时,如果在返回响应后出现问题,可以按照以下步骤进行排查和解决。检查代码中的错误处...
Airflow Dag文件夹 ... 要忽略Airflow中的笔记本检查点,可以在DAG文件夹中使用以下代码示例:from airflow...