Dodawanie Firebase do aplikacji we Flutterze
Wymagania wstępne
Zainstaluj preferowany edytor lub IDE.
Zainstaluj Fluttera w systemie operacyjnym, w tym:
- Flutter SDK
- Biblioteki pomocnicze
- Oprogramowanie i pakiety SDK na poszczególne platformy
Zaloguj się w Firebase, używając konta Google.
Jeśli nie masz jeszcze aplikacji Flutter, możesz wykonać czynności opisane w tym artykule, aby utworzyć nową aplikację Flutter w wybranym edytorze lub środowisku IDE.
Krok 1. Zainstaluj wymagane narzędzia wiersza poleceń.
Jeśli jeszcze tego nie zrobisz, zainstaluj interfejs wiersza poleceń Firebase.
Zaloguj się w Firebase za pomocą konta Google, uruchamiając to polecenie:
firebase loginZainstaluj interfejs wiersza poleceń FlutterFire, uruchamiając to polecenie w dowolnym katalogu:
dart pub global activate flutterfire_cli
Krok 2. Skonfiguruj aplikacje pod kątem używania Firebase
Użyj interfejsu wiersza poleceń FlutterFire, aby skonfigurować aplikacje Flutter pod kątem łączenia się z Firebase.
W katalogu projektu Flutter uruchom to polecenie, aby rozpocząć proces konfigurowania aplikacji:
flutterfire configure
Krok 3. Zainicjuj Firebase w aplikacji
W katalogu projektu Flutter uruchom to polecenie, aby zainstalować wtyczkę podstawową:
flutter pub add firebase_coreW katalogu projektu Flutter uruchom to polecenie, aby upewnić się, że konfiguracja Firebase w aplikacji Flutter jest aktualna:
flutterfire configureW pliku
lib/main.dartzaimportuj podstawową wtyczkę Firebase i wygenerowany wcześniej plik konfiguracyjny:import 'package:firebase_core/firebase_core.dart'; import 'firebase_options.dart';W pliku
lib/main.dartzainicjuj Firebase za pomocą obiektuDefaultFirebaseOptionswyeksportowanego przez plik konfiguracji:WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); runApp(const MyApp());Przebuduj aplikację Flutter:
flutter run
Jeśli wolisz użyć projektu demonstracyjnego, możesz uruchomić emulator Firebase i w pliku lib/main.dart zainicjować Firebase za pomocą demoProjectId (powinien zaczynać się od demo-):
await Firebase.initializeApp(
demoProjectId: "demo-project-id",
);
Krok 4. Dodaj wtyczki Firebase
Dostęp do Firebase w aplikacji Flutter uzyskujesz za pomocą różnych wtyczek Firebase Flutter, po jednej dla każdego produktu Firebase (np. Cloud Firestore, Authentication, Analytics itp.).
Flutter to platforma wieloplatformowa, więc każdy wtyczka Firebase ma zastosowanie na platformach Apple, Android i w internecie. Jeśli więc dodasz do aplikacji Flutter dowolną wtyczkę Firebase, będzie ona używana w wersjach aplikacji na Apple, Androida i w internecie.
Aby dodać wtyczkę Firebase Flutter:
W katalogu projektu Flutter uruchom to polecenie:
flutter pub add PLUGIN_NAME
W katalogu projektu Flutter uruchom to polecenie:
flutterfire configureUruchomienie tego polecenia zapewnia, że konfiguracja Firebase w aplikacji Flutter jest aktualna, a w przypadku Crashlytics i Performance Monitoring na Androidzie dodaje do aplikacji wymagane wtyczki Gradle.
Po zakończeniu ponownie skompiluj projekt Flutter:
flutter run
To już wszystko Twoje aplikacje Flutter są zarejestrowane i skonfigurowane do korzystania z Firebase.
Dostępne wtyczki
| Produkt | Nazwa wtyczki | iOS | Android | Sieć | Inne urządzenia Apple (macOS itp.) |
Windows |
|---|---|---|---|---|---|---|
| Firebase AI Logic 1 | firebase_ai |
beta | ||||
| Analytics | firebase_analytics |
beta | ||||
| App Check | firebase_app_check |
beta | ||||
| Authentication | firebase_auth |
beta | beta | |||
| Cloud Firestore | cloud_firestore |
beta | beta | |||
| Cloud Functions | cloud_functions |
beta | ||||
| Cloud Messaging | firebase_messaging |
beta | ||||
| Cloud Storage | firebase_storage |
beta | beta | |||
| Crashlytics | firebase_crashlytics |
beta | ||||
| Data Connect | firebase_data_connect |
|||||
| Dynamic Links | firebase_dynamic_links |
|||||
| In-App Messaging | firebase_in_app_messaging |
|||||
| Firebase instalacje | firebase_app_installations |
beta | ||||
| Narzędzie do pobierania modeli ML | firebase_ml_model_downloader |
beta | ||||
| Performance Monitoring | firebase_performance |
|||||
| Realtime Database | firebase_database |
beta | ||||
| Remote Config | firebase_remote_config |
beta |
1 Firebase AI Logic nazywała się wcześniej
„Vertex AI in Firebase” z wtyczką
firebase_vertexai.
Wypróbuj przykładową aplikację z Analytics
Podobnie jak wszystkie pakiety, wtyczka firebase_analytics zawiera przykładowy program.
Otwórz aplikację Flutter, którą masz już skonfigurowaną do korzystania z Firebase (instrukcje znajdziesz na tej stronie).
Otwórz katalog
libaplikacji, a następnie usuń istniejący plikmain.dart.Z Google Analytics repozytorium przykładowego programu skopiuj i wklej te 2 pliki do katalogu
libaplikacji:main.darttabs_page.dart
Uruchom aplikację we Flutterze.
W Firebasekonsoli otwórz projekt Firebase swojej aplikacji, a potem w menu po lewej stronie kliknij Analytics.
Więcej informacji o konfigurowaniu Analytics znajdziesz w przewodnikach dla początkujących dotyczących iOS, Androida i internetu.
Uwagi dotyczące tworzenia aplikacji internetowych
Obsługa zaufanych typów
Pakiet Firebase SDK na platformę Flutter obsługuje używanie dyrektywy Trusted Types, która pomaga zapobiegać atakom XSS opartym na DOM (po stronie klienta). Gdy włączysz egzekwowanie zaufanych typów w swojej aplikacji, pakiet SDK Firebase wstrzyknie swoje skrypty do DOM za pomocą niestandardowych zasad zaufanych typów o nazwach flutterfire-firebase_core, flutterfire-firebase_auth itd.
Wyłącz automatyczne wstrzykiwanie pakietu Firebase JavaScript SDK
Domyślnie pakiet Firebase Flutter SDK automatycznie wstrzykuje pakiet Firebase JavaScript SDK podczas kompilowania na potrzeby internetu. Jeśli nie chcesz, aby pakiet Firebase JavaScript SDK był wstrzykiwany automatycznie, możesz wykonać te czynności:
Zignoruj skrypt automatycznego wstrzykiwania, dodając tę właściwość w tagu
<script>w plikuweb/index.htmlw projekcie Flutter:<!-- Add this property inside a <script> tag within your "web/index.html" file in your Flutter project --> <!-- Put in the names of all the plugins you wish to ignore: --> window.flutterfire_ignore_scripts = ['analytics', 'firestore'];Załaduj skrypt ręcznie, korzystając z jednej z tych alternatyw:
Dodaj pakiet SDK do pliku
web/index.htmlw wywołaniu zwrotnymwindow.addEventListener:window.addEventListener('load', async function (ev) { window.firebase_firestore = await import("https://www.gstatic.com/firebasejs/12.7.0/firebase-firestore.js"); window.firebase_analytics = await import("https://www.gstatic.com/firebasejs/12.7.0/firebase-analytics.js"); _flutter.loader.loadEntrypoint().then(function (engineInitializer) { // rest of the codeMożesz też pobrać kod pakietu Firebase JavaScript SDK wtyczki z domeny „gstatic” i zapisać go w pliku JavaScript, który będzie przechowywany w projekcie i wczytywany ręcznie:
// "web/my-analytics.js" & "web/my-firestore.js" file loaded as a script into your "web/index.html" file: window.addEventListener('load', async function (ev) { window.firebase_analytics = await import("./my-analytics.js"); window.firebase_firestore = await import("./my-firestore.js"); _flutter.loader.loadEntrypoint().then(function (engineInitializer) { // rest of the code
Dalsze kroki
Wypróbuj w praktyce ćwiczenia z programowania Firebase Flutter.
Przygotuj się do uruchomienia aplikacji:
- Skonfiguruj alerty budżetowe w projekcie w konsoli Google Cloud.
- Monitoruj panel Wykorzystanie i rozliczenia w Firebase konsoli, aby uzyskać ogólny obraz wykorzystania usług Firebase w projekcie.
- Zapoznaj się z listą kontrolną dotyczącą uruchamiania Firebase.