MissingPluginException(在channel-plugins.flutter.io/firebase_



在我的flutter android应用程序的发布版本上,我收到了这个错误。

我试过:

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

我仍然会犯这个错误。我启用了INTERNET _PERMISSIONS,并且cleartext=true。

应用程序在iOS和android调试模式下运行良好。

2021-02-15 00:47:37.450 2888-2932/?E/flutter:[错误:flutter/lib/ui/ui_start_state.cc(177)]未处理的异常:MissingPluginException(在通道插件.flutter.io/firebase_messaging上找不到方法配置的实现)#0 MethodChannel_invokeMethod(包:flutter/src/services/platform_channel.dart:157)2021-02-15 00:47:37.450 2888-2932/?E/flutter:[错误:flutter/lib/ui/ui_start_state.cc(177)]未处理的异常:MissingPluginException(在通道插件.flutter.io/firebase_messaging上找不到方法getToken的实现)#0 MethodChannel_invokeMethod(包:flutter/src/services/platform_channel.dart:157)#1 FirebaseMessaging.getToken(包:firebase_messaging/firebase_messagging.dart:146)

请确保您已经实现了以下步骤:

1:在pubspecs.yaml 中添加dep

firebase_core: // latest version
firebase_messaging: // latest version

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:proper仅在app目录下的谷歌服务.json

4:main.dart中的初始化

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

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

FirebaseMessaging.instance.getToken().then((token){
print("token $token");
}); 

假设您的pubspec.yaml中有以下内容(并运行隐式flutter pub-get):

dependencies:
firebase_messaging: ^10.0.9

进口,现在在你的Dart代码中,你可以使用:

import 'package:firebase_messaging/firebase_messaging.dart';

然后在你的课堂上,这里有一个你可能想使用的方法,也许是为了订阅主题:

Future<void> subscribeToChallenge(String topic) async {
// subscribe to topic on when user clicks join
await Firebase.initializeApp();
await FirebaseMessaging.instance.subscribeToTopic(topic);
}

注意到initializeApp()调用了吗?是的,不知怎么的,这就是我凭直觉让它发挥作用的原因。

将此依赖项添加到应用程序build.gradle文件中。

implementation 'com.google.firebase:firebase-messaging:21.0.1'

相关内容

最新更新