我一直在尝试用flutter应用程序初始化我的firebase,但是每次都抛出错误,代码没有问题,因为flutter构建的应用程序很好,只是没有firebase。
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
bool _initialized = false;
bool _error = false;
void initializeFlutterFire() async {
try {
// Wait for Firebase to initialize and set `_initialized` state to true
await Firebase.initializeApp();
setState(() {
_initialized = true;
});
} catch (e) {
// Set `_error` state to true if Firebase initialization fails
setState(() {
_error = true;
});
}
}
@override
void initState() {
initializeFlutterFire();
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp();
这是我一直得到的错误:
Error: Assertion failed:
file:///home/pete/snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_web-1.4.0/lib/src/fire
base_core_web.dart:271:11
options != null
"FirebaseOptions cannot be null when creating the default app."
at Object.throw_ [as throw] (http://localhost:35305/dart_sdk.js:5061:11)
at Object.assertFailed (http://localhost:35305/dart_sdk.js:4986:15)
at firebase_core_web.FirebaseCoreWeb.new.initializeApp
(http://localhost:35305/packages/firebase_core_web/firebase_core_web.dart.lib.js:243:42)
at initializeApp.next (<anonymous>)
at http://localhost:35305/dart_sdk.js:38640:33
at _RootZone.runUnary (http://localhost:35305/dart_sdk.js:38511:59)
at _FutureListener.thenAwait.handleValue (http://localhost:35305/dart_sdk.js:33713:29)
at handleValueCallback (http://localhost:35305/dart_sdk.js:34265:49)
at Function._propagateToListeners (http://localhost:35305/dart_sdk.js:34303:17)
at _Future.new.[_completeWithValue] (http://localhost:35305/dart_sdk.js:34151:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:35305/dart_sdk.js:34172:35)
at Object._microtaskLoop (http://localhost:35305/dart_sdk.js:38778:13)
at _startMicrotaskLoop (http://localhost:35305/dart_sdk.js:38784:13)
at http://localhost:35305/dart_sdk.js:34519:9
3条答案
按热度按时间vcudknz31#
我通过以下步骤解决了此问题:
1.运行Flutter通道稳定
1.运行Flutter升级
1.将wait Firebase. initializeApp()替换为wait Firebase. initializeApp(选项:常量Firebase选项(apiKey:"用户名:"1:270790104828:网址:1da6b11a4729a7d79729",信息发送者ID:"2707901048",项目编号:"todo-app-firebase-ce8",),);
1.在firebase控制台上初始化Web应用程序并从那里复制脚本代码时,使用复制到index.html文件的值替换这些值。
1.重新启动应用程序。
对我有用!
sg3maiej2#
import语句中缺少firebase_options文件,并且Firebase.initializeApp方法中缺少选项。
1.导入firebase_core插件和firebase_options文件。
1.将options参数添加到main函数内的Firebase.initializeApp方法。
FlutterFire文档-初始化-Flutterfire
2wnc66cl3#
我遇到了这个问题,所以我只是使用了这个命令,它被修复了。请在执行其他操作之前尝试一次