Облачное хранилище для Firebase позволяет загружать и публиковать пользовательский контент, например изображения и видео, что позволяет встраивать мультимедийный контент в ваши приложения. Ваши данные хранятся в корзине Google Cloud Storage — решении для хранения объектов эксабайтного масштаба с высокой доступностью и глобальной избыточностью. Облачное хранилище для Firebase позволяет безопасно загружать эти файлы непосредственно с мобильных устройств и веб-браузеров, с легкостью обрабатывая нестабильные сети.
Прежде чем начать
Если вы еще этого не сделали, убедитесь, что вы прочитали руководство по началу работы с приложениями Flutter . Это включает в себя:
Создание проекта Firebase.
Установка и инициализация Firebase SDK для Flutter.
Убедитесь, что ваш проект Firebase включен в тарифный план Blaze с оплатой по факту использования . Если вы новичок в Firebase и Google Cloud, проверьте, имеете ли вы право на получение кредита в размере 300 долларов США .
Создайте сегмент Cloud Storage по умолчанию.
На панели навигации консоли Firebase выберите Storage . Если ваш проект еще не включен в тарифный план Blaze с оплатой по мере использования, вам будет предложено обновить проект. Нажмите « Начать» . Выберите местоположение для корзины по умолчанию. Ведра в US-CENTRAL1
,US-EAST1
иUS-WEST1
может воспользоваться уровнем «Всегда бесплатно» для Google Cloud Storage . Во всех остальных местах сегменты соответствуют ценам и использованию Google Cloud Storage .При желании позже вы сможете создать несколько сегментов , каждый из которых будет иметь свое собственное местоположение.
Настройте Firebase Security Rules для корзины по умолчанию. Во время разработки рассмотрите возможность настройки правил публичного доступа . Нажмите Готово .
PROJECT_ID .firebasestorage.app
.
Настройте общий доступ
Добавьте SDK Cloud Storage в свое приложение
Из корня вашего проекта Flutter выполните следующую команду, чтобы установить плагин: flutter pub add firebase_storage
После завершения перестройте приложение Flutter: flutter run
Импортируйте плагин в свой код Dart: import 'package:firebase_storage/firebase_storage.dart';
Настройте облачное хранилище
Запустите flutterfire configure
из каталога проекта Flutter. Это обновит файл конфигурации Firebase (firebase_options.dart
) в кодовой базе вашего приложения, чтобы он имел имя вашего сегмента Cloud Storage по умолчанию.Получите доступ к своему сегменту Cloud Storage, создав экземпляр FirebaseStorage
:final storage = FirebaseStorage.instance; // Alternatively, explicitly specify the bucket name URL. // final storage = FirebaseStorage.instanceFor(bucket: "gs://<var>BUCKET_NAME</var>");
Расширенная настройка
Использование сегментов Cloud Storage в нескольких географических регионах Использование сегментов Cloud Storage в разных классах хранилища Использование сегментов Cloud Storage с несколькими аутентифицированными пользователями в одном приложении.
Используйте несколько сегментов Cloud Storage
FirebaseStorage
, который ссылается на ваш собственный сегмент:
// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "gs://my-custom-bucket");
Работа с импортированными сегментами
При импорте существующего сегмента Cloud Storage в Firebase вам необходимо предоставить Firebase возможность доступа к этим файлам с помощью инструмента gsutil
, включенного в Google Cloud SDK :
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://YOUR-CLOUD-STORAGE-BUCKET
Вы можете найти номер своего проекта, как описано во введении к проектам Firebase .
Это не влияет на вновь созданные сегменты, поскольку в них по умолчанию установлен контроль доступа, разрешающий использование Firebase. Это временная мера, и в будущем она будет выполняться автоматически.
Используйте собственное приложение Firebase
Если вы создаете более сложное приложение с использованием собственного FirebaseApp
, вы можете создать экземпляр FirebaseStorage
, инициализированный с помощью этого приложения:
// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);
Следующие шаги
- Подготовьтесь к запуску приложения:
- Включите проверку приложений , чтобы гарантировать, что только ваши приложения смогут получить доступ к вашим сегментам хранилища.
- Настройте оповещения о бюджете для своего проекта в Google Cloud Console.
- Отслеживайте панель «Использование и выставление счетов» в консоли Firebase, чтобы получить общую картину использования вашего проекта в нескольких сервисах Firebase. Вы также можете посетить панель мониторинга использования облачного хранилища для получения более подробной информации об использовании.
- Ознакомьтесь с контрольным списком запуска Firebase .