在我的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'