Предварительные требования
Установите предпочитаемый вами редактор или IDE .
Установите Flutter для вашей операционной системы, включая следующие компоненты:
- Flutter SDK
- Библиотеки-партнеры
- Программное обеспечение и SDK, специфичные для конкретной платформы
Предварительные требования, специфичные для платформы:
Яблоко
Для запуска приложения используйте физическое устройство Apple или симулятор.
Убедитесь, что ваше Flutter-приложение ориентировано на следующие версии платформы или более поздние:
- iOS 15
- macOS 10.15
Для использования Cloud Messaging на платформах Apple необходимы следующие условия:
- Настройте физическое устройство Apple .
- Получите ключ аутентификации для push-уведомлений Apple для вашей учетной записи разработчика Apple .
- Включите push-уведомления в Xcode в разделе App > Capabilities .
Android
Настройте устройство или эмулятор для запуска вашего приложения. Эмуляторы должны использовать образ эмулятора с Google Play .
Убедитесь, что ваше приложение соответствует следующим требованиям:
- Для работы требуется API уровня 23 (Marshmallow) или выше.
- Использует Android 6.0 или выше.
Веб
Нет никаких специфических требований к платформе.
Если у вас еще нет приложения Flutter, вы можете пройти этап «Начало работы: Тестовая версия» , чтобы создать новое приложение Flutter, используя предпочитаемый вами редактор или IDE.
Шаг 1 : Установите необходимые инструменты командной строки.
Если вы еще этого не сделали, установите Firebase CLI .
Войдите в Firebase, используя свою учетную запись Google, выполнив следующую команду:
firebase loginУстановите FlutterFire CLI, выполнив следующую команду из любой директории:
dart pub global activate flutterfire_cli
Шаг 2 : Настройте свои приложения для использования Firebase.
Используйте FlutterFire CLI для настройки ваших Flutter-приложений для подключения к Firebase.
Чтобы запустить процесс настройки приложения, выполните следующую команду из каталога вашего проекта Flutter:
flutterfire configure
В процессе
flutterfire configureвыполняются следующие действия:
Вам будет предложено выбрать поддерживаемые вашей Flutter-приложением платформы (iOS, Android, Web). Для каждой выбранной платформы FlutterFire CLI создаст новое приложение Firebase в вашем проекте Firebase.
Вы можете выбрать либо использование существующего проекта Firebase, либо создание нового проекта Firebase. Если у вас уже есть приложения, зарегистрированные в существующем проекте Firebase, FlutterFire CLI попытается сопоставить их на основе текущей конфигурации вашего проекта Flutter.
Создает конфигурационный файл Firebase (
firebase_options.dart) и добавляет его в каталогlib/.(для Crashlytics или Performance Monitoring на Android) Добавляет необходимые плагины Gradle, специфичные для вашего приложения Flutter.
Шаг 3 : Инициализируйте Firebase в вашем приложении.
Для установки основного плагина выполните следующую команду в каталоге вашего проекта Flutter:
flutter pub add firebase_coreЧтобы убедиться в актуальности конфигурации Firebase в вашем Flutter-приложении, выполните следующую команду в каталоге вашего проекта Flutter:
flutterfire configureВ файле
lib/main.dartимпортируйте основной плагин Firebase и сгенерированный ранее конфигурационный файл:import 'package:firebase_core/firebase_core.dart'; import 'firebase_options.dart';Также в файле
lib/main.dartинициализируйте Firebase, используя объектDefaultFirebaseOptions, экспортируемый из файла конфигурации:WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); runApp(const MyApp());Пересоберите ваше Flutter-приложение:
flutter run
Если вы предпочитаете использовать демонстрационный проект, вы можете запустить эмулятор Firebase и в файле lib/main.dart инициализировать Firebase, используя demoProjectId (он должен начинаться с demo- ):
await Firebase.initializeApp(
demoProjectId: "demo-project-id",
);
Шаг 4 : Добавьте плагины Firebase
Доступ к Firebase в вашем Flutter-приложении осуществляется через различные плагины Firebase Flutter , по одному для каждого продукта Firebase (например: Cloud Firestore , Authentication , Analytics и т. д.).
Поскольку Flutter — это многоплатформенный фреймворк, каждый плагин Firebase применим для платформ Apple, Android и веб-версий. Таким образом, если вы добавите любой плагин Firebase в свое приложение Flutter, он будет использоваться версиями вашего приложения для Apple, Android и веб-версиями.
Вот как добавить плагин Firebase Flutter:
В каталоге вашего проекта Flutter выполните следующую команду:
flutter pub add PLUGIN_NAME
В каталоге вашего проекта Flutter выполните следующую команду:
flutterfire configureВыполнение этой команды гарантирует актуальность конфигурации Firebase в вашем Flutter-приложении и, для Crashlytics и Performance Monitoring на Android, добавляет необходимые плагины Gradle в ваше приложение.
После завершения пересоберите свой проект Flutter:
flutter run
Всё готово! Ваши Flutter-приложения зарегистрированы и настроены для использования Firebase.
Поддержка доверенных типов
SDK Firebase для Flutter поддерживает использование доверенных типов (Trusted Types) для предотвращения XSS-атак на стороне клиента (DOM-аутентификации). При включении проверки доверенных типов для вашего приложения SDK Firebase внедряет свои скрипты в DOM, используя пользовательские политики доверенных типов, называемые flutterfire-firebase_core , flutterfire-firebase_auth и т. д.
Отключить автоматическое внедрение JavaScript SDK Firebase
По умолчанию Firebase Flutter SDK автоматически внедряет Firebase JavaScript SDK при сборке веб-приложений. Если вы не хотите, чтобы Firebase JavaScript SDK внедрялся автоматически, вы можете сделать следующее:
Чтобы игнорировать скрипт автоматической инъекции, добавьте следующее свойство внутри тега
<script>в файлеweb/index.htmlвашего проекта 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'];Загрузите скрипт вручную, используя один из следующих вариантов:
Вариант 1 : Добавьте SDK непосредственно в файл
web/index.html, внутри функции обратного вызоваwindow.addEventListener:window.addEventListener('load', async function (ev) { window.firebase_firestore = await import("https://www.gstatic.com/firebasejs/12.13.0/firebase-firestore.js"); window.firebase_analytics = await import("https://www.gstatic.com/firebasejs/12.13.0/firebase-analytics.js"); _flutter.loader.loadEntrypoint().then(function (engineInitializer) { // rest of the codeВариант 2 : Загрузите код Firebase JavaScript SDK для плагина с домена
gstaticи сохраните его в файл JavaScript, который будет храниться в вашем проекте и загружаться вручную:// "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
Доступные плагины
| Продукт | Название плагина | iOS | Android | Веб | Другие яблоки (macOS и т. д.) | Windows |
|---|---|---|---|---|---|---|
| Firebase AI Logic 1 | firebase_ai | бета | ||||
| Analytics | firebase_analytics | бета | ||||
| App Check | firebase_app_check | бета | ||||
| Authentication | firebase_auth | бета | бета | |||
| Cloud Firestore | cloud_firestore | бета | бета | |||
| Cloud Functions | cloud_functions | бета | ||||
| Cloud Messaging | firebase_messaging | бета | ||||
| Cloud Storage | firebase_storage | бета | бета | |||
| Crashlytics | firebase_crashlytics | бета | ||||
| SQL Connect 2 | firebase_data_connect | |||||
| Dynamic Links | firebase_dynamic_links | |||||
| In-App Messaging | firebase_in_app_messaging | |||||
| Установка Firebase | firebase_app_installations | бета | ||||
| Программа для загрузки моделей машинного обучения | firebase_ml_model_downloader | бета | ||||
| Performance Monitoring | firebase_performance | |||||
| Realtime Database | firebase_database | бета | ||||
| Remote Config | firebase_remote_config | бета |
1. Ранее Firebase AI Logic назывался " Vertex AI in Firebase " и имел плагин firebase_vertexai .
2. Ранее Firebase SQL Connect назывался " Firebase Data Connect ".
Следующие шаги
Получите практический опыт с помощью Firebase Flutter Codelab .
Подготовьтесь к запуску вашего приложения:
- Настройте оповещения о бюджете для вашего проекта в консоли Google Cloud .
- Отслеживайте использование и выставление счетов на панели мониторинга в консоли Firebase , чтобы получить общее представление об использовании вашего проекта в различных сервисах Firebase.
- Ознакомьтесь с контрольным списком запуска Firebase .