K_C*_*dio 39 dart firebase flutter firebase-cloud-messaging
我的 flutter 应用程序与 firebase 集成,一切都很好,但是当我将 firebase 项目迁移到客户端 firebase 控制台、添加他的 google 服务文件、更改 DefaultFirebaseOption.currentplatform 文件凭据时,但每当我尝试运行我的应用程序时,我都会收到错误。我的主要方法如下所示:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
token = await FirebaseMessaging.instance.getToken();
Provider.debugCheckInvalidValueType = null;
runApp(const MyApp());
}Run Code Online (Sandbox Code Playgroud)
错误是:
E/flutter (28330): [错误:flutter/lib/ui/ui_dart_state.cc(209)] 未处理的异常:[core/duplicate-app] 名为“[DEFAULT]”的 Firebase 应用程序已存在。
我在这里搜索并从这里找到了解决方案并更新了我的主要方法,如下所示:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
if (Firebase.apps.isNotEmpty) {
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
}else{
Firebase.app()
}
//await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
token = await FirebaseMessaging.instance.getToken();
Provider.debugCheckInvalidValueType = null;
runApp(const MyApp());
}Run Code Online (Sandbox Code Playgroud)
但这一次我没有收到错误,但我的应用程序 UI 没有显示,我只看到黑屏。我花了 4 到 5 个小时试图解决这个问题,但没有找到解决方案。任何帮助将不胜感激。
更新我在这两个场景中都提供了名称参数,并且我的应用程序在第一次安装时工作正常,但是当我重新启动或关闭应用程序并重新运行它时,我遇到了与上述情况相同的错误。
Quy*_*yen 54
使用 flutterfire CLI 按口味创建 firebase 应用程序时,我遇到了类似的问题。我意识到 flutterfire 在不同的项目中创建具有相同名称的应用程序。然后我尝试了2种方法,效果很好。
第一:手动更改每个 Firebase 项目中的应用程序名称。
第二:初始化时添加参数名称,例如在 main_dev.dart 中
await Firebase.initializeApp(
name: "dev project",
options: DefaultFirebaseOptions.currentPlatform);
Run Code Online (Sandbox Code Playgroud)
Seb*_*Seb 21
添加名称参数是为了避免问题,但并不能解决真正的问题。
就我而言(Flutter),我一直在使用firebase_options.dart生成的文件,而每个 android 风味目录中仍然有一些旧的google-services.json文件
android/app/src/<flavor>/google-services.json
Run Code Online (Sandbox Code Playgroud)
和 ios 上一样:
ios/Runner/<flavor>/GoogleService-Info.plist
Run Code Online (Sandbox Code Playgroud)
删除那些旧文件可以解决问题。
之后进行“Flutter clean”并手动删除 android/build(如果未删除)
Mad*_*han 15
在摸索 firebase 项目和升级包后出现此错误。
修复者
flutter clean
flutter pub get
Run Code Online (Sandbox Code Playgroud)
然后再次构建项目。
我在不同的项目中有相同名称的应用程序,这似乎不会导致错误。
过时的 google-services 文件或使用 flutter fire 工具从项目切换到另一个项目可能会发生这种情况
android/app/src/<flavor>/google-services.json
ios/Runner/<flavor>/GoogleService-Info.plist
lib/firebase_options.dart
然后写这些命令
1-flutter clean
2-然后安装flutterfire cliflutterfire configure
3-flutter pub get
这应该可以解决问题
c将 name 挂在 name 中await Firebase.initializeApp(.....会导致 firebase 服务出现问题
| 归档时间: |
|
| 查看次数: |
27197 次 |
| 最近记录: |