Требования
- Установите
firebase_coreи добавьте код инициализации в приложение, если вы ещё этого не сделали. - Добавьте приложение в проект Firebase в консоли Firebase.
Создание базы данных
В консоли Firebase выберите Databases & Storage (Базы данных и хранилище) > Realtime Database (База данных в реальном времени).
Нажмите Создать базу данных.
Выберите начальный режим для устройства "Firebase Security Rules":
Тестовый режим
Они подходят для начала работы с клиентскими библиотеками для мобильных устройств и веб-страниц, но позволяют любому пользователю читать и перезаписывать ваши данные. После тестирования обязательно ознакомьтесь с разделом Правила Firebase Realtime Database.
Чтобы начать, выберите тестовый режим.
Режим блокировки
Запрещает все операции чтения и записи для мобильных и веб-клиентов. Ваши аутентифицированные серверы приложений по-прежнему могут получать доступ к базе данных.
Выберите регион для базы данных. В зависимости от выбранного региона пространство имен базы данных будет иметь вид
<databaseName>.firebaseio.comили<databaseName>.<region>.firebasedatabase.app. Подробнее о том, как выбрать местоположения для проекта…Нажмите Готово.
При включении Realtime Database также включается API в Cloud API Manager.
Как добавить Firebase Realtime Database в приложение
Чтобы установить плагин, выполните следующую команду в корневом каталоге проекта Flutter:
flutter pub add firebase_databaseПосле этого пересоберите приложение Flutter:
flutter run
Настройте правила базы данных
В Realtime Database используется декларативный язык правил, который позволяет определить, как должны быть структурированы и проиндексированы данные, а также когда их можно считывать и записывать.
Инициализируйте пакет Firebase Realtime Database
Чтобы начать использовать пакет Realtime Database в проекте, импортируйте его в начале файлов проекта:
import 'package:firebase_database/firebase_database.dart';
Чтобы использовать экземпляр базы данных по умолчанию, вызовите метод получения instance для FirebaseDatabase:
FirebaseDatabase database = FirebaseDatabase.instance;
Если вы хотите использовать его с дополнительным приложением Firebase, используйте статический метод instanceFor:
FirebaseApp secondaryApp = Firebase.app('SecondaryApp');
FirebaseDatabase database = FirebaseDatabase.instanceFor(app: secondaryApp);
Если вы хотите использовать другой экземпляр RTDB в том же проекте, вы можете передать databaseUrl с помощью статического метода instanceFor:
final firebaseApp = Firebase.app();
final rtdb = FirebaseDatabase.instanceFor(app: firebaseApp, databaseURL: 'https://your-realtime-database-url.firebaseio.com/');