MissingPluginException(在通道 plugins.flutter.io/firebase_messaging 上找不到方法 getToken 的实现)

时间:2021-02-15 05:09:36

标签: firebase flutter dart firebase-cloud-messaging google-play

在我的 flutter android 应用程序的发布版本中,我收到此错误。

我试过了:

在 Firebase 中从 Google Play 控制台更新 SHA-1 密钥 更新 google-services.json 重建和推出。

我仍然收到此错误。 我也启用了 INTERNET_PERMISSIONS 和 cleartext=true。

应用在 iOS 和安卓调试模式下也能正常工作。

2021-02-15 00:47:37.450 2888-2932/? E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:MissingPluginException(在通道 plugins.flutter.io/firebase_messaging 上没有找到配置方法的实现) #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:157) 2021-02-15 00:47:37.450 2888-2932/? E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:MissingPluginException(在通道 plugins.flutter.io/firebase_messaging 上找不到方法 getToken 的实现) #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:157) #1 FirebaseMessaging.getToken (package:firebase_messaging/firebase_messaging.dart:146)

2 个答案:

答案 0 :(得分:2)

请确保您已实施以下步骤:

1: 在 pubspecs.yaml 中添加 dep

firebase_core: ^0.5.3
firebase_messaging: ^7.0.3

2:在应用 build.gradle 文件中添加依赖项和服务。

dependencies {

 implementation platform('com.google.firebase:firebase-bom:26.5.0')
 
 implementation 'com.google.firebase:firebase-messaging'
 
}

apply plugin: 'com.google.gms.google-services'

3: 正确的 google-service.json 仅在 app 目录下

4:main.dart 中的初始化

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

5:将此代码添加到您的主类或第一个执行类中

final FirebaseMessaging firebaseMessaging = FirebaseMessaging();
  
firebaseMessaging.getToken().then((token){
  print("token $token");
}); 

答案 1 :(得分:0)

在应用 if "searchitem" in [value['src'], value['dst'], value['service']] 文件中添加此依赖项。

if "searchitem" in [*value['src'], *value['dst'], *value['service']]