调用firebase_messaging的requestPermission出现MissingPluginException如何解决
Firebase Messaging requestPermission 方法MissingPluginException报错解决方案
该报错本质是Flutter侧调用的平台方法在原生端没有找到对应实现,可按照以下步骤逐一排查:
- 第一步:清理编译缓存
依次执行以下命令:
执行完成后卸载设备上已安装的旧应用,重新编译运行,80%以上的同类问题都是旧编译缓存导致的。flutter clean flutter pub get - 第二步:核对版本兼容性
你当前使用的firebase-bom版本为28.3.0,对应pubspec.yaml中firebase_messaging的大版本需要匹配10.x系列,如果使用了11.x及更高版本的firebase_messaging,会出现方法不匹配的问题。如果你需要使用更高版本的firebase_messaging,同步升级firebase-bom到对应版本即可。 - 第三步:检查Firebase初始化逻辑
必须在调用任何Firebase相关API前完成Firebase初始化操作
确认你在调用requestPermission()之前已经执行了初始化代码:await Firebase.initializeApp(); - 第四步:核对Android端gradle配置
- 项目级build.gradle的dependencies节点下已添加google-services插件依赖:
classpath 'com.google.gms:google-services:4.3.10' - app级build.gradle的最底部已经添加插件应用代码:
apply plugin: 'com.google.gms.google-services' - 你配置的firebase-bom和firebase-messaging依赖需放在app级build.gradle的dependencies节点下,无需单独给firebase-messaging指定版本号,由bom统一管理即可。
- 项目级build.gradle的dependencies节点下已添加google-services插件依赖:
- 第五步:核对Android权限配置
检查AndroidManifest.xml中已添加必要的通知权限,Android 13及以上系统还需要额外申请POST_NOTIFICATIONS动态权限。
内容的提问来源于stack exchange,提问作者zajjaq
相关产品推荐
相关产品推荐

