以前我在嘗試從我以前的 Flutter 專案中復制代碼時收到此No Firebase App '[DEFAULT]' has created錯誤,這需要我之前匯入firebase_core和運行。Firebase.initializeApp()runApp()
不幸的是,在嘗試正確遵循https://pub.dev/packages/firebase_core此處的安裝說明時出現以下錯誤,這是由于這兩行上無法決議的參考引起的
import 'package:firebase_core_example/firebase_config.dart'
FirebaseApp app = await Firebase.initializeApp(options : DefaultFirebaseConfig.platformOptions)
所以我想知道那個firebase_core_example和它的類實際上是從哪里來的,因為我在pub.devDefaultFirebaseConfig中找不到任何地方。當然應該允許默認設定,因為所有必需的資訊都已包含在檔案中。我認為我不需要在 Dart 檔案中再次對其進行硬編碼。android/app/google-services.json
uj5u.com熱心網友回復:
這DefaultFirebaseConfig是一個自定義類,它包含FirebaseOptions每個平臺的:
import 'dart:io';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/foundation.dart';
class DefaultFirebaseConfig {
static FirebaseOptions get platformOptions {
if (kIsWeb) {
// Web
return const FirebaseOptions(
appId: '1:448618578101:web:0b650370bb29e29cac3efc',
apiKey: 'AIzaSyAgUhHU8wSJgO5MVNy95tMT07NEjzMOfz0',
projectId: 'react-native-firebase-testing',
messagingSenderId: '448618578101',
);
} else if (Platform.isIOS || Platform.isMacOS) {
// iOS and MacOS
return const FirebaseOptions(
appId: '1:448618578101:ios:0b650370bb29e29cac3efc',
apiKey: 'AIzaSyAgUhHU8wSJgO5MVNy95tMT07NEjzMOfz0',
projectId: 'react-native-firebase-testing',
messagingSenderId: '448618578101',
iosBundleId: 'io.flutter.plugins.firebasecoreexample',
);
} else {
// Android
return const FirebaseOptions(
appId: '1:448618578101:android:0446912d5f1476b6ac3efc',
apiKey: 'AIzaSyCuu4tbv9CwwTudNOweMNstzZHIDBhgJxA',
projectId: 'react-native-firebase-testing',
messagingSenderId: '448618578101',
);
}
}
}
如果您只針對 Android 平臺并添加了google-services.json檔案,那么您可以這樣做:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
沒有提供FirebaseOptions論據。
uj5u.com熱心網友回復:
彼得哈達德的回答應該有效,但不幸的是,在我的情況下,它產生了這個運行時錯誤,我仍然不知道為什么。
未處理的例外:[core/not-initialized] Firebase 未正確初始化。通常這意味著您在呼叫之前嘗試使用 Firebase 服務
Firebase.initializeApp。查看檔案以獲取更多資訊: https ://firebase.flutter.dev/docs/overview#initialization
所以我只是按照鏈接繼續安裝 Firebase 和 FlutterFire 的 CLI。flutterfire configure生成firebase_options.dart的檔案內容與上述答案類似,但class.method名稱更改為DefaultFirebaseOptions.currentPlatform
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431299.html
