Cloud Storage for Firebase позволяет загружать и делиться пользовательским контентом, таким как изображения и видео, что позволяет встраивать мультимедийный контент в ваши приложения. Ваши данные хранятся в контейнере Google Cloud Storage — решении для хранения объектов эксабайтного масштаба с высокой доступностью и глобальной избыточностью. Cloud Storage for Firebase позволяет безопасно загружать эти файлы непосредственно с мобильных устройств и веб-браузеров, легко справляясь с нестабильной работой сетей.
Прежде чем начать
Если вы ещё этого не сделали, обязательно ознакомьтесь с руководством по началу работы с приложениями для платформ Apple . Оно включает в себя:
Создание проекта Firebase.
Регистрация вашего приложения для платформы Apple в проекте и подключение вашего приложения к Firebase путем добавления библиотеки Firebase и файла конфигурации Firebase (
GoogleService-Info.plist) в ваше приложение.
Убедитесь, что ваш проект Firebase работает по тарифному плану Blaze с оплатой по мере использования . Это требование действует с октября 2024 года (см. раздел «Часто задаваемые вопросы »). Если вы новичок в Firebase и Google Cloud, проверьте, можете ли вы получить кредит в размере 300 долларов США .
Создайте контейнер Cloud Storage по умолчанию
На панели навигации консоли Firebase выберите Хранилище .
Если ваш проект еще не включен в тарифный план Blaze с оплатой по факту использования, вам будет предложено обновить его.
Нажмите « Начать» .
Выберите местоположение для контейнера по умолчанию.
Ведра в
US-CENTRAL1,US-EAST1иUS-WEST1может воспользоваться тарифом «Всегда бесплатно» для Google Cloud Storage . Для сегментов во всех остальных локациях действуют тарифы и условия использования Google Cloud Storage .При желании вы можете позже создать несколько контейнеров , каждый из которых будет иметь свое собственное местоположение.
Настройте Firebase Security Rules для контейнера по умолчанию. В процессе разработки рассмотрите возможность настройки правил для публичного доступа . Нажмите Готово .
PROJECT_ID .firebasestorage.app .
Настроить публичный доступ
Добавьте Cloud Storage в свое приложение
В Xcode откройте проект приложения и перейдите в Файл > Добавить пакеты . При появлении запроса добавьте репозиторий Firebase Apple Platforms SDK: - Выберите библиотеку Cloud Storage .
- Добавьте флаг
-ObjCв раздел «Другие флаги компоновщика» настроек сборки вашей целевой системы. - После завершения Xcode автоматически начнет разрешать и загружать ваши зависимости в фоновом режиме.
https://github.com/firebase/firebase-ios-sdk.git
Настройте Cloud Storage в своем приложении
Инициализируйте Firebase перед созданием или использованием любой ссылки Firebase. Возможно, вы уже сделали это, если уже настроили другой продукт Firebase, но вам нужно обязательно добавить библиотеку FirebaseStorageв список импорта.Импортируйте модули FirebaseCoreиFirebaseStorageвUIApplicationDelegate. Мы также рекомендуем добавитьFirebaseAuth.SwiftUI import SwiftUI import FirebaseCore import FirebaseStorage import FirebaseAuth // ...Быстрый import FirebaseCore import FirebaseStorage import FirebaseAuth // ...Objective-C @import FirebaseCore; @import FirebaseStorage; @import FirebaseAuth; // ...Настройте общий экземпляр FirebaseAppв методеapplication(_:didFinishLaunchingWithOptions:)делегата вашего приложения:SwiftUI // Use Firebase library to configure APIs FirebaseApp.configure()Быстрый // Use Firebase library to configure APIs FirebaseApp.configure()Objective-C // Use Firebase library to configure APIs [FIRApp configure];(Только SwiftUI) Создайте делегат приложения и присоедините его к структуре Appс помощьюUIApplicationDelegateAdaptorилиNSApplicationDelegateAdaptor. Также необходимо отключить подмену делегата приложения. Подробнее см. в инструкциях SwiftUI .SwiftUI @main struct YourApp: App { // Register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
Получите ссылку на службу Cloud Storage , используя приложение Firebase по умолчанию. Убедитесь, что файл конфигурации Firebase ( GoogleService-Info.plist) в кодовой базе вашего приложения обновлен с использованием имени вашего контейнера Cloud Storage по умолчанию.Используйте этот скачанный файл конфигурации для замены существующего файла GoogleService-Info.plistв корневом каталоге вашего проекта Xcode. При появлении запроса выберите добавление файла конфигурации во все целевые объекты.Убедитесь, что в вашем приложении есть только последний загруженный файл конфигурации и что к имени файла не добавлены дополнительные символы, например (2).
Получите ссылку на службу Cloud Storage , используя приложение Firebase по умолчанию: Быстрый let storage = Storage.storage()
// Alternatively, explicitly specify the bucket name URL. storage = Storage.storage(url:"gs://BUCKET_NAME")
Objective-C FIRStorage *storage = [FIRStorage storage];
// Alternatively, explicitly specify the bucket name URL. // FIRStorage storage = [FIRStorage storageWithURL:@"gs://BUCKET_NAME"];
Расширенная настройка
Использование контейнеров Cloud Storage в нескольких географических регионах Использование контейнеров Cloud Storage в разных классах хранения Использование контейнеров Cloud Storage с несколькими аутентифицированными пользователями в одном приложении
Используйте несколько контейнеров Cloud Storage
FIRStorage , который ссылается на ваш пользовательский контейнер:
Быстрый
// Get a non-default Cloud Storage bucket storage = Storage.storage(url:"gs://my-custom-bucket")
Objective-C
// Get a non-default Cloud Storage bucket FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
Работа с импортными ведрами
gsutil , входящего в состав Google Cloud SDK :
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
Номер вашего проекта можно найти, как описано во введении к проектам Firebase .
Это не повлияет на вновь созданные контейнеры, так как для них по умолчанию настроен контроль доступа, разрешающий Firebase. Это временная мера, которая будет применяться автоматически в будущем.
Используйте пользовательское приложение Firebase
Если вы создаете более сложное приложение с использованием пользовательского FirebaseApp , вы можете создать экземпляр Storage , инициализированный этим приложением:
Быстрый
// Get the default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp) // Get a non-default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
Objective-C
// Get the default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp]; // Get a non-default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
Следующие шаги
Подготовьтесь к запуску вашего приложения:
Включите App Check , чтобы гарантировать, что только ваши приложения смогут получить доступ к вашим хранилищам.
Настройте оповещения о бюджете для вашего проекта в консоли Google Cloud .
Отслеживайте панель управления «Использование и выставление счетов» в консоли Firebase , чтобы получить общую картину использования ресурсов вашего проекта в различных сервисах Firebase. Вы также можете посетить панель управления « Использование Cloud Storage для получения более подробной информации об использовании.
Ознакомьтесь с контрольным списком запуска Firebase .