Flutter注册原生广告工厂如何判断Embedding V1/V2及MainActivity适配问题
如何判断Flutter项目的Embedding版本
可以通过三个核心维度快速区分当前项目使用的版本:
- 查看MainActivity代码特征
- Embedding V1典型特征:MainActivity继承
io.flutter.app.FlutterActivity,未引入io.flutter.embedding包下类,在onCreate方法中手动注册插件,不存在configureFlutterEngine重写方法 - Embedding V2典型特征:MainActivity继承
io.flutter.embedding.android.FlutterActivity,重写configureFlutterEngine方法,在方法内通过FlutterEngine实例完成插件注册
- Embedding V1典型特征:MainActivity继承
- 查看AndroidManifest.xml配置
- Embedding V1场景下,入口Activity绑定旧版FlutterActivity实现,未适配新嵌入框架的属性、主题配置
- Embedding V2场景下,入口Activity绑定新嵌入框架对应的FlutterActivity实现,配套声明新框架要求的元数据、主题配置
- 参考项目基础信息
- Flutter 1.12版本后,所有新建项目默认使用Embedding V2,V1接口已正式停止维护
你提供的MainActivity代码是标准的Embedding V2实现,不存在使用V1的可能。
Kotlin格式MainActivity的适配说明
- Kotlin是Flutter官方完全支持的Android开发语言,和Java在嵌入逻辑支持上无任何差异,无需将现有.kt文件转换为.java格式开展开发
- 直接在现有MainActivity的
configureFlutterEngine方法内补充原生广告工厂注册逻辑即可,官方文档中的Java示例代码可直接转换为等价Kotlin语法写入当前类,无需改动现有类的继承关系、导入结构
内容的提问来源于stack exchange,提问作者Dani
相关产品推荐
相关产品推荐

