如果我只使用flutter web(没有android或ios应用程序),我还应该在index.html和main.dart中初始化firebase应用程序两次吗?

Posted

技术标签:

【中文标题】如果我只使用flutter web(没有android或ios应用程序),我还应该在index.html和main.dart中初始化firebase应用程序两次吗?【英文标题】:should I still initialize firebase app twice in both index.html and main.dart if i am using only flutter web(no android or ios app)? 【发布时间】:2021-09-28 19:30:40 【问题描述】:

我正在尝试构建一个纯粹作为网站的颤振应用程序,那么我应该在 index.html 和 main.dart 中使用两次 firebase 初始化应用程序吗?

index.html

<script>
    // Your web app's Firebase configuration
    // For Firebase JS SDK v7.20.0 and later, measurementId is optional
    var firebaseConfig = 
      apiKey: "AIz...",
      authDomain: "...",
      databaseURL: "https://<project-name>.firebaseio.com",
      projectId: "...",
      storageBucket: "<project-name>.appspot.com",
      messagingSenderId: "...",
      appId: "...",
      measurementId: "..."
    ;
    firebase.initializeApp(firebaseConfig);
    firebase.analytics();
  </script>

Main.dart

void main() async 
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());

【问题讨论】:

【参考方案1】:

正如docs here 中提到的,你应该在这两个地方初始化它。

正如文档中所述,他们正在研究一种仅在一个地方初始化它的方法:

我们正在积极研究在不直接使用 CDN 的情况下初始化 Firebase 的方法,一旦可用,我们将更新文档。

【讨论】:

以上是关于如果我只使用flutter web(没有android或ios应用程序),我还应该在index.html和main.dart中初始化firebase应用程序两次吗?的主要内容,如果未能解决你的问题,请参考以下文章

从现有 Flutter 项目中删除 Web 部件

如何在小部件的容器内显示 pdf [flutter-web]

Flutter 没有找到预装的 Android SDK

如果在Flutter Web项目中使用lottie动画

如果在Flutter Web项目中使用lottie动画

flutter web(3) 快速创建web工程并运行