使用google_mobile_ads插件遇MissingPluginException,求解决方案
解决google_mobile_ads插件的MissingPluginException问题
以下是针对性的解决步骤:
1. 清理并重建项目
这是解决MissingPluginException最常见的手段:
- 停止当前运行的设备,执行命令:
flutter clean - 进入iOS项目目录,删除
Pods文件夹和Podfile.lock文件 - 回到项目根目录,执行
flutter pub get重新拉取依赖 - 若为iOS项目,进入ios目录执行
pod install - 重新运行项目
2. 验证插件集成配置
Android端:
- 确保
android/app/build.gradle中minSdkVersion ≥ 19 - 在
AndroidManifest.xml的<application>标签内添加AdMob应用ID:<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="你的AdMob应用ID"/>
iOS端:
- 确保
ios/Podfile中platform :ios, '12.0'(插件最低要求iOS 12.0) - 在
Info.plist中添加AdMob应用ID:<key>GADApplicationIdentifier</key> <string>你的AdMob应用ID</string>
3. 修正初始化代码
原代码中MobileAds.instance.initialize()未使用await,可能导致初始化未完成就进入应用,修改为:
Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await MobileAds.instance.initialize(); runApp(myApp()); }
4. 排查插件冲突
由于之前使用过admob_flutter,需确认:
pubspec.yaml中已完全移除admob_flutter相关依赖- 清理项目后重新构建,避免旧插件残留代码干扰
额外检查
- 测试设备/模拟器需能正常访问Google服务(Android需安装Google Play服务,iOS需联网)
- 确认
google_mobile_ads版本为最新稳定版,且与当前Flutter版本兼容
内容的提问来源于stack exchange,提问作者wasa-bi
相关产品推荐
相关产品推荐

