为什么 flutterfire 有自己的配置?

fun*_*bro 5 ios firebase flutter

在带有 Flutterfire 的 iOS Flutter 应用程序上,有两个不同的 Firebase 配置文件:firebase_app_id_file.json标准GoogleService-Info.plist.

\n

它们之间有什么区别?两者都需要吗?I\xe2\x80\x99d 宁愿有单一的事实来源。firebase_app_id_file.json无法在 Firebase 控制台中生成\xe2\x80\x99。

\n

Rus*_*ell 7

FlutterFire 维护者在这里。

firebase_app_id_file.json文件专门用于上传 iOS Flutter 应用程序的 Crashlytics 调试符号。它作为参数传递给podupload-symbols中的脚本FirebaseCrashlytics。对于最新、稳定版本的 FlutterFire CLI 仍然有必要。

然而,最新开发版本的 FlutterFire CLI 的目标之一是从项目工作区中删除此文件。这只是一个更改,它是更广泛目标的一部分,即支持多种环境配置(例如调试、登台、生产)。

最新的开发版本将该文件放置在每个 Flutter 项目的firebase_app_id_file.json隐藏目录中。/.dart_toolsFlutterFire CLI 开发版本还跟踪firebase_app_id_file.json用户在此隐藏目录中配置的每个构建环境的多个文件。

目前,我不建议用户为其应用程序依赖 Dart 初始化。本机平台上的某些 Firebase 产品(例如分析、FCM 和性能监控)需要存在服务文件才能在构建时或当 Dart 端尚不可用时(例如后台消息初始化)正常运行。

firebase_options.dart文件仍然作为 FlutterFire CLI 的一部分编写,因为它对于初始化 Web 应用程序很有用。

您会注意到,在最新、稳定版本的 FlutterFire CLI 上GoogleService-Info.plist运行时仍然会写入。flutterfire configure它在构建时与您的应用程序捆绑在一起,并由 Firebase 使用来初始化您的应用程序。